@rocicorp/zero 1.6.0-canary.1 → 1.6.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 (1772) hide show
  1. package/README.md +28 -3
  2. package/out/_virtual/_@oxc-project_runtime@0.130.0/helpers/usingCtx.js +57 -0
  3. package/out/_virtual/__vite-optional-peer-dep_pg-native_pg.js +13 -0
  4. package/out/_virtual/__vite-optional-peer-dep_pg-native_pg.js.map +1 -0
  5. package/out/_virtual/_rolldown/runtime.js +12 -1
  6. package/out/node_modules/.pnpm/@opentelemetry_semantic-conventions@1.41.1/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js +12 -0
  7. package/out/node_modules/.pnpm/@opentelemetry_semantic-conventions@1.41.1/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js.map +1 -0
  8. package/out/node_modules/.pnpm/pg-cloudflare@1.3.0/node_modules/pg-cloudflare/dist/empty.js +11 -0
  9. package/out/node_modules/.pnpm/pg-cloudflare@1.3.0/node_modules/pg-cloudflare/dist/empty.js.map +1 -0
  10. package/out/node_modules/.pnpm/pg-connection-string@2.12.0/node_modules/pg-connection-string/index.js +130 -0
  11. package/out/node_modules/.pnpm/pg-connection-string@2.12.0/node_modules/pg-connection-string/index.js.map +1 -0
  12. package/out/node_modules/.pnpm/pg-int8@1.0.1/node_modules/pg-int8/index.js +62 -0
  13. package/out/node_modules/.pnpm/pg-int8@1.0.1/node_modules/pg-int8/index.js.map +1 -0
  14. package/out/node_modules/.pnpm/pg-pool@3.13.0_pg@8.20.0/node_modules/pg-pool/index.js +353 -0
  15. package/out/node_modules/.pnpm/pg-pool@3.13.0_pg@8.20.0/node_modules/pg-pool/index.js.map +1 -0
  16. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/buffer-reader.js +60 -0
  17. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/buffer-reader.js.map +1 -0
  18. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/buffer-writer.js +81 -0
  19. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/buffer-writer.js.map +1 -0
  20. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.js +35 -0
  21. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.js.map +1 -0
  22. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.js +167 -0
  23. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.js.map +1 -0
  24. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.js +288 -0
  25. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.js.map +1 -0
  26. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.js +177 -0
  27. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.js.map +1 -0
  28. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.js +46 -0
  29. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.js.map +1 -0
  30. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/arrayParser.js +16 -0
  31. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/arrayParser.js.map +1 -0
  32. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/binaryParsers.js +165 -0
  33. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/binaryParsers.js.map +1 -0
  34. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/builtins.js +81 -0
  35. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/builtins.js.map +1 -0
  36. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/textParsers.js +167 -0
  37. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/textParsers.js.map +1 -0
  38. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/esm/index.js +19 -0
  39. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/esm/index.js.map +1 -0
  40. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/client.js +508 -0
  41. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/client.js.map +1 -0
  42. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/connection-parameters.js +104 -0
  43. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/connection-parameters.js.map +1 -0
  44. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/connection.js +160 -0
  45. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/connection.js.map +1 -0
  46. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/cert-signatures.js +97 -0
  47. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/cert-signatures.js.map +1 -0
  48. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/sasl.js +131 -0
  49. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/sasl.js.map +1 -0
  50. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils-legacy.js +39 -0
  51. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils-legacy.js.map +1 -0
  52. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils-webcrypto.js +89 -0
  53. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils-webcrypto.js.map +1 -0
  54. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils.js +13 -0
  55. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils.js.map +1 -0
  56. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/defaults.js +46 -0
  57. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/defaults.js.map +1 -0
  58. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/index.js +71 -0
  59. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/index.js.map +1 -0
  60. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/client.js +226 -0
  61. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/client.js.map +1 -0
  62. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/index.js +11 -0
  63. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/index.js.map +1 -0
  64. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/query.js +117 -0
  65. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/query.js.map +1 -0
  66. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/query.js +151 -0
  67. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/query.js.map +1 -0
  68. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/result.js +76 -0
  69. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/result.js.map +1 -0
  70. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/stream.js +73 -0
  71. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/stream.js.map +1 -0
  72. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/type-overrides.js +35 -0
  73. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/type-overrides.js.map +1 -0
  74. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/utils.js +118 -0
  75. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/utils.js.map +1 -0
  76. package/out/node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/helper.js +147 -0
  77. package/out/node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/helper.js.map +1 -0
  78. package/out/node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/index.js +21 -0
  79. package/out/node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/index.js.map +1 -0
  80. package/out/node_modules/.pnpm/postgres-array@2.0.0/node_modules/postgres-array/index.js +84 -0
  81. package/out/node_modules/.pnpm/postgres-array@2.0.0/node_modules/postgres-array/index.js.map +1 -0
  82. package/out/node_modules/.pnpm/postgres-bytea@1.0.1/node_modules/postgres-bytea/index.js +28 -0
  83. package/out/node_modules/.pnpm/postgres-bytea@1.0.1/node_modules/postgres-bytea/index.js.map +1 -0
  84. package/out/node_modules/.pnpm/postgres-date@1.0.7/node_modules/postgres-date/index.js +65 -0
  85. package/out/node_modules/.pnpm/postgres-date@1.0.7/node_modules/postgres-date/index.js.map +1 -0
  86. package/out/node_modules/.pnpm/postgres-interval@1.2.0/node_modules/postgres-interval/index.js +107 -0
  87. package/out/node_modules/.pnpm/postgres-interval@1.2.0/node_modules/postgres-interval/index.js.map +1 -0
  88. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js +696 -0
  89. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -0
  90. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js +44 -0
  91. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +1 -0
  92. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js +1585 -0
  93. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js.map +1 -0
  94. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js +329 -0
  95. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js.map +1 -0
  96. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js +13 -0
  97. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js.map +1 -0
  98. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js +13 -0
  99. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js.map +1 -0
  100. package/out/node_modules/.pnpm/solid-js@1.9.13/node_modules/solid-js/dist/server.js +131 -0
  101. package/out/node_modules/.pnpm/solid-js@1.9.13/node_modules/solid-js/dist/server.js.map +1 -0
  102. package/out/node_modules/.pnpm/solid-js@1.9.13/node_modules/solid-js/store/dist/server.js +96 -0
  103. package/out/node_modules/.pnpm/solid-js@1.9.13/node_modules/solid-js/store/dist/server.js.map +1 -0
  104. package/out/node_modules/.pnpm/split2@4.2.0/node_modules/split2/index.js +95 -0
  105. package/out/node_modules/.pnpm/split2@4.2.0/node_modules/split2/index.js.map +1 -0
  106. package/out/node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/mutable.js +18 -0
  107. package/out/node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/mutable.js.map +1 -0
  108. package/out/packages/analyze-query/src/analyze-cli.js.map +1 -0
  109. package/out/packages/analyze-query/src/bin-analyze.js +282 -0
  110. package/out/packages/analyze-query/src/bin-analyze.js.map +1 -0
  111. package/out/packages/analyze-query/src/bin-transform.js.map +1 -0
  112. package/out/packages/ast-to-zql/src/ast-to-zql.js.map +1 -0
  113. package/out/packages/ast-to-zql/src/bin.js.map +1 -0
  114. package/out/packages/ast-to-zql/src/format.js.map +1 -0
  115. package/out/packages/datadog/src/datadog-log-sink.js.map +1 -0
  116. package/out/packages/otel/src/enabled.js.map +1 -0
  117. package/out/packages/otel/src/log-options.js.map +1 -0
  118. package/out/packages/otel/src/maybe-time.js.map +1 -0
  119. package/out/packages/otel/src/span.js.map +1 -0
  120. package/out/packages/otel/src/version.js.map +1 -0
  121. package/out/packages/replicache/src/async-iterable-to-array.js.map +1 -0
  122. package/out/packages/replicache/src/bg-interval.js.map +1 -0
  123. package/out/packages/replicache/src/btree/diff.js.map +1 -0
  124. package/out/packages/replicache/src/btree/node.js.map +1 -0
  125. package/out/packages/replicache/src/btree/read.js.map +1 -0
  126. package/out/packages/replicache/src/btree/splice.js.map +1 -0
  127. package/out/packages/replicache/src/btree/write.js +191 -0
  128. package/out/packages/replicache/src/btree/write.js.map +1 -0
  129. package/out/packages/replicache/src/call-default-fetch.js.map +1 -0
  130. package/out/packages/replicache/src/connection-loop-delegates.js.map +1 -0
  131. package/out/packages/replicache/src/connection-loop.js.map +1 -0
  132. package/out/packages/replicache/src/cookies.js.map +1 -0
  133. package/out/packages/replicache/src/dag/chunk.js.map +1 -0
  134. package/out/packages/replicache/src/dag/gc.js.map +1 -0
  135. package/out/packages/replicache/src/dag/key.js.map +1 -0
  136. package/out/packages/replicache/src/dag/lazy-store.js.map +1 -0
  137. package/out/packages/replicache/src/dag/store-impl.js +157 -0
  138. package/out/packages/replicache/src/dag/store-impl.js.map +1 -0
  139. package/out/packages/replicache/src/dag/store.js.map +1 -0
  140. package/out/packages/replicache/src/dag/visitor.js.map +1 -0
  141. package/out/packages/replicache/src/db/commit.js.map +1 -0
  142. package/out/packages/replicache/src/db/index.js.map +1 -0
  143. package/out/packages/replicache/src/db/read.js.map +1 -0
  144. package/out/packages/replicache/src/db/rebase.js.map +1 -0
  145. package/out/packages/replicache/src/db/write.js.map +1 -0
  146. package/out/packages/replicache/src/deleted-clients.js.map +1 -0
  147. package/out/packages/replicache/src/error-responses.js.map +1 -0
  148. package/out/packages/replicache/src/frozen-json.js.map +1 -0
  149. package/out/packages/replicache/src/get-default-puller.js.map +1 -0
  150. package/out/packages/replicache/src/get-default-pusher.js.map +1 -0
  151. package/out/packages/replicache/src/get-kv-store-provider.js.map +1 -0
  152. package/out/packages/replicache/src/hash.js.map +1 -0
  153. package/out/packages/replicache/src/http-request-info.js.map +1 -0
  154. package/out/packages/replicache/src/index-defs.js.map +1 -0
  155. package/out/packages/replicache/src/kv/expo-sqlite/store.js +57 -0
  156. package/out/packages/replicache/src/kv/expo-sqlite/store.js.map +1 -0
  157. package/out/packages/replicache/src/kv/idb-store-with-mem-fallback.js.map +1 -0
  158. package/out/packages/replicache/src/kv/idb-store.js.map +1 -0
  159. package/out/packages/replicache/src/kv/mem-store.js.map +1 -0
  160. package/out/packages/replicache/src/kv/op-sqlite/store.js +63 -0
  161. package/out/packages/replicache/src/kv/op-sqlite/store.js.map +1 -0
  162. package/out/packages/replicache/src/kv/op-sqlite/types.js.map +1 -0
  163. package/out/packages/replicache/src/kv/read-impl.js.map +1 -0
  164. package/out/packages/replicache/src/kv/sqlite-store.js +301 -0
  165. package/out/packages/replicache/src/kv/sqlite-store.js.map +1 -0
  166. package/out/packages/replicache/src/kv/throw-if-closed.js +23 -0
  167. package/out/packages/replicache/src/kv/throw-if-closed.js.map +1 -0
  168. package/out/packages/replicache/src/kv/write-impl-base.js.map +1 -0
  169. package/out/packages/replicache/src/kv/write-impl.js.map +1 -0
  170. package/out/packages/replicache/src/lazy.js.map +1 -0
  171. package/out/packages/replicache/src/log-options.js.map +1 -0
  172. package/out/packages/replicache/src/make-idb-name.js.map +1 -0
  173. package/out/packages/replicache/src/new-client-channel.js.map +1 -0
  174. package/out/packages/replicache/src/on-persist-channel.js.map +1 -0
  175. package/out/packages/replicache/src/patch-operation.js.map +1 -0
  176. package/out/packages/replicache/src/pending-mutations.js.map +1 -0
  177. package/out/packages/replicache/src/persist/client-gc.js.map +1 -0
  178. package/out/packages/replicache/src/persist/client-group-gc.js.map +1 -0
  179. package/out/packages/replicache/src/persist/client-groups.js +150 -0
  180. package/out/packages/replicache/src/persist/client-groups.js.map +1 -0
  181. package/out/packages/replicache/src/persist/clients.js +289 -0
  182. package/out/packages/replicache/src/persist/clients.js.map +1 -0
  183. package/out/packages/replicache/src/persist/collect-idb-databases.js.map +1 -0
  184. package/out/packages/replicache/src/persist/gather-mem-only-visitor.js.map +1 -0
  185. package/out/packages/replicache/src/persist/gather-not-cached-visitor.js.map +1 -0
  186. package/out/packages/replicache/src/persist/heartbeat.js.map +1 -0
  187. package/out/packages/replicache/src/persist/idb-databases-store-db-name.js.map +1 -0
  188. package/out/packages/replicache/src/persist/idb-databases-store.js.map +1 -0
  189. package/out/packages/replicache/src/persist/make-client-id.js.map +1 -0
  190. package/out/packages/replicache/src/persist/persist.js +124 -0
  191. package/out/packages/replicache/src/persist/persist.js.map +1 -0
  192. package/out/packages/replicache/src/persist/refresh.js.map +1 -0
  193. package/out/packages/replicache/src/process-scheduler.js.map +1 -0
  194. package/out/packages/replicache/src/pusher.js.map +1 -0
  195. package/out/packages/replicache/src/replicache-impl.js.map +1 -0
  196. package/out/packages/replicache/src/report-error.js.map +1 -0
  197. package/out/packages/replicache/src/request-idle.js.map +1 -0
  198. package/out/packages/replicache/src/scan-iterator.js.map +1 -0
  199. package/out/packages/replicache/src/scan-options.js.map +1 -0
  200. package/out/packages/replicache/src/set-interval-with-signal.js.map +1 -0
  201. package/out/packages/replicache/src/subscriptions.js.map +1 -0
  202. package/out/packages/replicache/src/sync/diff.js.map +1 -0
  203. package/out/packages/replicache/src/sync/ids.js.map +1 -0
  204. package/out/packages/replicache/src/sync/patch.js.map +1 -0
  205. package/out/packages/replicache/src/sync/pull-error.js.map +1 -0
  206. package/out/packages/replicache/src/sync/pull.js +169 -0
  207. package/out/packages/replicache/src/sync/pull.js.map +1 -0
  208. package/out/packages/replicache/src/sync/push.js.map +1 -0
  209. package/out/packages/replicache/src/sync/request-id.js.map +1 -0
  210. package/out/packages/replicache/src/sync/sync-head-name.js.map +1 -0
  211. package/out/packages/replicache/src/to-error.js.map +1 -0
  212. package/out/packages/replicache/src/transaction-closed-error.js.map +1 -0
  213. package/out/packages/replicache/src/transactions.js.map +1 -0
  214. package/out/packages/replicache/src/version.js.map +1 -0
  215. package/out/packages/replicache/src/with-transactions.js.map +1 -0
  216. package/out/packages/shared/src/abort-error.js.map +1 -0
  217. package/out/packages/shared/src/arrays.js.map +1 -0
  218. package/out/packages/shared/src/asserts.js.map +1 -0
  219. package/out/packages/shared/src/bigint-json.js.map +1 -0
  220. package/out/packages/shared/src/binary-search.js.map +1 -0
  221. package/out/packages/shared/src/broadcast-channel.js.map +1 -0
  222. package/out/packages/shared/src/browser-env.js.map +1 -0
  223. package/out/packages/shared/src/btree-set.js.map +1 -0
  224. package/out/packages/shared/src/cache.js.map +1 -0
  225. package/out/packages/shared/src/centroid.js.map +1 -0
  226. package/out/packages/shared/src/config.js.map +1 -0
  227. package/out/packages/shared/src/custom-key-map.js.map +1 -0
  228. package/out/packages/shared/src/custom-key-set.js.map +1 -0
  229. package/out/packages/shared/src/deep-clone.js.map +1 -0
  230. package/out/packages/shared/src/deep-merge.js.map +1 -0
  231. package/out/packages/shared/src/document-visible.js.map +1 -0
  232. package/out/packages/shared/src/dotenv.js.map +1 -0
  233. package/out/packages/shared/src/error.js.map +1 -0
  234. package/out/packages/shared/src/has-own.js.map +1 -0
  235. package/out/packages/shared/src/hash.js.map +1 -0
  236. package/out/packages/shared/src/iterables.js.map +1 -0
  237. package/out/packages/shared/src/json-schema.js.map +1 -0
  238. package/out/packages/shared/src/json.js.map +1 -0
  239. package/out/packages/shared/src/logging-test-utils.js.map +1 -0
  240. package/out/packages/shared/src/logging.js.map +1 -0
  241. package/out/packages/shared/src/map.js +39 -0
  242. package/out/packages/shared/src/map.js.map +1 -0
  243. package/out/packages/shared/src/must.js.map +1 -0
  244. package/out/packages/shared/src/navigator.js.map +1 -0
  245. package/out/packages/shared/src/object-traversal.js.map +1 -0
  246. package/out/packages/shared/src/objects.js.map +1 -0
  247. package/out/packages/shared/src/options.js.map +1 -0
  248. package/out/packages/shared/src/parse-big-int.js.map +1 -0
  249. package/out/packages/shared/src/promise-race.js.map +1 -0
  250. package/out/packages/shared/src/queue.js +120 -0
  251. package/out/packages/shared/src/queue.js.map +1 -0
  252. package/out/packages/shared/src/rand.js.map +1 -0
  253. package/out/packages/shared/src/random-uint64.js.map +1 -0
  254. package/out/packages/shared/src/random-values.js.map +1 -0
  255. package/out/packages/shared/src/record-proxy.js.map +1 -0
  256. package/out/packages/shared/src/resolved-promises.js.map +1 -0
  257. package/out/packages/shared/src/ring-buffer.js +109 -0
  258. package/out/packages/shared/src/ring-buffer.js.map +1 -0
  259. package/out/packages/shared/src/sentinels.js.map +1 -0
  260. package/out/packages/shared/src/set-utils.js.map +1 -0
  261. package/out/packages/shared/src/size-of-value.js.map +1 -0
  262. package/out/packages/shared/src/sleep.js.map +1 -0
  263. package/out/packages/shared/src/sorted-entries.js.map +1 -0
  264. package/out/packages/shared/src/string-compare.js.map +1 -0
  265. package/out/packages/shared/src/subscribable.js.map +1 -0
  266. package/out/packages/shared/src/tdigest-schema.js.map +1 -0
  267. package/out/packages/shared/src/tdigest.js.map +1 -0
  268. package/out/packages/shared/src/valita.js +172 -0
  269. package/out/packages/shared/src/valita.js.map +1 -0
  270. package/out/packages/z2s/src/compiler.js.map +1 -0
  271. package/out/packages/z2s/src/sql.js.map +1 -0
  272. package/out/packages/zero/package.js +205 -0
  273. package/out/packages/zero/package.js.map +1 -0
  274. package/out/packages/zero-cache/src/auth/auth.js.map +1 -0
  275. package/out/packages/zero-cache/src/auth/jwt.js.map +1 -0
  276. package/out/packages/zero-cache/src/auth/load-permissions.js.map +1 -0
  277. package/out/packages/zero-cache/src/auth/read-authorizer.js.map +1 -0
  278. package/out/packages/zero-cache/src/auth/write-authorizer.js.map +1 -0
  279. package/out/packages/zero-cache/src/config/network.js.map +1 -0
  280. package/out/packages/zero-cache/src/config/normalize.js.map +1 -0
  281. package/out/packages/zero-cache/src/config/server-context.js.map +1 -0
  282. package/out/packages/zero-cache/src/config/zero-config.js +921 -0
  283. package/out/packages/zero-cache/src/config/zero-config.js.map +1 -0
  284. package/out/packages/zero-cache/src/custom/fetch.js.map +1 -0
  285. package/out/packages/zero-cache/src/custom-queries/transform-query.js.map +1 -0
  286. package/out/packages/zero-cache/src/db/create.js.map +1 -0
  287. package/out/packages/zero-cache/src/db/delete-lite-db.js.map +1 -0
  288. package/out/packages/zero-cache/src/db/lite-tables.js.map +1 -0
  289. package/out/packages/zero-cache/src/db/migration-lite.js +166 -0
  290. package/out/packages/zero-cache/src/db/migration-lite.js.map +1 -0
  291. package/out/packages/zero-cache/src/db/migration.js +139 -0
  292. package/out/packages/zero-cache/src/db/migration.js.map +1 -0
  293. package/out/packages/zero-cache/src/db/mode-enum.js.map +1 -0
  294. package/out/packages/zero-cache/src/db/pg-copy-binary.js.map +1 -0
  295. package/out/packages/zero-cache/src/db/pg-copy.js.map +1 -0
  296. package/out/packages/zero-cache/src/db/pg-to-lite.js.map +1 -0
  297. package/out/packages/zero-cache/src/db/pg-type-parser.js.map +1 -0
  298. package/out/packages/zero-cache/src/db/run-transaction.js.map +1 -0
  299. package/out/packages/zero-cache/src/db/specs.js.map +1 -0
  300. package/out/packages/zero-cache/src/db/statements.js.map +1 -0
  301. package/out/packages/zero-cache/src/db/transaction-pool.js.map +1 -0
  302. package/out/packages/zero-cache/src/db/warmup.js.map +1 -0
  303. package/out/packages/zero-cache/src/observability/events.js.map +1 -0
  304. package/out/packages/zero-cache/src/observability/metrics.js.map +1 -0
  305. package/out/packages/zero-cache/src/scripts/decommission.js.map +1 -0
  306. package/out/packages/zero-cache/src/scripts/deploy-permissions.js.map +1 -0
  307. package/out/packages/zero-cache/src/scripts/permissions.js.map +1 -0
  308. package/out/packages/zero-cache/src/server/anonymous-otel-start.js +306 -0
  309. package/out/packages/zero-cache/src/server/anonymous-otel-start.js.map +1 -0
  310. package/out/packages/zero-cache/src/server/inspector-delegate.js.map +1 -0
  311. package/out/packages/zero-cache/src/server/logging.js.map +1 -0
  312. package/out/packages/zero-cache/src/server/otel-diag-logger.js.map +1 -0
  313. package/out/packages/zero-cache/src/server/otel-log-sink.js.map +1 -0
  314. package/out/packages/zero-cache/src/server/otel-start.js +53 -0
  315. package/out/packages/zero-cache/src/server/otel-start.js.map +1 -0
  316. package/out/packages/zero-cache/src/server/priority-op.js.map +1 -0
  317. package/out/packages/zero-cache/src/server/runner/main.js +11 -0
  318. package/out/packages/zero-cache/src/server/runner/main.js.map +1 -0
  319. package/out/packages/zero-cache/src/server/runner/run-worker.js.map +1 -0
  320. package/out/packages/zero-cache/src/server/runner/runtime.js.map +1 -0
  321. package/out/packages/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -0
  322. package/out/packages/zero-cache/src/server/worker-dispatcher.js.map +1 -0
  323. package/out/packages/zero-cache/src/server/worker-urls.js.map +1 -0
  324. package/out/packages/zero-cache/src/services/analyze.js +72 -0
  325. package/out/packages/zero-cache/src/services/analyze.js.map +1 -0
  326. package/out/packages/zero-cache/src/services/change-source/common/backfill-manager.js.map +1 -0
  327. package/out/packages/zero-cache/src/services/change-source/common/change-stream-multiplexer.js.map +1 -0
  328. package/out/packages/zero-cache/src/services/change-source/common/replica-schema.js.map +1 -0
  329. package/out/packages/zero-cache/src/services/change-source/custom/change-source.js.map +1 -0
  330. package/out/packages/zero-cache/src/services/change-source/pg/backfill-metadata.js.map +1 -0
  331. package/out/packages/zero-cache/src/services/change-source/pg/backfill-stream.js +197 -0
  332. package/out/packages/zero-cache/src/services/change-source/pg/backfill-stream.js.map +1 -0
  333. package/out/packages/zero-cache/src/services/change-source/pg/change-source.js +929 -0
  334. package/out/packages/zero-cache/src/services/change-source/pg/change-source.js.map +1 -0
  335. package/out/packages/zero-cache/src/services/change-source/pg/decommission.js.map +1 -0
  336. package/out/packages/zero-cache/src/services/change-source/pg/initial-sync.js +553 -0
  337. package/out/packages/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -0
  338. package/out/packages/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -0
  339. package/out/packages/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js.map +1 -0
  340. package/out/packages/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +1 -0
  341. package/out/packages/zero-cache/src/services/change-source/pg/lsn.js.map +1 -0
  342. package/out/packages/zero-cache/src/services/change-source/pg/replication-slots.js +162 -0
  343. package/out/packages/zero-cache/src/services/change-source/pg/replication-slots.js.map +1 -0
  344. package/out/packages/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -0
  345. package/out/packages/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -0
  346. package/out/packages/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -0
  347. package/out/packages/zero-cache/src/services/change-source/pg/schema/shard.js +330 -0
  348. package/out/packages/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -0
  349. package/out/packages/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -0
  350. package/out/packages/zero-cache/src/services/change-source/protocol/current/control.js.map +1 -0
  351. package/out/packages/zero-cache/src/services/change-source/protocol/current/data.js +194 -0
  352. package/out/packages/zero-cache/src/services/change-source/protocol/current/data.js.map +1 -0
  353. package/out/packages/zero-cache/src/services/change-source/protocol/current/downstream.js.map +1 -0
  354. package/out/packages/zero-cache/src/services/change-source/protocol/current/json.js.map +1 -0
  355. package/out/packages/zero-cache/src/services/change-source/protocol/current/path.js.map +1 -0
  356. package/out/packages/zero-cache/src/services/change-source/protocol/current/status.js.map +1 -0
  357. package/out/packages/zero-cache/src/services/change-source/protocol/current/upstream.js.map +1 -0
  358. package/out/packages/zero-cache/src/services/change-source/protocol/current.js +56 -0
  359. package/out/packages/zero-cache/src/services/change-source/protocol/current.js.map +1 -0
  360. package/out/packages/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -0
  361. package/out/packages/zero-cache/src/services/change-streamer/broadcast.js.map +1 -0
  362. package/out/packages/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -0
  363. package/out/packages/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -0
  364. package/out/packages/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -0
  365. package/out/packages/zero-cache/src/services/change-streamer/forwarder.js.map +1 -0
  366. package/out/packages/zero-cache/src/services/change-streamer/replica-monitor.js.map +1 -0
  367. package/out/packages/zero-cache/src/services/change-streamer/schema/init.js +70 -0
  368. package/out/packages/zero-cache/src/services/change-streamer/schema/init.js.map +1 -0
  369. package/out/packages/zero-cache/src/services/change-streamer/schema/tables.js +191 -0
  370. package/out/packages/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -0
  371. package/out/packages/zero-cache/src/services/change-streamer/snapshot.js +42 -0
  372. package/out/packages/zero-cache/src/services/change-streamer/snapshot.js.map +1 -0
  373. package/out/packages/zero-cache/src/services/change-streamer/storer.js.map +1 -0
  374. package/out/packages/zero-cache/src/services/change-streamer/subscriber.js.map +1 -0
  375. package/out/packages/zero-cache/src/services/heapz.js.map +1 -0
  376. package/out/packages/zero-cache/src/services/http-service.js.map +1 -0
  377. package/out/packages/zero-cache/src/services/life-cycle.js +200 -0
  378. package/out/packages/zero-cache/src/services/life-cycle.js.map +1 -0
  379. package/out/packages/zero-cache/src/services/limiter/sliding-window-limiter.js.map +1 -0
  380. package/out/packages/zero-cache/src/services/litestream/commands.js.map +1 -0
  381. package/out/packages/zero-cache/src/services/mutagen/error.js.map +1 -0
  382. package/out/packages/zero-cache/src/services/mutagen/mutagen.js.map +1 -0
  383. package/out/packages/zero-cache/src/services/mutagen/pusher.js.map +1 -0
  384. package/out/packages/zero-cache/src/services/replicator/change-processor.js.map +1 -0
  385. package/out/packages/zero-cache/src/services/replicator/incremental-sync.js.map +1 -0
  386. package/out/packages/zero-cache/src/services/replicator/notifier.js.map +1 -0
  387. package/out/packages/zero-cache/src/services/replicator/replication-status.js.map +1 -0
  388. package/out/packages/zero-cache/src/services/replicator/replicator.js.map +1 -0
  389. package/out/packages/zero-cache/src/services/replicator/reporter/recorder.js.map +1 -0
  390. package/out/packages/zero-cache/src/services/replicator/reporter/report-schema.js.map +1 -0
  391. package/out/packages/zero-cache/src/services/replicator/schema/change-log.js.map +1 -0
  392. package/out/packages/zero-cache/src/services/replicator/schema/column-metadata.js.map +1 -0
  393. package/out/packages/zero-cache/src/services/replicator/schema/constants.js.map +1 -0
  394. package/out/packages/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -0
  395. package/out/packages/zero-cache/src/services/replicator/schema/table-metadata.js.map +1 -0
  396. package/out/packages/zero-cache/src/services/replicator/write-worker-client.js.map +1 -0
  397. package/out/packages/zero-cache/src/services/replicator/write-worker.js.map +1 -0
  398. package/out/packages/zero-cache/src/services/run-ast.js +88 -0
  399. package/out/packages/zero-cache/src/services/run-ast.js.map +1 -0
  400. package/out/packages/zero-cache/src/services/runner.js.map +1 -0
  401. package/out/packages/zero-cache/src/services/running-state.js +139 -0
  402. package/out/packages/zero-cache/src/services/running-state.js.map +1 -0
  403. package/out/packages/zero-cache/src/services/shadow-sync/shadow-sync-service.js.map +1 -0
  404. package/out/packages/zero-cache/src/services/statz.js.map +1 -0
  405. package/out/packages/zero-cache/src/services/view-syncer/active-users-gauge.js.map +1 -0
  406. package/out/packages/zero-cache/src/services/view-syncer/client-handler.js +270 -0
  407. package/out/packages/zero-cache/src/services/view-syncer/client-handler.js.map +1 -0
  408. package/out/packages/zero-cache/src/services/view-syncer/client-schema.js.map +1 -0
  409. package/out/packages/zero-cache/src/services/view-syncer/connection-context-manager.js.map +1 -0
  410. package/out/packages/zero-cache/src/services/view-syncer/cvr-purger.js +110 -0
  411. package/out/packages/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -0
  412. package/out/packages/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -0
  413. package/out/packages/zero-cache/src/services/view-syncer/cvr.js.map +1 -0
  414. package/out/packages/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -0
  415. package/out/packages/zero-cache/src/services/view-syncer/inspect-handler.js +102 -0
  416. package/out/packages/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -0
  417. package/out/packages/zero-cache/src/services/view-syncer/pipeline-driver.js +628 -0
  418. package/out/packages/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -0
  419. package/out/packages/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -0
  420. package/out/packages/zero-cache/src/services/view-syncer/row-set-signature.js.map +1 -0
  421. package/out/packages/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -0
  422. package/out/packages/zero-cache/src/services/view-syncer/schema/init.js +142 -0
  423. package/out/packages/zero-cache/src/services/view-syncer/schema/init.js.map +1 -0
  424. package/out/packages/zero-cache/src/services/view-syncer/schema/types.js +278 -0
  425. package/out/packages/zero-cache/src/services/view-syncer/schema/types.js.map +1 -0
  426. package/out/packages/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -0
  427. package/out/packages/zero-cache/src/services/view-syncer/tracer.js.map +1 -0
  428. package/out/packages/zero-cache/src/services/view-syncer/ttl-clock.js.map +1 -0
  429. package/out/packages/zero-cache/src/services/view-syncer/view-syncer.js +1245 -0
  430. package/out/packages/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -0
  431. package/out/packages/zero-cache/src/types/configuration-error.js +11 -0
  432. package/out/packages/zero-cache/src/types/configuration-error.js.map +1 -0
  433. package/out/packages/zero-cache/src/types/error-with-level.js.map +1 -0
  434. package/out/packages/zero-cache/src/types/http.js.map +1 -0
  435. package/out/packages/zero-cache/src/types/lexi-version.js.map +1 -0
  436. package/out/packages/zero-cache/src/types/lite.js.map +1 -0
  437. package/out/packages/zero-cache/src/types/names.js.map +1 -0
  438. package/out/packages/zero-cache/src/types/pg-data-type.js.map +1 -0
  439. package/out/packages/zero-cache/src/types/pg-types.js.map +1 -0
  440. package/out/packages/zero-cache/src/types/pg-versions.js.map +1 -0
  441. package/out/packages/zero-cache/src/types/pg.js +222 -0
  442. package/out/packages/zero-cache/src/types/pg.js.map +1 -0
  443. package/out/packages/zero-cache/src/types/processes.js.map +1 -0
  444. package/out/packages/zero-cache/src/types/profiler.js.map +1 -0
  445. package/out/packages/zero-cache/src/types/row-key.js.map +1 -0
  446. package/out/packages/zero-cache/src/types/shards.js.map +1 -0
  447. package/out/packages/zero-cache/src/types/sql.js.map +1 -0
  448. package/out/packages/zero-cache/src/types/state-version.js.map +1 -0
  449. package/out/packages/zero-cache/src/types/streams.js.map +1 -0
  450. package/out/packages/zero-cache/src/types/strings.js.map +1 -0
  451. package/out/packages/zero-cache/src/types/subscription.js.map +1 -0
  452. package/out/packages/zero-cache/src/types/timeout.js.map +1 -0
  453. package/out/packages/zero-cache/src/types/url-params.js.map +1 -0
  454. package/out/packages/zero-cache/src/types/websocket-handoff.js.map +1 -0
  455. package/out/packages/zero-cache/src/types/ws.js.map +1 -0
  456. package/out/packages/zero-cache/src/workers/connect-params.js.map +1 -0
  457. package/out/packages/zero-cache/src/workers/connection.js.map +1 -0
  458. package/out/packages/zero-cache/src/workers/mutator.js.map +1 -0
  459. package/out/packages/zero-cache/src/workers/replicator.js.map +1 -0
  460. package/out/packages/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -0
  461. package/out/packages/zero-cache/src/workers/syncer.js.map +1 -0
  462. package/out/packages/zero-client/src/client/active-clients-manager.js.map +1 -0
  463. package/out/packages/zero-client/src/client/client-error-kind-enum.js.map +1 -0
  464. package/out/packages/zero-client/src/client/connection-manager.js +296 -0
  465. package/out/packages/zero-client/src/client/connection-manager.js.map +1 -0
  466. package/out/packages/zero-client/src/client/connection-status-enum.js +20 -0
  467. package/out/packages/zero-client/src/client/connection-status-enum.js.map +1 -0
  468. package/out/packages/zero-client/src/client/connection.js.map +1 -0
  469. package/out/packages/zero-client/src/client/context.js.map +1 -0
  470. package/out/packages/zero-client/src/client/crud-impl.js +61 -0
  471. package/out/packages/zero-client/src/client/crud-impl.js.map +1 -0
  472. package/out/packages/zero-client/src/client/crud.js.map +1 -0
  473. package/out/packages/zero-client/src/client/custom.js +64 -0
  474. package/out/packages/zero-client/src/client/custom.js.map +1 -0
  475. package/out/packages/zero-client/src/client/delete-clients-manager.js.map +1 -0
  476. package/out/packages/zero-client/src/client/enable-analytics.js.map +1 -0
  477. package/out/packages/zero-client/src/client/error.js.map +1 -0
  478. package/out/packages/zero-client/src/client/http-string.js.map +1 -0
  479. package/out/packages/zero-client/src/client/inspector/client-group.js.map +1 -0
  480. package/out/packages/zero-client/src/client/inspector/client.js.map +1 -0
  481. package/out/packages/zero-client/src/client/inspector/html-dialog-prompt.js.map +1 -0
  482. package/out/packages/zero-client/src/client/inspector/inspector.js.map +1 -0
  483. package/out/packages/zero-client/src/client/inspector/lazy-inspector.js.map +1 -0
  484. package/out/packages/zero-client/src/client/inspector/query.js.map +1 -0
  485. package/out/packages/zero-client/src/client/ivm-branch.js.map +1 -0
  486. package/out/packages/zero-client/src/client/keys.js.map +1 -0
  487. package/out/packages/zero-client/src/client/log-options.js.map +1 -0
  488. package/out/packages/zero-client/src/client/make-mutate-property.js.map +1 -0
  489. package/out/packages/zero-client/src/client/make-replicache-mutators.js.map +1 -0
  490. package/out/packages/zero-client/src/client/metric-name-enum.js.map +1 -0
  491. package/out/packages/zero-client/src/client/metrics.js.map +1 -0
  492. package/out/packages/zero-client/src/client/mutation-tracker.js.map +1 -0
  493. package/out/packages/zero-client/src/client/mutator-proxy.js.map +1 -0
  494. package/out/packages/zero-client/src/client/options.js.map +1 -0
  495. package/out/packages/zero-client/src/client/query-manager.js.map +1 -0
  496. package/out/packages/zero-client/src/client/reload-error-handler.js.map +1 -0
  497. package/out/packages/zero-client/src/client/server-option.js.map +1 -0
  498. package/out/packages/zero-client/src/client/update-needed-reason-type-enum.js +27 -0
  499. package/out/packages/zero-client/src/client/update-needed-reason-type-enum.js.map +1 -0
  500. package/out/packages/zero-client/src/client/version.js +9 -0
  501. package/out/packages/zero-client/src/client/version.js.map +1 -0
  502. package/out/packages/zero-client/src/client/zero-poke-handler.js.map +1 -0
  503. package/out/packages/zero-client/src/client/zero-rep.js.map +1 -0
  504. package/out/packages/zero-client/src/client/zero.js +1469 -0
  505. package/out/packages/zero-client/src/client/zero.js.map +1 -0
  506. package/out/packages/zero-client/src/util/nanoid.js.map +1 -0
  507. package/out/packages/zero-protocol/src/analyze-query-result.js +123 -0
  508. package/out/packages/zero-protocol/src/analyze-query-result.js.map +1 -0
  509. package/out/packages/zero-protocol/src/application-error.js.map +1 -0
  510. package/out/packages/zero-protocol/src/ast.js.map +1 -0
  511. package/out/packages/zero-protocol/src/change-desired-queries.js +13 -0
  512. package/out/packages/zero-protocol/src/change-desired-queries.js.map +1 -0
  513. package/out/packages/zero-protocol/src/client-schema.js.map +1 -0
  514. package/out/packages/zero-protocol/src/close-connection.js.map +1 -0
  515. package/out/packages/zero-protocol/src/connect.js +54 -0
  516. package/out/packages/zero-protocol/src/connect.js.map +1 -0
  517. package/out/packages/zero-protocol/src/custom-queries.js.map +1 -0
  518. package/out/packages/zero-protocol/src/data.js.map +1 -0
  519. package/out/packages/zero-protocol/src/delete-clients.js.map +1 -0
  520. package/out/packages/zero-protocol/src/down.js.map +1 -0
  521. package/out/packages/zero-protocol/src/error-kind-enum.js.map +1 -0
  522. package/out/packages/zero-protocol/src/error-origin-enum.js.map +1 -0
  523. package/out/packages/zero-protocol/src/error-reason-enum.js.map +1 -0
  524. package/out/packages/zero-protocol/src/error.js +91 -0
  525. package/out/packages/zero-protocol/src/error.js.map +1 -0
  526. package/out/packages/zero-protocol/src/inspect-down.js.map +1 -0
  527. package/out/packages/zero-protocol/src/inspect-up.js +35 -0
  528. package/out/packages/zero-protocol/src/inspect-up.js.map +1 -0
  529. package/out/packages/zero-protocol/src/mutate-server.js.map +1 -0
  530. package/out/packages/zero-protocol/src/mutation-id.js.map +1 -0
  531. package/out/packages/zero-protocol/src/mutation-type-enum.js.map +1 -0
  532. package/out/packages/zero-protocol/src/mutation.js.map +1 -0
  533. package/out/packages/zero-protocol/src/mutations-patch.js.map +1 -0
  534. package/out/packages/zero-protocol/src/ping.js.map +1 -0
  535. package/out/packages/zero-protocol/src/poke.js +63 -0
  536. package/out/packages/zero-protocol/src/poke.js.map +1 -0
  537. package/out/packages/zero-protocol/src/pong.js.map +1 -0
  538. package/out/packages/zero-protocol/src/primary-key.js.map +1 -0
  539. package/out/packages/zero-protocol/src/protocol-version.js.map +1 -0
  540. package/out/packages/zero-protocol/src/pull.js.map +1 -0
  541. package/out/packages/zero-protocol/src/push.js +76 -0
  542. package/out/packages/zero-protocol/src/push.js.map +1 -0
  543. package/out/packages/zero-protocol/src/queries-patch.js.map +1 -0
  544. package/out/packages/zero-protocol/src/query-hash.js.map +1 -0
  545. package/out/packages/zero-protocol/src/query-server.js.map +1 -0
  546. package/out/packages/zero-protocol/src/row-patch.js.map +1 -0
  547. package/out/packages/zero-protocol/src/up.js.map +1 -0
  548. package/out/packages/zero-protocol/src/update-auth.js.map +1 -0
  549. package/out/packages/zero-protocol/src/version.js.map +1 -0
  550. package/out/packages/zero-react/src/use-connection-state.js +19 -0
  551. package/out/packages/zero-react/src/use-connection-state.js.map +1 -0
  552. package/out/packages/zero-react/src/use-query.js +301 -0
  553. package/out/packages/zero-react/src/use-query.js.map +1 -0
  554. package/out/packages/zero-react/src/use-zero-online.js +22 -0
  555. package/out/packages/zero-react/src/use-zero-online.js.map +1 -0
  556. package/out/packages/zero-react/src/zero-provider.js +90 -0
  557. package/out/packages/zero-react/src/zero-provider.js.map +1 -0
  558. package/out/packages/zero-schema/src/builder/relationship-builder.js.map +1 -0
  559. package/out/packages/zero-schema/src/builder/schema-builder.js.map +1 -0
  560. package/out/packages/zero-schema/src/builder/table-builder.js.map +1 -0
  561. package/out/packages/zero-schema/src/compiled-permissions.js.map +1 -0
  562. package/out/packages/zero-schema/src/name-mapper.js.map +1 -0
  563. package/out/packages/zero-schema/src/permissions.js.map +1 -0
  564. package/out/packages/zero-schema/src/schema-config.js.map +1 -0
  565. package/out/packages/zero-server/src/adapters/drizzle.js.map +1 -0
  566. package/out/packages/zero-server/src/adapters/kysely.js.map +1 -0
  567. package/out/packages/zero-server/src/adapters/pg.js +83 -0
  568. package/out/packages/zero-server/src/adapters/pg.js.map +1 -0
  569. package/out/packages/zero-server/src/adapters/postgresjs.js.map +1 -0
  570. package/out/packages/zero-server/src/adapters/prisma.js.map +1 -0
  571. package/out/packages/zero-server/src/custom.js +215 -0
  572. package/out/packages/zero-server/src/custom.js.map +1 -0
  573. package/out/packages/zero-server/src/logging.js.map +1 -0
  574. package/out/packages/zero-server/src/pg-query-executor.js.map +1 -0
  575. package/out/packages/zero-server/src/process-mutations.js.map +1 -0
  576. package/out/packages/zero-server/src/push-processor.js.map +1 -0
  577. package/out/packages/zero-server/src/queries/process-queries.js.map +1 -0
  578. package/out/packages/zero-server/src/schema.js.map +1 -0
  579. package/out/packages/zero-server/src/zql-database.js.map +1 -0
  580. package/out/packages/zero-solid/src/solid-view.js +145 -0
  581. package/out/packages/zero-solid/src/solid-view.js.map +1 -0
  582. package/out/packages/zero-solid/src/use-connection-state.js +21 -0
  583. package/out/packages/zero-solid/src/use-connection-state.js.map +1 -0
  584. package/out/packages/zero-solid/src/use-query.js +64 -0
  585. package/out/packages/zero-solid/src/use-query.js.map +1 -0
  586. package/out/packages/zero-solid/src/use-zero-online.js +21 -0
  587. package/out/packages/zero-solid/src/use-zero-online.js.map +1 -0
  588. package/out/packages/zero-solid/src/use-zero.js +93 -0
  589. package/out/packages/zero-solid/src/use-zero.js.map +1 -0
  590. package/out/packages/zero-types/src/format.js.map +1 -0
  591. package/out/packages/zero-types/src/name-mapper.js.map +1 -0
  592. package/out/packages/zql/src/builder/builder.js +381 -0
  593. package/out/packages/zql/src/builder/builder.js.map +1 -0
  594. package/out/packages/zql/src/builder/debug-delegate.js +81 -0
  595. package/out/packages/zql/src/builder/debug-delegate.js.map +1 -0
  596. package/out/packages/zql/src/builder/filter.js.map +1 -0
  597. package/out/packages/zql/src/builder/like.js.map +1 -0
  598. package/out/packages/zql/src/error.js.map +1 -0
  599. package/out/packages/zql/src/ivm/array-view.js.map +1 -0
  600. package/out/packages/zql/src/ivm/cap.js +205 -0
  601. package/out/packages/zql/src/ivm/cap.js.map +1 -0
  602. package/out/packages/zql/src/ivm/change.js.map +1 -0
  603. package/out/packages/zql/src/ivm/constraint.js +82 -0
  604. package/out/packages/zql/src/ivm/constraint.js.map +1 -0
  605. package/out/packages/zql/src/ivm/data.js.map +1 -0
  606. package/out/packages/zql/src/ivm/exists.js.map +1 -0
  607. package/out/packages/zql/src/ivm/fan-in.js.map +1 -0
  608. package/out/packages/zql/src/ivm/fan-out.js.map +1 -0
  609. package/out/packages/zql/src/ivm/filter-operators.js.map +1 -0
  610. package/out/packages/zql/src/ivm/filter-push.js.map +1 -0
  611. package/out/packages/zql/src/ivm/filter.js.map +1 -0
  612. package/out/packages/zql/src/ivm/flipped-join.js +307 -0
  613. package/out/packages/zql/src/ivm/flipped-join.js.map +1 -0
  614. package/out/packages/zql/src/ivm/join-utils.js.map +1 -0
  615. package/out/packages/zql/src/ivm/join.js.map +1 -0
  616. package/out/packages/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -0
  617. package/out/packages/zql/src/ivm/memory-source.js +612 -0
  618. package/out/packages/zql/src/ivm/memory-source.js.map +1 -0
  619. package/out/packages/zql/src/ivm/memory-storage.js.map +1 -0
  620. package/out/packages/zql/src/ivm/operator.js.map +1 -0
  621. package/out/packages/zql/src/ivm/push-accumulated.js.map +1 -0
  622. package/out/packages/zql/src/ivm/skip-yields.js.map +1 -0
  623. package/out/packages/zql/src/ivm/skip.js.map +1 -0
  624. package/out/packages/zql/src/ivm/source.js.map +1 -0
  625. package/out/packages/zql/src/ivm/stream.js.map +1 -0
  626. package/out/packages/zql/src/ivm/take.js +410 -0
  627. package/out/packages/zql/src/ivm/take.js.map +1 -0
  628. package/out/packages/zql/src/ivm/union-fan-in.js +165 -0
  629. package/out/packages/zql/src/ivm/union-fan-in.js.map +1 -0
  630. package/out/packages/zql/src/ivm/union-fan-out.js.map +1 -0
  631. package/out/packages/zql/src/ivm/view-apply-change.js.map +1 -0
  632. package/out/packages/zql/src/mutate/crud.js.map +1 -0
  633. package/out/packages/zql/src/mutate/custom.js.map +1 -0
  634. package/out/packages/zql/src/mutate/mutator-registry.js.map +1 -0
  635. package/out/packages/zql/src/mutate/mutator.js.map +1 -0
  636. package/out/packages/zql/src/planner/planner-builder.js.map +1 -0
  637. package/out/packages/zql/src/planner/planner-connection.js.map +1 -0
  638. package/out/packages/zql/src/planner/planner-constraint.js.map +1 -0
  639. package/out/packages/zql/src/planner/planner-debug.js.map +1 -0
  640. package/out/packages/zql/src/planner/planner-fan-in.js.map +1 -0
  641. package/out/packages/zql/src/planner/planner-fan-out.js.map +1 -0
  642. package/out/packages/zql/src/planner/planner-graph.js.map +1 -0
  643. package/out/packages/zql/src/planner/planner-join.js +262 -0
  644. package/out/packages/zql/src/planner/planner-join.js.map +1 -0
  645. package/out/packages/zql/src/planner/planner-node.js.map +1 -0
  646. package/out/packages/zql/src/planner/planner-source.js.map +1 -0
  647. package/out/packages/zql/src/planner/planner-terminus.js.map +1 -0
  648. package/out/packages/zql/src/query/complete-ordering.js.map +1 -0
  649. package/out/packages/zql/src/query/create-builder.js.map +1 -0
  650. package/out/packages/zql/src/query/error.js.map +1 -0
  651. package/out/packages/zql/src/query/escape-like.js.map +1 -0
  652. package/out/packages/zql/src/query/expression.js.map +1 -0
  653. package/out/packages/zql/src/query/measure-push-operator.js.map +1 -0
  654. package/out/packages/zql/src/query/metrics-delegate.js.map +1 -0
  655. package/out/packages/zql/src/query/named.js.map +1 -0
  656. package/out/packages/zql/src/query/query-delegate-base.js.map +1 -0
  657. package/out/packages/zql/src/query/query-impl.js +290 -0
  658. package/out/packages/zql/src/query/query-impl.js.map +1 -0
  659. package/out/packages/zql/src/query/query-internals.js.map +1 -0
  660. package/out/packages/zql/src/query/query-registry.js.map +1 -0
  661. package/out/packages/zql/src/query/runnable-query-impl.js.map +1 -0
  662. package/out/packages/zql/src/query/static-query.js.map +1 -0
  663. package/out/packages/zql/src/query/ttl.js.map +1 -0
  664. package/out/packages/zql/src/query/validate-input.js.map +1 -0
  665. package/out/packages/zqlite/src/database-storage.js.map +1 -0
  666. package/out/packages/zqlite/src/db.js.map +1 -0
  667. package/out/packages/zqlite/src/explain-queries.js.map +1 -0
  668. package/out/packages/zqlite/src/internal/sql-inline.js.map +1 -0
  669. package/out/packages/zqlite/src/internal/sql.js.map +1 -0
  670. package/out/packages/zqlite/src/internal/statement-cache.js.map +1 -0
  671. package/out/packages/zqlite/src/query-builder.js.map +1 -0
  672. package/out/packages/zqlite/src/query-delegate.js.map +1 -0
  673. package/out/packages/zqlite/src/resolve-scalar-subqueries.js.map +1 -0
  674. package/out/packages/zqlite/src/sqlite-cost-model.js.map +1 -0
  675. package/out/packages/zqlite/src/sqlite-stat-fanout.js.map +1 -0
  676. package/out/packages/zqlite/src/table-source.js +313 -0
  677. package/out/packages/zqlite/src/table-source.js.map +1 -0
  678. package/out/replicache/src/dag/store-impl.d.ts.map +1 -1
  679. package/out/replicache/src/kv/expo-sqlite/store.d.ts +1 -1
  680. package/out/replicache/src/kv/expo-sqlite/store.d.ts.map +1 -1
  681. package/out/replicache/src/kv/op-sqlite/store.d.ts.map +1 -1
  682. package/out/replicache/src/kv/sqlite-store.d.ts +6 -6
  683. package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
  684. package/out/replicache/src/kv/throw-if-closed.d.ts +1 -0
  685. package/out/replicache/src/kv/throw-if-closed.d.ts.map +1 -1
  686. package/out/replicache/src/persist/persist.d.ts.map +1 -1
  687. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  688. package/out/shared/src/map.d.ts +6 -0
  689. package/out/shared/src/map.d.ts.map +1 -0
  690. package/out/shared/src/queue.d.ts.map +1 -1
  691. package/out/shared/src/ring-buffer.d.ts +32 -0
  692. package/out/shared/src/ring-buffer.d.ts.map +1 -0
  693. package/out/zero/src/adapters/drizzle.js +1 -1
  694. package/out/zero/src/adapters/kysely.js +1 -1
  695. package/out/zero/src/adapters/pg.js +1 -1
  696. package/out/zero/src/adapters/postgresjs.js +1 -1
  697. package/out/zero/src/adapters/prisma.js +1 -1
  698. package/out/zero/src/analyze-query.js +1 -1
  699. package/out/zero/src/analyze.js +1 -1
  700. package/out/zero/src/ast-to-zql.js +1 -1
  701. package/out/zero/src/bindings.js +11 -11
  702. package/out/zero/src/build-schema.js.map +1 -1
  703. package/out/zero/src/change-protocol/v0.js +2 -2
  704. package/out/zero/src/cli.js +1 -1
  705. package/out/zero/src/deploy-permissions.js +1 -1
  706. package/out/zero/src/expo-sqlite.js +2 -2
  707. package/out/zero/src/op-sqlite.js +2 -2
  708. package/out/zero/src/pg.js +9 -9
  709. package/out/zero/src/react-native.js +2 -2
  710. package/out/zero/src/react.js +5 -5
  711. package/out/zero/src/server.js +8 -8
  712. package/out/zero/src/solid.js +5 -5
  713. package/out/zero/src/sqlite.js +2 -2
  714. package/out/zero/src/transform-query.js +1 -1
  715. package/out/zero/src/zero-cache-dev.js +6 -6
  716. package/out/zero/src/zero-cache-dev.js.map +1 -1
  717. package/out/zero/src/zero-out.js +5 -5
  718. package/out/zero/src/zero-out.js.map +1 -1
  719. package/out/zero/src/zero.js +22 -22
  720. package/out/zero/src/zqlite.js +5 -5
  721. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  722. package/out/zero-cache/src/server/change-streamer.js +38 -32
  723. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  724. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  725. package/out/zero-cache/src/server/main.js +15 -13
  726. package/out/zero-cache/src/server/main.js.map +1 -1
  727. package/out/zero-cache/src/server/mutator.js +12 -10
  728. package/out/zero-cache/src/server/mutator.js.map +1 -1
  729. package/out/zero-cache/src/server/reaper.d.ts.map +1 -1
  730. package/out/zero-cache/src/server/reaper.js +18 -16
  731. package/out/zero-cache/src/server/reaper.js.map +1 -1
  732. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  733. package/out/zero-cache/src/server/replicator.js +20 -18
  734. package/out/zero-cache/src/server/replicator.js.map +1 -1
  735. package/out/zero-cache/src/server/runner/main.d.ts.map +1 -1
  736. package/out/zero-cache/src/server/shadow-syncer.js +16 -13
  737. package/out/zero-cache/src/server/shadow-syncer.js.map +1 -1
  738. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  739. package/out/zero-cache/src/server/syncer.js +36 -34
  740. package/out/zero-cache/src/server/syncer.js.map +1 -1
  741. package/out/zero-cache/src/server/write-worker.js +1 -1
  742. package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
  743. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  744. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +8 -2
  745. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  746. package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts +1 -1
  747. package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts.map +1 -1
  748. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  749. package/out/zero-cache/src/services/life-cycle.d.ts +1 -1
  750. package/out/zero-cache/src/services/life-cycle.d.ts.map +1 -1
  751. package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
  752. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  753. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -1
  754. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  755. package/out/zero-cache/src/types/configuration-error.d.ts +4 -0
  756. package/out/zero-cache/src/types/configuration-error.d.ts.map +1 -0
  757. package/out/zero-cache/src/types/pg.d.ts +2 -0
  758. package/out/zero-cache/src/types/pg.d.ts.map +1 -1
  759. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  760. package/out/zql/src/builder/builder.d.ts.map +1 -1
  761. package/out/zql/src/builder/debug-delegate.d.ts +5 -0
  762. package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
  763. package/out/zql/src/ivm/cap.d.ts +32 -0
  764. package/out/zql/src/ivm/cap.d.ts.map +1 -0
  765. package/out/zql/src/ivm/flipped-join.d.ts +4 -8
  766. package/out/zql/src/ivm/flipped-join.d.ts.map +1 -1
  767. package/out/zql/src/ivm/operator.d.ts +1 -1
  768. package/out/zql/src/ivm/schema.d.ts +0 -8
  769. package/out/zql/src/ivm/schema.d.ts.map +1 -1
  770. package/out/zql/src/ivm/union-fan-in.d.ts.map +1 -1
  771. package/out/zql/src/mutate/mutator.d.ts +12 -3
  772. package/out/zql/src/mutate/mutator.d.ts.map +1 -1
  773. package/out/zql/src/planner/planner-join.d.ts.map +1 -1
  774. package/out/zql/src/query/query-registry.d.ts +10 -3
  775. package/out/zql/src/query/query-registry.d.ts.map +1 -1
  776. package/out/zqlite/src/table-source.d.ts.map +1 -1
  777. package/package.json +23 -23
  778. package/out/_virtual/_@oxc-project_runtime@0.122.0/helpers/usingCtx.js +0 -57
  779. package/out/analyze-query/src/analyze-cli.js.map +0 -1
  780. package/out/analyze-query/src/bin-analyze.js +0 -277
  781. package/out/analyze-query/src/bin-analyze.js.map +0 -1
  782. package/out/analyze-query/src/bin-transform.js.map +0 -1
  783. package/out/ast-to-zql/src/ast-to-zql.js.map +0 -1
  784. package/out/ast-to-zql/src/bin.js.map +0 -1
  785. package/out/ast-to-zql/src/format.js.map +0 -1
  786. package/out/datadog/src/datadog-log-sink.js.map +0 -1
  787. package/out/otel/src/enabled.js.map +0 -1
  788. package/out/otel/src/log-options.js.map +0 -1
  789. package/out/otel/src/maybe-time.js.map +0 -1
  790. package/out/otel/src/span.js.map +0 -1
  791. package/out/otel/src/version.js.map +0 -1
  792. package/out/replicache/src/async-iterable-to-array.js.map +0 -1
  793. package/out/replicache/src/bg-interval.js.map +0 -1
  794. package/out/replicache/src/btree/diff.js.map +0 -1
  795. package/out/replicache/src/btree/node.js.map +0 -1
  796. package/out/replicache/src/btree/read.js.map +0 -1
  797. package/out/replicache/src/btree/splice.js.map +0 -1
  798. package/out/replicache/src/btree/write.js +0 -188
  799. package/out/replicache/src/btree/write.js.map +0 -1
  800. package/out/replicache/src/call-default-fetch.js.map +0 -1
  801. package/out/replicache/src/connection-loop-delegates.js.map +0 -1
  802. package/out/replicache/src/connection-loop.js.map +0 -1
  803. package/out/replicache/src/cookies.js.map +0 -1
  804. package/out/replicache/src/dag/chunk.js.map +0 -1
  805. package/out/replicache/src/dag/gc.js.map +0 -1
  806. package/out/replicache/src/dag/key.js.map +0 -1
  807. package/out/replicache/src/dag/lazy-store.js.map +0 -1
  808. package/out/replicache/src/dag/store-impl.js +0 -152
  809. package/out/replicache/src/dag/store-impl.js.map +0 -1
  810. package/out/replicache/src/dag/store.js.map +0 -1
  811. package/out/replicache/src/dag/visitor.js.map +0 -1
  812. package/out/replicache/src/db/commit.js.map +0 -1
  813. package/out/replicache/src/db/index.js.map +0 -1
  814. package/out/replicache/src/db/read.js.map +0 -1
  815. package/out/replicache/src/db/rebase.js.map +0 -1
  816. package/out/replicache/src/db/write.js.map +0 -1
  817. package/out/replicache/src/deleted-clients.js.map +0 -1
  818. package/out/replicache/src/error-responses.js.map +0 -1
  819. package/out/replicache/src/frozen-json.js.map +0 -1
  820. package/out/replicache/src/get-default-puller.js.map +0 -1
  821. package/out/replicache/src/get-default-pusher.js.map +0 -1
  822. package/out/replicache/src/get-kv-store-provider.js.map +0 -1
  823. package/out/replicache/src/hash.js.map +0 -1
  824. package/out/replicache/src/http-request-info.js.map +0 -1
  825. package/out/replicache/src/index-defs.js.map +0 -1
  826. package/out/replicache/src/kv/expo-sqlite/store.js +0 -58
  827. package/out/replicache/src/kv/expo-sqlite/store.js.map +0 -1
  828. package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +0 -1
  829. package/out/replicache/src/kv/idb-store.js.map +0 -1
  830. package/out/replicache/src/kv/mem-store.js.map +0 -1
  831. package/out/replicache/src/kv/op-sqlite/store.js +0 -63
  832. package/out/replicache/src/kv/op-sqlite/store.js.map +0 -1
  833. package/out/replicache/src/kv/op-sqlite/types.js.map +0 -1
  834. package/out/replicache/src/kv/read-impl.js.map +0 -1
  835. package/out/replicache/src/kv/sqlite-store.js +0 -216
  836. package/out/replicache/src/kv/sqlite-store.js.map +0 -1
  837. package/out/replicache/src/kv/throw-if-closed.js +0 -26
  838. package/out/replicache/src/kv/throw-if-closed.js.map +0 -1
  839. package/out/replicache/src/kv/write-impl-base.js.map +0 -1
  840. package/out/replicache/src/kv/write-impl.js.map +0 -1
  841. package/out/replicache/src/lazy.js.map +0 -1
  842. package/out/replicache/src/log-options.js.map +0 -1
  843. package/out/replicache/src/make-idb-name.js.map +0 -1
  844. package/out/replicache/src/new-client-channel.js.map +0 -1
  845. package/out/replicache/src/on-persist-channel.js.map +0 -1
  846. package/out/replicache/src/patch-operation.js.map +0 -1
  847. package/out/replicache/src/pending-mutations.js.map +0 -1
  848. package/out/replicache/src/persist/client-gc.js.map +0 -1
  849. package/out/replicache/src/persist/client-group-gc.js.map +0 -1
  850. package/out/replicache/src/persist/client-groups.js +0 -110
  851. package/out/replicache/src/persist/client-groups.js.map +0 -1
  852. package/out/replicache/src/persist/clients.js +0 -261
  853. package/out/replicache/src/persist/clients.js.map +0 -1
  854. package/out/replicache/src/persist/collect-idb-databases.js.map +0 -1
  855. package/out/replicache/src/persist/gather-mem-only-visitor.js.map +0 -1
  856. package/out/replicache/src/persist/gather-not-cached-visitor.js.map +0 -1
  857. package/out/replicache/src/persist/heartbeat.js.map +0 -1
  858. package/out/replicache/src/persist/idb-databases-store-db-name.js.map +0 -1
  859. package/out/replicache/src/persist/idb-databases-store.js.map +0 -1
  860. package/out/replicache/src/persist/make-client-id.js.map +0 -1
  861. package/out/replicache/src/persist/persist.js +0 -122
  862. package/out/replicache/src/persist/persist.js.map +0 -1
  863. package/out/replicache/src/persist/refresh.js.map +0 -1
  864. package/out/replicache/src/process-scheduler.js.map +0 -1
  865. package/out/replicache/src/pusher.js.map +0 -1
  866. package/out/replicache/src/replicache-impl.js.map +0 -1
  867. package/out/replicache/src/report-error.js.map +0 -1
  868. package/out/replicache/src/request-idle.js.map +0 -1
  869. package/out/replicache/src/scan-iterator.js.map +0 -1
  870. package/out/replicache/src/scan-options.js.map +0 -1
  871. package/out/replicache/src/set-interval-with-signal.js.map +0 -1
  872. package/out/replicache/src/subscriptions.js.map +0 -1
  873. package/out/replicache/src/sync/diff.js.map +0 -1
  874. package/out/replicache/src/sync/ids.js.map +0 -1
  875. package/out/replicache/src/sync/patch.js.map +0 -1
  876. package/out/replicache/src/sync/pull-error.js.map +0 -1
  877. package/out/replicache/src/sync/pull.js +0 -166
  878. package/out/replicache/src/sync/pull.js.map +0 -1
  879. package/out/replicache/src/sync/push.js.map +0 -1
  880. package/out/replicache/src/sync/request-id.js.map +0 -1
  881. package/out/replicache/src/sync/sync-head-name.js.map +0 -1
  882. package/out/replicache/src/to-error.js.map +0 -1
  883. package/out/replicache/src/transaction-closed-error.js.map +0 -1
  884. package/out/replicache/src/transactions.js.map +0 -1
  885. package/out/replicache/src/version.js.map +0 -1
  886. package/out/replicache/src/with-transactions.js.map +0 -1
  887. package/out/shared/src/abort-error.js.map +0 -1
  888. package/out/shared/src/arrays.js.map +0 -1
  889. package/out/shared/src/asserts.js.map +0 -1
  890. package/out/shared/src/bigint-json.js.map +0 -1
  891. package/out/shared/src/binary-search.js.map +0 -1
  892. package/out/shared/src/broadcast-channel.js.map +0 -1
  893. package/out/shared/src/browser-env.js.map +0 -1
  894. package/out/shared/src/btree-set.js.map +0 -1
  895. package/out/shared/src/cache.js.map +0 -1
  896. package/out/shared/src/centroid.js.map +0 -1
  897. package/out/shared/src/config.js.map +0 -1
  898. package/out/shared/src/custom-key-map.js.map +0 -1
  899. package/out/shared/src/custom-key-set.js.map +0 -1
  900. package/out/shared/src/deep-clone.js.map +0 -1
  901. package/out/shared/src/deep-merge.js.map +0 -1
  902. package/out/shared/src/document-visible.js.map +0 -1
  903. package/out/shared/src/dotenv.js.map +0 -1
  904. package/out/shared/src/error.js.map +0 -1
  905. package/out/shared/src/has-own.js.map +0 -1
  906. package/out/shared/src/hash.js.map +0 -1
  907. package/out/shared/src/iterables.js.map +0 -1
  908. package/out/shared/src/json-schema.js.map +0 -1
  909. package/out/shared/src/json.js.map +0 -1
  910. package/out/shared/src/logging-test-utils.js.map +0 -1
  911. package/out/shared/src/logging.js.map +0 -1
  912. package/out/shared/src/must.js.map +0 -1
  913. package/out/shared/src/navigator.js.map +0 -1
  914. package/out/shared/src/object-traversal.js.map +0 -1
  915. package/out/shared/src/objects.js.map +0 -1
  916. package/out/shared/src/options.js.map +0 -1
  917. package/out/shared/src/parse-big-int.js.map +0 -1
  918. package/out/shared/src/promise-race.js.map +0 -1
  919. package/out/shared/src/queue.js +0 -126
  920. package/out/shared/src/queue.js.map +0 -1
  921. package/out/shared/src/rand.js.map +0 -1
  922. package/out/shared/src/random-uint64.js.map +0 -1
  923. package/out/shared/src/random-values.js.map +0 -1
  924. package/out/shared/src/record-proxy.js.map +0 -1
  925. package/out/shared/src/resolved-promises.js.map +0 -1
  926. package/out/shared/src/sentinels.js.map +0 -1
  927. package/out/shared/src/set-utils.js.map +0 -1
  928. package/out/shared/src/size-of-value.js.map +0 -1
  929. package/out/shared/src/sleep.js.map +0 -1
  930. package/out/shared/src/sorted-entries.js.map +0 -1
  931. package/out/shared/src/string-compare.js.map +0 -1
  932. package/out/shared/src/subscribable.js.map +0 -1
  933. package/out/shared/src/tdigest-schema.js.map +0 -1
  934. package/out/shared/src/tdigest.js.map +0 -1
  935. package/out/shared/src/valita.js +0 -172
  936. package/out/shared/src/valita.js.map +0 -1
  937. package/out/z2s/src/compiler.js.map +0 -1
  938. package/out/z2s/src/sql.js.map +0 -1
  939. package/out/zero/package.js +0 -205
  940. package/out/zero/package.js.map +0 -1
  941. package/out/zero-cache/src/auth/auth.js.map +0 -1
  942. package/out/zero-cache/src/auth/jwt.js.map +0 -1
  943. package/out/zero-cache/src/auth/load-permissions.js.map +0 -1
  944. package/out/zero-cache/src/auth/read-authorizer.js.map +0 -1
  945. package/out/zero-cache/src/auth/write-authorizer.js.map +0 -1
  946. package/out/zero-cache/src/config/network.js.map +0 -1
  947. package/out/zero-cache/src/config/normalize.js.map +0 -1
  948. package/out/zero-cache/src/config/server-context.js.map +0 -1
  949. package/out/zero-cache/src/config/zero-config.js +0 -916
  950. package/out/zero-cache/src/config/zero-config.js.map +0 -1
  951. package/out/zero-cache/src/custom/fetch.js.map +0 -1
  952. package/out/zero-cache/src/custom-queries/transform-query.js.map +0 -1
  953. package/out/zero-cache/src/db/create.js.map +0 -1
  954. package/out/zero-cache/src/db/delete-lite-db.js.map +0 -1
  955. package/out/zero-cache/src/db/lite-tables.js.map +0 -1
  956. package/out/zero-cache/src/db/migration-lite.js +0 -147
  957. package/out/zero-cache/src/db/migration-lite.js.map +0 -1
  958. package/out/zero-cache/src/db/migration.js +0 -120
  959. package/out/zero-cache/src/db/migration.js.map +0 -1
  960. package/out/zero-cache/src/db/mode-enum.js.map +0 -1
  961. package/out/zero-cache/src/db/pg-copy-binary.js.map +0 -1
  962. package/out/zero-cache/src/db/pg-copy.js.map +0 -1
  963. package/out/zero-cache/src/db/pg-to-lite.js.map +0 -1
  964. package/out/zero-cache/src/db/pg-type-parser.js.map +0 -1
  965. package/out/zero-cache/src/db/run-transaction.js.map +0 -1
  966. package/out/zero-cache/src/db/specs.js.map +0 -1
  967. package/out/zero-cache/src/db/statements.js.map +0 -1
  968. package/out/zero-cache/src/db/transaction-pool.js.map +0 -1
  969. package/out/zero-cache/src/db/warmup.js.map +0 -1
  970. package/out/zero-cache/src/observability/events.js.map +0 -1
  971. package/out/zero-cache/src/observability/metrics.js.map +0 -1
  972. package/out/zero-cache/src/scripts/decommission.js.map +0 -1
  973. package/out/zero-cache/src/scripts/deploy-permissions.js.map +0 -1
  974. package/out/zero-cache/src/scripts/permissions.js.map +0 -1
  975. package/out/zero-cache/src/server/anonymous-otel-start.js +0 -305
  976. package/out/zero-cache/src/server/anonymous-otel-start.js.map +0 -1
  977. package/out/zero-cache/src/server/inspector-delegate.js.map +0 -1
  978. package/out/zero-cache/src/server/logging.js.map +0 -1
  979. package/out/zero-cache/src/server/otel-diag-logger.js.map +0 -1
  980. package/out/zero-cache/src/server/otel-log-sink.js.map +0 -1
  981. package/out/zero-cache/src/server/otel-start.js +0 -53
  982. package/out/zero-cache/src/server/otel-start.js.map +0 -1
  983. package/out/zero-cache/src/server/priority-op.js.map +0 -1
  984. package/out/zero-cache/src/server/runner/main.js +0 -10
  985. package/out/zero-cache/src/server/runner/main.js.map +0 -1
  986. package/out/zero-cache/src/server/runner/run-worker.js.map +0 -1
  987. package/out/zero-cache/src/server/runner/runtime.js.map +0 -1
  988. package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +0 -1
  989. package/out/zero-cache/src/server/worker-dispatcher.js.map +0 -1
  990. package/out/zero-cache/src/server/worker-urls.js.map +0 -1
  991. package/out/zero-cache/src/services/analyze.js +0 -69
  992. package/out/zero-cache/src/services/analyze.js.map +0 -1
  993. package/out/zero-cache/src/services/change-source/common/backfill-manager.js.map +0 -1
  994. package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.js.map +0 -1
  995. package/out/zero-cache/src/services/change-source/common/replica-schema.js.map +0 -1
  996. package/out/zero-cache/src/services/change-source/custom/change-source.js.map +0 -1
  997. package/out/zero-cache/src/services/change-source/pg/backfill-metadata.js.map +0 -1
  998. package/out/zero-cache/src/services/change-source/pg/backfill-stream.js +0 -197
  999. package/out/zero-cache/src/services/change-source/pg/backfill-stream.js.map +0 -1
  1000. package/out/zero-cache/src/services/change-source/pg/change-source.js +0 -929
  1001. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +0 -1
  1002. package/out/zero-cache/src/services/change-source/pg/decommission.js.map +0 -1
  1003. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +0 -552
  1004. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +0 -1
  1005. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +0 -1
  1006. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js.map +0 -1
  1007. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +0 -1
  1008. package/out/zero-cache/src/services/change-source/pg/lsn.js.map +0 -1
  1009. package/out/zero-cache/src/services/change-source/pg/replication-slots.js +0 -162
  1010. package/out/zero-cache/src/services/change-source/pg/replication-slots.js.map +0 -1
  1011. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +0 -1
  1012. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +0 -1
  1013. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +0 -1
  1014. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +0 -330
  1015. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +0 -1
  1016. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +0 -1
  1017. package/out/zero-cache/src/services/change-source/protocol/current/control.js.map +0 -1
  1018. package/out/zero-cache/src/services/change-source/protocol/current/data.js +0 -192
  1019. package/out/zero-cache/src/services/change-source/protocol/current/data.js.map +0 -1
  1020. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js.map +0 -1
  1021. package/out/zero-cache/src/services/change-source/protocol/current/json.js.map +0 -1
  1022. package/out/zero-cache/src/services/change-source/protocol/current/path.js.map +0 -1
  1023. package/out/zero-cache/src/services/change-source/protocol/current/status.js.map +0 -1
  1024. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js.map +0 -1
  1025. package/out/zero-cache/src/services/change-source/protocol/current.js +0 -56
  1026. package/out/zero-cache/src/services/change-source/protocol/current.js.map +0 -1
  1027. package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +0 -1
  1028. package/out/zero-cache/src/services/change-streamer/broadcast.js.map +0 -1
  1029. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +0 -1
  1030. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +0 -1
  1031. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +0 -1
  1032. package/out/zero-cache/src/services/change-streamer/forwarder.js.map +0 -1
  1033. package/out/zero-cache/src/services/change-streamer/replica-monitor.js.map +0 -1
  1034. package/out/zero-cache/src/services/change-streamer/schema/init.js +0 -74
  1035. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +0 -1
  1036. package/out/zero-cache/src/services/change-streamer/schema/tables.js +0 -191
  1037. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +0 -1
  1038. package/out/zero-cache/src/services/change-streamer/snapshot.js +0 -27
  1039. package/out/zero-cache/src/services/change-streamer/snapshot.js.map +0 -1
  1040. package/out/zero-cache/src/services/change-streamer/storer.js.map +0 -1
  1041. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +0 -1
  1042. package/out/zero-cache/src/services/heapz.js.map +0 -1
  1043. package/out/zero-cache/src/services/http-service.js.map +0 -1
  1044. package/out/zero-cache/src/services/life-cycle.js +0 -195
  1045. package/out/zero-cache/src/services/life-cycle.js.map +0 -1
  1046. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js.map +0 -1
  1047. package/out/zero-cache/src/services/litestream/commands.js.map +0 -1
  1048. package/out/zero-cache/src/services/mutagen/error.js.map +0 -1
  1049. package/out/zero-cache/src/services/mutagen/mutagen.js.map +0 -1
  1050. package/out/zero-cache/src/services/mutagen/pusher.js.map +0 -1
  1051. package/out/zero-cache/src/services/replicator/change-processor.js.map +0 -1
  1052. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +0 -1
  1053. package/out/zero-cache/src/services/replicator/notifier.js.map +0 -1
  1054. package/out/zero-cache/src/services/replicator/replication-status.js.map +0 -1
  1055. package/out/zero-cache/src/services/replicator/replicator.js.map +0 -1
  1056. package/out/zero-cache/src/services/replicator/reporter/recorder.js.map +0 -1
  1057. package/out/zero-cache/src/services/replicator/reporter/report-schema.js.map +0 -1
  1058. package/out/zero-cache/src/services/replicator/schema/change-log.js.map +0 -1
  1059. package/out/zero-cache/src/services/replicator/schema/column-metadata.js.map +0 -1
  1060. package/out/zero-cache/src/services/replicator/schema/constants.js.map +0 -1
  1061. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +0 -1
  1062. package/out/zero-cache/src/services/replicator/schema/table-metadata.js.map +0 -1
  1063. package/out/zero-cache/src/services/replicator/write-worker-client.js.map +0 -1
  1064. package/out/zero-cache/src/services/replicator/write-worker.js.map +0 -1
  1065. package/out/zero-cache/src/services/run-ast.js +0 -87
  1066. package/out/zero-cache/src/services/run-ast.js.map +0 -1
  1067. package/out/zero-cache/src/services/runner.js.map +0 -1
  1068. package/out/zero-cache/src/services/running-state.js +0 -136
  1069. package/out/zero-cache/src/services/running-state.js.map +0 -1
  1070. package/out/zero-cache/src/services/shadow-sync/shadow-sync-service.js.map +0 -1
  1071. package/out/zero-cache/src/services/statz.js.map +0 -1
  1072. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js.map +0 -1
  1073. package/out/zero-cache/src/services/view-syncer/client-handler.js +0 -270
  1074. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +0 -1
  1075. package/out/zero-cache/src/services/view-syncer/client-schema.js.map +0 -1
  1076. package/out/zero-cache/src/services/view-syncer/connection-context-manager.js.map +0 -1
  1077. package/out/zero-cache/src/services/view-syncer/cvr-purger.js +0 -109
  1078. package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +0 -1
  1079. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +0 -1
  1080. package/out/zero-cache/src/services/view-syncer/cvr.js.map +0 -1
  1081. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +0 -1
  1082. package/out/zero-cache/src/services/view-syncer/inspect-handler.js +0 -102
  1083. package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +0 -1
  1084. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +0 -628
  1085. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +0 -1
  1086. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +0 -1
  1087. package/out/zero-cache/src/services/view-syncer/row-set-signature.js.map +0 -1
  1088. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +0 -1
  1089. package/out/zero-cache/src/services/view-syncer/schema/init.js +0 -158
  1090. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +0 -1
  1091. package/out/zero-cache/src/services/view-syncer/schema/types.js +0 -176
  1092. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +0 -1
  1093. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +0 -1
  1094. package/out/zero-cache/src/services/view-syncer/tracer.js.map +0 -1
  1095. package/out/zero-cache/src/services/view-syncer/ttl-clock.js.map +0 -1
  1096. package/out/zero-cache/src/services/view-syncer/view-syncer.js +0 -1235
  1097. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +0 -1
  1098. package/out/zero-cache/src/types/error-with-level.js.map +0 -1
  1099. package/out/zero-cache/src/types/http.js.map +0 -1
  1100. package/out/zero-cache/src/types/lexi-version.js.map +0 -1
  1101. package/out/zero-cache/src/types/lite.js.map +0 -1
  1102. package/out/zero-cache/src/types/names.js.map +0 -1
  1103. package/out/zero-cache/src/types/pg-data-type.js.map +0 -1
  1104. package/out/zero-cache/src/types/pg-types.js.map +0 -1
  1105. package/out/zero-cache/src/types/pg-versions.js.map +0 -1
  1106. package/out/zero-cache/src/types/pg.js +0 -189
  1107. package/out/zero-cache/src/types/pg.js.map +0 -1
  1108. package/out/zero-cache/src/types/processes.js.map +0 -1
  1109. package/out/zero-cache/src/types/profiler.js.map +0 -1
  1110. package/out/zero-cache/src/types/row-key.js.map +0 -1
  1111. package/out/zero-cache/src/types/shards.js.map +0 -1
  1112. package/out/zero-cache/src/types/sql.js.map +0 -1
  1113. package/out/zero-cache/src/types/state-version.js.map +0 -1
  1114. package/out/zero-cache/src/types/streams.js.map +0 -1
  1115. package/out/zero-cache/src/types/strings.js.map +0 -1
  1116. package/out/zero-cache/src/types/subscription.js.map +0 -1
  1117. package/out/zero-cache/src/types/timeout.js.map +0 -1
  1118. package/out/zero-cache/src/types/url-params.js.map +0 -1
  1119. package/out/zero-cache/src/types/websocket-handoff.js.map +0 -1
  1120. package/out/zero-cache/src/types/ws.js.map +0 -1
  1121. package/out/zero-cache/src/workers/connect-params.js.map +0 -1
  1122. package/out/zero-cache/src/workers/connection.js.map +0 -1
  1123. package/out/zero-cache/src/workers/mutator.js.map +0 -1
  1124. package/out/zero-cache/src/workers/replicator.js.map +0 -1
  1125. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +0 -1
  1126. package/out/zero-cache/src/workers/syncer.js.map +0 -1
  1127. package/out/zero-client/src/client/active-clients-manager.js.map +0 -1
  1128. package/out/zero-client/src/client/client-error-kind-enum.js.map +0 -1
  1129. package/out/zero-client/src/client/connection-manager.js +0 -295
  1130. package/out/zero-client/src/client/connection-manager.js.map +0 -1
  1131. package/out/zero-client/src/client/connection-status-enum.js +0 -20
  1132. package/out/zero-client/src/client/connection-status-enum.js.map +0 -1
  1133. package/out/zero-client/src/client/connection.js.map +0 -1
  1134. package/out/zero-client/src/client/context.js.map +0 -1
  1135. package/out/zero-client/src/client/crud-impl.js +0 -61
  1136. package/out/zero-client/src/client/crud-impl.js.map +0 -1
  1137. package/out/zero-client/src/client/crud.js.map +0 -1
  1138. package/out/zero-client/src/client/custom.js +0 -63
  1139. package/out/zero-client/src/client/custom.js.map +0 -1
  1140. package/out/zero-client/src/client/delete-clients-manager.js.map +0 -1
  1141. package/out/zero-client/src/client/enable-analytics.js.map +0 -1
  1142. package/out/zero-client/src/client/error.js.map +0 -1
  1143. package/out/zero-client/src/client/http-string.js.map +0 -1
  1144. package/out/zero-client/src/client/inspector/client-group.js.map +0 -1
  1145. package/out/zero-client/src/client/inspector/client.js.map +0 -1
  1146. package/out/zero-client/src/client/inspector/html-dialog-prompt.js.map +0 -1
  1147. package/out/zero-client/src/client/inspector/inspector.js.map +0 -1
  1148. package/out/zero-client/src/client/inspector/lazy-inspector.js.map +0 -1
  1149. package/out/zero-client/src/client/inspector/query.js.map +0 -1
  1150. package/out/zero-client/src/client/ivm-branch.js.map +0 -1
  1151. package/out/zero-client/src/client/keys.js.map +0 -1
  1152. package/out/zero-client/src/client/log-options.js.map +0 -1
  1153. package/out/zero-client/src/client/make-mutate-property.js.map +0 -1
  1154. package/out/zero-client/src/client/make-replicache-mutators.js.map +0 -1
  1155. package/out/zero-client/src/client/metric-name-enum.js.map +0 -1
  1156. package/out/zero-client/src/client/metrics.js.map +0 -1
  1157. package/out/zero-client/src/client/mutation-tracker.js.map +0 -1
  1158. package/out/zero-client/src/client/mutator-proxy.js.map +0 -1
  1159. package/out/zero-client/src/client/options.js.map +0 -1
  1160. package/out/zero-client/src/client/query-manager.js.map +0 -1
  1161. package/out/zero-client/src/client/reload-error-handler.js.map +0 -1
  1162. package/out/zero-client/src/client/server-option.js.map +0 -1
  1163. package/out/zero-client/src/client/update-needed-reason-type-enum.js +0 -27
  1164. package/out/zero-client/src/client/update-needed-reason-type-enum.js.map +0 -1
  1165. package/out/zero-client/src/client/version.js +0 -9
  1166. package/out/zero-client/src/client/version.js.map +0 -1
  1167. package/out/zero-client/src/client/zero-poke-handler.js.map +0 -1
  1168. package/out/zero-client/src/client/zero-rep.js.map +0 -1
  1169. package/out/zero-client/src/client/zero.js +0 -1443
  1170. package/out/zero-client/src/client/zero.js.map +0 -1
  1171. package/out/zero-client/src/util/nanoid.js.map +0 -1
  1172. package/out/zero-client/src/util/socket.d.ts +0 -3
  1173. package/out/zero-client/src/util/socket.d.ts.map +0 -1
  1174. package/out/zero-client/src/util/socket.js +0 -8
  1175. package/out/zero-client/src/util/socket.js.map +0 -1
  1176. package/out/zero-protocol/src/analyze-query-result.js +0 -120
  1177. package/out/zero-protocol/src/analyze-query-result.js.map +0 -1
  1178. package/out/zero-protocol/src/application-error.js.map +0 -1
  1179. package/out/zero-protocol/src/ast.js.map +0 -1
  1180. package/out/zero-protocol/src/change-desired-queries.js +0 -12
  1181. package/out/zero-protocol/src/change-desired-queries.js.map +0 -1
  1182. package/out/zero-protocol/src/client-schema.js.map +0 -1
  1183. package/out/zero-protocol/src/close-connection.js.map +0 -1
  1184. package/out/zero-protocol/src/connect.js +0 -47
  1185. package/out/zero-protocol/src/connect.js.map +0 -1
  1186. package/out/zero-protocol/src/custom-queries.js.map +0 -1
  1187. package/out/zero-protocol/src/data.js.map +0 -1
  1188. package/out/zero-protocol/src/delete-clients.js.map +0 -1
  1189. package/out/zero-protocol/src/down.js.map +0 -1
  1190. package/out/zero-protocol/src/error-kind-enum.js.map +0 -1
  1191. package/out/zero-protocol/src/error-origin-enum.js.map +0 -1
  1192. package/out/zero-protocol/src/error-reason-enum.js.map +0 -1
  1193. package/out/zero-protocol/src/error.js +0 -84
  1194. package/out/zero-protocol/src/error.js.map +0 -1
  1195. package/out/zero-protocol/src/inspect-down.js.map +0 -1
  1196. package/out/zero-protocol/src/inspect-up.js +0 -34
  1197. package/out/zero-protocol/src/inspect-up.js.map +0 -1
  1198. package/out/zero-protocol/src/mutate-server.js.map +0 -1
  1199. package/out/zero-protocol/src/mutation-id.js.map +0 -1
  1200. package/out/zero-protocol/src/mutation-type-enum.js.map +0 -1
  1201. package/out/zero-protocol/src/mutation.js.map +0 -1
  1202. package/out/zero-protocol/src/mutations-patch.js.map +0 -1
  1203. package/out/zero-protocol/src/ping.js.map +0 -1
  1204. package/out/zero-protocol/src/poke.js +0 -59
  1205. package/out/zero-protocol/src/poke.js.map +0 -1
  1206. package/out/zero-protocol/src/pong.js.map +0 -1
  1207. package/out/zero-protocol/src/primary-key.js.map +0 -1
  1208. package/out/zero-protocol/src/protocol-version.js.map +0 -1
  1209. package/out/zero-protocol/src/pull.js.map +0 -1
  1210. package/out/zero-protocol/src/push.js +0 -60
  1211. package/out/zero-protocol/src/push.js.map +0 -1
  1212. package/out/zero-protocol/src/queries-patch.js.map +0 -1
  1213. package/out/zero-protocol/src/query-hash.js.map +0 -1
  1214. package/out/zero-protocol/src/query-server.js.map +0 -1
  1215. package/out/zero-protocol/src/row-patch.js.map +0 -1
  1216. package/out/zero-protocol/src/up.js.map +0 -1
  1217. package/out/zero-protocol/src/update-auth.js.map +0 -1
  1218. package/out/zero-protocol/src/version.js.map +0 -1
  1219. package/out/zero-react/src/use-connection-state.js +0 -17
  1220. package/out/zero-react/src/use-connection-state.js.map +0 -1
  1221. package/out/zero-react/src/use-query.js +0 -299
  1222. package/out/zero-react/src/use-query.js.map +0 -1
  1223. package/out/zero-react/src/use-zero-online.js +0 -20
  1224. package/out/zero-react/src/use-zero-online.js.map +0 -1
  1225. package/out/zero-react/src/zero-provider.js +0 -87
  1226. package/out/zero-react/src/zero-provider.js.map +0 -1
  1227. package/out/zero-schema/src/builder/relationship-builder.js.map +0 -1
  1228. package/out/zero-schema/src/builder/schema-builder.js.map +0 -1
  1229. package/out/zero-schema/src/builder/table-builder.js.map +0 -1
  1230. package/out/zero-schema/src/compiled-permissions.js.map +0 -1
  1231. package/out/zero-schema/src/name-mapper.js.map +0 -1
  1232. package/out/zero-schema/src/permissions.js.map +0 -1
  1233. package/out/zero-schema/src/schema-config.js.map +0 -1
  1234. package/out/zero-server/src/adapters/drizzle.js.map +0 -1
  1235. package/out/zero-server/src/adapters/kysely.js.map +0 -1
  1236. package/out/zero-server/src/adapters/pg.js +0 -83
  1237. package/out/zero-server/src/adapters/pg.js.map +0 -1
  1238. package/out/zero-server/src/adapters/postgresjs.js.map +0 -1
  1239. package/out/zero-server/src/adapters/prisma.js.map +0 -1
  1240. package/out/zero-server/src/custom.js +0 -214
  1241. package/out/zero-server/src/custom.js.map +0 -1
  1242. package/out/zero-server/src/logging.js.map +0 -1
  1243. package/out/zero-server/src/pg-query-executor.js.map +0 -1
  1244. package/out/zero-server/src/process-mutations.js.map +0 -1
  1245. package/out/zero-server/src/push-processor.js.map +0 -1
  1246. package/out/zero-server/src/queries/process-queries.js.map +0 -1
  1247. package/out/zero-server/src/schema.js.map +0 -1
  1248. package/out/zero-server/src/zql-database.js.map +0 -1
  1249. package/out/zero-solid/src/solid-view.js +0 -145
  1250. package/out/zero-solid/src/solid-view.js.map +0 -1
  1251. package/out/zero-solid/src/use-connection-state.js +0 -21
  1252. package/out/zero-solid/src/use-connection-state.js.map +0 -1
  1253. package/out/zero-solid/src/use-query.js +0 -64
  1254. package/out/zero-solid/src/use-query.js.map +0 -1
  1255. package/out/zero-solid/src/use-zero-online.js +0 -21
  1256. package/out/zero-solid/src/use-zero-online.js.map +0 -1
  1257. package/out/zero-solid/src/use-zero.js +0 -93
  1258. package/out/zero-solid/src/use-zero.js.map +0 -1
  1259. package/out/zero-types/src/format.js.map +0 -1
  1260. package/out/zero-types/src/name-mapper.js.map +0 -1
  1261. package/out/zql/src/builder/builder.js +0 -370
  1262. package/out/zql/src/builder/builder.js.map +0 -1
  1263. package/out/zql/src/builder/debug-delegate.js +0 -72
  1264. package/out/zql/src/builder/debug-delegate.js.map +0 -1
  1265. package/out/zql/src/builder/filter.js.map +0 -1
  1266. package/out/zql/src/builder/like.js.map +0 -1
  1267. package/out/zql/src/error.js.map +0 -1
  1268. package/out/zql/src/ivm/array-view.js.map +0 -1
  1269. package/out/zql/src/ivm/change.js.map +0 -1
  1270. package/out/zql/src/ivm/constraint.js +0 -82
  1271. package/out/zql/src/ivm/constraint.js.map +0 -1
  1272. package/out/zql/src/ivm/data.js.map +0 -1
  1273. package/out/zql/src/ivm/exists.js.map +0 -1
  1274. package/out/zql/src/ivm/fan-in.js.map +0 -1
  1275. package/out/zql/src/ivm/fan-out.js.map +0 -1
  1276. package/out/zql/src/ivm/filter-operators.js.map +0 -1
  1277. package/out/zql/src/ivm/filter-push.js.map +0 -1
  1278. package/out/zql/src/ivm/filter.js.map +0 -1
  1279. package/out/zql/src/ivm/flipped-join.js +0 -311
  1280. package/out/zql/src/ivm/flipped-join.js.map +0 -1
  1281. package/out/zql/src/ivm/join-utils.js.map +0 -1
  1282. package/out/zql/src/ivm/join.js.map +0 -1
  1283. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +0 -1
  1284. package/out/zql/src/ivm/memory-source.js +0 -612
  1285. package/out/zql/src/ivm/memory-source.js.map +0 -1
  1286. package/out/zql/src/ivm/memory-storage.js.map +0 -1
  1287. package/out/zql/src/ivm/operator.js.map +0 -1
  1288. package/out/zql/src/ivm/push-accumulated.js.map +0 -1
  1289. package/out/zql/src/ivm/skip-yields.js.map +0 -1
  1290. package/out/zql/src/ivm/skip.js.map +0 -1
  1291. package/out/zql/src/ivm/source.js.map +0 -1
  1292. package/out/zql/src/ivm/stream.js.map +0 -1
  1293. package/out/zql/src/ivm/take.js +0 -410
  1294. package/out/zql/src/ivm/take.js.map +0 -1
  1295. package/out/zql/src/ivm/union-fan-in.js +0 -163
  1296. package/out/zql/src/ivm/union-fan-in.js.map +0 -1
  1297. package/out/zql/src/ivm/union-fan-out.js.map +0 -1
  1298. package/out/zql/src/ivm/view-apply-change.js.map +0 -1
  1299. package/out/zql/src/mutate/crud.js.map +0 -1
  1300. package/out/zql/src/mutate/custom.js.map +0 -1
  1301. package/out/zql/src/mutate/mutator-registry.js.map +0 -1
  1302. package/out/zql/src/mutate/mutator.js.map +0 -1
  1303. package/out/zql/src/planner/planner-builder.js.map +0 -1
  1304. package/out/zql/src/planner/planner-connection.js.map +0 -1
  1305. package/out/zql/src/planner/planner-constraint.js.map +0 -1
  1306. package/out/zql/src/planner/planner-debug.js.map +0 -1
  1307. package/out/zql/src/planner/planner-fan-in.js.map +0 -1
  1308. package/out/zql/src/planner/planner-fan-out.js.map +0 -1
  1309. package/out/zql/src/planner/planner-graph.js.map +0 -1
  1310. package/out/zql/src/planner/planner-join.js +0 -261
  1311. package/out/zql/src/planner/planner-join.js.map +0 -1
  1312. package/out/zql/src/planner/planner-node.js.map +0 -1
  1313. package/out/zql/src/planner/planner-source.js.map +0 -1
  1314. package/out/zql/src/planner/planner-terminus.js.map +0 -1
  1315. package/out/zql/src/query/complete-ordering.js.map +0 -1
  1316. package/out/zql/src/query/create-builder.js.map +0 -1
  1317. package/out/zql/src/query/error.js.map +0 -1
  1318. package/out/zql/src/query/escape-like.js.map +0 -1
  1319. package/out/zql/src/query/expression.js.map +0 -1
  1320. package/out/zql/src/query/measure-push-operator.js.map +0 -1
  1321. package/out/zql/src/query/metrics-delegate.js.map +0 -1
  1322. package/out/zql/src/query/named.js.map +0 -1
  1323. package/out/zql/src/query/query-delegate-base.js.map +0 -1
  1324. package/out/zql/src/query/query-impl.js +0 -290
  1325. package/out/zql/src/query/query-impl.js.map +0 -1
  1326. package/out/zql/src/query/query-internals.js.map +0 -1
  1327. package/out/zql/src/query/query-registry.js.map +0 -1
  1328. package/out/zql/src/query/runnable-query-impl.js.map +0 -1
  1329. package/out/zql/src/query/static-query.js.map +0 -1
  1330. package/out/zql/src/query/ttl.js.map +0 -1
  1331. package/out/zql/src/query/validate-input.js.map +0 -1
  1332. package/out/zqlite/src/database-storage.js.map +0 -1
  1333. package/out/zqlite/src/db.js.map +0 -1
  1334. package/out/zqlite/src/explain-queries.js.map +0 -1
  1335. package/out/zqlite/src/internal/sql-inline.js.map +0 -1
  1336. package/out/zqlite/src/internal/sql.js.map +0 -1
  1337. package/out/zqlite/src/internal/statement-cache.js.map +0 -1
  1338. package/out/zqlite/src/query-builder.js.map +0 -1
  1339. package/out/zqlite/src/query-delegate.js.map +0 -1
  1340. package/out/zqlite/src/resolve-scalar-subqueries.js.map +0 -1
  1341. package/out/zqlite/src/sqlite-cost-model.js.map +0 -1
  1342. package/out/zqlite/src/sqlite-stat-fanout.js.map +0 -1
  1343. package/out/zqlite/src/table-source.js +0 -313
  1344. package/out/zqlite/src/table-source.js.map +0 -1
  1345. /package/out/{analyze-query → packages/analyze-query}/src/analyze-cli.js +0 -0
  1346. /package/out/{analyze-query → packages/analyze-query}/src/bin-transform.js +0 -0
  1347. /package/out/{ast-to-zql → packages/ast-to-zql}/src/ast-to-zql.js +0 -0
  1348. /package/out/{ast-to-zql → packages/ast-to-zql}/src/bin.js +0 -0
  1349. /package/out/{ast-to-zql → packages/ast-to-zql}/src/format.js +0 -0
  1350. /package/out/{datadog → packages/datadog}/src/datadog-log-sink.js +0 -0
  1351. /package/out/{otel → packages/otel}/src/enabled.js +0 -0
  1352. /package/out/{otel → packages/otel}/src/log-options.js +0 -0
  1353. /package/out/{otel → packages/otel}/src/maybe-time.js +0 -0
  1354. /package/out/{otel → packages/otel}/src/span.js +0 -0
  1355. /package/out/{otel → packages/otel}/src/version.js +0 -0
  1356. /package/out/{replicache → packages/replicache}/src/async-iterable-to-array.js +0 -0
  1357. /package/out/{replicache → packages/replicache}/src/bg-interval.js +0 -0
  1358. /package/out/{replicache → packages/replicache}/src/btree/diff.js +0 -0
  1359. /package/out/{replicache → packages/replicache}/src/btree/node.js +0 -0
  1360. /package/out/{replicache → packages/replicache}/src/btree/read.js +0 -0
  1361. /package/out/{replicache → packages/replicache}/src/btree/splice.js +0 -0
  1362. /package/out/{replicache → packages/replicache}/src/call-default-fetch.js +0 -0
  1363. /package/out/{replicache → packages/replicache}/src/config.js +0 -0
  1364. /package/out/{replicache → packages/replicache}/src/connection-loop-delegates.js +0 -0
  1365. /package/out/{replicache → packages/replicache}/src/connection-loop.js +0 -0
  1366. /package/out/{replicache → packages/replicache}/src/cookies.js +0 -0
  1367. /package/out/{replicache → packages/replicache}/src/dag/chunk.js +0 -0
  1368. /package/out/{replicache → packages/replicache}/src/dag/gc.js +0 -0
  1369. /package/out/{replicache → packages/replicache}/src/dag/key.js +0 -0
  1370. /package/out/{replicache → packages/replicache}/src/dag/lazy-store.js +0 -0
  1371. /package/out/{replicache → packages/replicache}/src/dag/store.js +0 -0
  1372. /package/out/{replicache → packages/replicache}/src/dag/visitor.js +0 -0
  1373. /package/out/{replicache → packages/replicache}/src/db/commit.js +0 -0
  1374. /package/out/{replicache → packages/replicache}/src/db/index.js +0 -0
  1375. /package/out/{replicache → packages/replicache}/src/db/read.js +0 -0
  1376. /package/out/{replicache → packages/replicache}/src/db/rebase.js +0 -0
  1377. /package/out/{replicache → packages/replicache}/src/db/write.js +0 -0
  1378. /package/out/{replicache → packages/replicache}/src/deleted-clients.js +0 -0
  1379. /package/out/{replicache → packages/replicache}/src/error-responses.js +0 -0
  1380. /package/out/{replicache → packages/replicache}/src/expo-sqlite.js +0 -0
  1381. /package/out/{replicache → packages/replicache}/src/frozen-json.js +0 -0
  1382. /package/out/{replicache → packages/replicache}/src/get-default-puller.js +0 -0
  1383. /package/out/{replicache → packages/replicache}/src/get-default-pusher.js +0 -0
  1384. /package/out/{replicache → packages/replicache}/src/get-kv-store-provider.js +0 -0
  1385. /package/out/{replicache → packages/replicache}/src/hash.js +0 -0
  1386. /package/out/{replicache → packages/replicache}/src/http-request-info.js +0 -0
  1387. /package/out/{replicache → packages/replicache}/src/impl.js +0 -0
  1388. /package/out/{replicache → packages/replicache}/src/index-defs.js +0 -0
  1389. /package/out/{replicache → packages/replicache}/src/kv/idb-store-with-mem-fallback.js +0 -0
  1390. /package/out/{replicache → packages/replicache}/src/kv/idb-store.js +0 -0
  1391. /package/out/{replicache → packages/replicache}/src/kv/mem-store.js +0 -0
  1392. /package/out/{replicache → packages/replicache}/src/kv/op-sqlite/types.js +0 -0
  1393. /package/out/{replicache → packages/replicache}/src/kv/read-impl.js +0 -0
  1394. /package/out/{replicache → packages/replicache}/src/kv/write-impl-base.js +0 -0
  1395. /package/out/{replicache → packages/replicache}/src/kv/write-impl.js +0 -0
  1396. /package/out/{replicache → packages/replicache}/src/lazy.js +0 -0
  1397. /package/out/{replicache → packages/replicache}/src/log-options.js +0 -0
  1398. /package/out/{replicache → packages/replicache}/src/make-idb-name.js +0 -0
  1399. /package/out/{replicache → packages/replicache}/src/mutation-recovery.js +0 -0
  1400. /package/out/{replicache → packages/replicache}/src/new-client-channel.js +0 -0
  1401. /package/out/{replicache → packages/replicache}/src/on-persist-channel.js +0 -0
  1402. /package/out/{replicache → packages/replicache}/src/op-sqlite.js +0 -0
  1403. /package/out/{replicache → packages/replicache}/src/patch-operation.js +0 -0
  1404. /package/out/{replicache → packages/replicache}/src/pending-mutations.js +0 -0
  1405. /package/out/{replicache → packages/replicache}/src/persist/client-gc.js +0 -0
  1406. /package/out/{replicache → packages/replicache}/src/persist/client-group-gc.js +0 -0
  1407. /package/out/{replicache → packages/replicache}/src/persist/collect-idb-databases.js +0 -0
  1408. /package/out/{replicache → packages/replicache}/src/persist/gather-mem-only-visitor.js +0 -0
  1409. /package/out/{replicache → packages/replicache}/src/persist/gather-not-cached-visitor.js +0 -0
  1410. /package/out/{replicache → packages/replicache}/src/persist/heartbeat.js +0 -0
  1411. /package/out/{replicache → packages/replicache}/src/persist/idb-databases-store-db-name.js +0 -0
  1412. /package/out/{replicache → packages/replicache}/src/persist/idb-databases-store.js +0 -0
  1413. /package/out/{replicache → packages/replicache}/src/persist/make-client-id.js +0 -0
  1414. /package/out/{replicache → packages/replicache}/src/persist/refresh.js +0 -0
  1415. /package/out/{replicache → packages/replicache}/src/process-scheduler.js +0 -0
  1416. /package/out/{replicache → packages/replicache}/src/pusher.js +0 -0
  1417. /package/out/{replicache → packages/replicache}/src/replicache-impl.js +0 -0
  1418. /package/out/{replicache → packages/replicache}/src/report-error.js +0 -0
  1419. /package/out/{replicache → packages/replicache}/src/request-idle.js +0 -0
  1420. /package/out/{replicache → packages/replicache}/src/scan-iterator.js +0 -0
  1421. /package/out/{replicache → packages/replicache}/src/scan-options.js +0 -0
  1422. /package/out/{replicache → packages/replicache}/src/set-interval-with-signal.js +0 -0
  1423. /package/out/{replicache → packages/replicache}/src/sqlite.js +0 -0
  1424. /package/out/{replicache → packages/replicache}/src/subscriptions.js +0 -0
  1425. /package/out/{replicache → packages/replicache}/src/sync/diff.js +0 -0
  1426. /package/out/{replicache → packages/replicache}/src/sync/ids.js +0 -0
  1427. /package/out/{replicache → packages/replicache}/src/sync/patch.js +0 -0
  1428. /package/out/{replicache → packages/replicache}/src/sync/pull-error.js +0 -0
  1429. /package/out/{replicache → packages/replicache}/src/sync/push.js +0 -0
  1430. /package/out/{replicache → packages/replicache}/src/sync/request-id.js +0 -0
  1431. /package/out/{replicache → packages/replicache}/src/sync/sync-head-name.js +0 -0
  1432. /package/out/{replicache → packages/replicache}/src/to-error.js +0 -0
  1433. /package/out/{replicache → packages/replicache}/src/transaction-closed-error.js +0 -0
  1434. /package/out/{replicache → packages/replicache}/src/transactions.js +0 -0
  1435. /package/out/{replicache → packages/replicache}/src/version.js +0 -0
  1436. /package/out/{replicache → packages/replicache}/src/with-transactions.js +0 -0
  1437. /package/out/{shared → packages/shared}/src/abort-error.js +0 -0
  1438. /package/out/{shared → packages/shared}/src/arrays.js +0 -0
  1439. /package/out/{shared → packages/shared}/src/asserts.js +0 -0
  1440. /package/out/{shared → packages/shared}/src/bigint-json.js +0 -0
  1441. /package/out/{shared → packages/shared}/src/binary-search.js +0 -0
  1442. /package/out/{shared → packages/shared}/src/broadcast-channel.js +0 -0
  1443. /package/out/{shared → packages/shared}/src/browser-env.js +0 -0
  1444. /package/out/{shared → packages/shared}/src/btree-set.js +0 -0
  1445. /package/out/{shared → packages/shared}/src/cache.js +0 -0
  1446. /package/out/{shared → packages/shared}/src/centroid.js +0 -0
  1447. /package/out/{shared → packages/shared}/src/config.js +0 -0
  1448. /package/out/{shared → packages/shared}/src/custom-key-map.js +0 -0
  1449. /package/out/{shared → packages/shared}/src/custom-key-set.js +0 -0
  1450. /package/out/{shared → packages/shared}/src/deep-clone.js +0 -0
  1451. /package/out/{shared → packages/shared}/src/deep-merge.js +0 -0
  1452. /package/out/{shared → packages/shared}/src/document-visible.js +0 -0
  1453. /package/out/{shared → packages/shared}/src/dotenv.js +0 -0
  1454. /package/out/{shared → packages/shared}/src/error.js +0 -0
  1455. /package/out/{shared → packages/shared}/src/has-own.js +0 -0
  1456. /package/out/{shared → packages/shared}/src/hash.js +0 -0
  1457. /package/out/{shared → packages/shared}/src/iterables.js +0 -0
  1458. /package/out/{shared → packages/shared}/src/json-schema.js +0 -0
  1459. /package/out/{shared → packages/shared}/src/json.js +0 -0
  1460. /package/out/{shared → packages/shared}/src/logging-test-utils.js +0 -0
  1461. /package/out/{shared → packages/shared}/src/logging.js +0 -0
  1462. /package/out/{shared → packages/shared}/src/must.js +0 -0
  1463. /package/out/{shared → packages/shared}/src/navigator.js +0 -0
  1464. /package/out/{shared → packages/shared}/src/object-traversal.js +0 -0
  1465. /package/out/{shared → packages/shared}/src/objects.js +0 -0
  1466. /package/out/{shared → packages/shared}/src/options.js +0 -0
  1467. /package/out/{shared → packages/shared}/src/parse-big-int.js +0 -0
  1468. /package/out/{shared → packages/shared}/src/promise-race.js +0 -0
  1469. /package/out/{shared → packages/shared}/src/rand.js +0 -0
  1470. /package/out/{shared → packages/shared}/src/random-uint64.js +0 -0
  1471. /package/out/{shared → packages/shared}/src/random-values.js +0 -0
  1472. /package/out/{shared → packages/shared}/src/record-proxy.js +0 -0
  1473. /package/out/{shared → packages/shared}/src/resolved-promises.js +0 -0
  1474. /package/out/{shared → packages/shared}/src/sentinels.js +0 -0
  1475. /package/out/{shared → packages/shared}/src/set-utils.js +0 -0
  1476. /package/out/{shared → packages/shared}/src/size-of-value.js +0 -0
  1477. /package/out/{shared → packages/shared}/src/sleep.js +0 -0
  1478. /package/out/{shared → packages/shared}/src/sorted-entries.js +0 -0
  1479. /package/out/{shared → packages/shared}/src/string-compare.js +0 -0
  1480. /package/out/{shared → packages/shared}/src/subscribable.js +0 -0
  1481. /package/out/{shared → packages/shared}/src/tdigest-schema.js +0 -0
  1482. /package/out/{shared → packages/shared}/src/tdigest.js +0 -0
  1483. /package/out/{z2s → packages/z2s}/src/compiler.js +0 -0
  1484. /package/out/{z2s → packages/z2s}/src/sql.js +0 -0
  1485. /package/out/{zero → packages/zero}/src/server/runner/main.js +0 -0
  1486. /package/out/{zero-cache → packages/zero-cache}/src/auth/auth.js +0 -0
  1487. /package/out/{zero-cache → packages/zero-cache}/src/auth/jwt.js +0 -0
  1488. /package/out/{zero-cache → packages/zero-cache}/src/auth/load-permissions.js +0 -0
  1489. /package/out/{zero-cache → packages/zero-cache}/src/auth/read-authorizer.js +0 -0
  1490. /package/out/{zero-cache → packages/zero-cache}/src/auth/write-authorizer.js +0 -0
  1491. /package/out/{zero-cache → packages/zero-cache}/src/config/network.js +0 -0
  1492. /package/out/{zero-cache → packages/zero-cache}/src/config/normalize.js +0 -0
  1493. /package/out/{zero-cache → packages/zero-cache}/src/config/server-context.js +0 -0
  1494. /package/out/{zero-cache → packages/zero-cache}/src/custom/fetch.js +0 -0
  1495. /package/out/{zero-cache → packages/zero-cache}/src/custom-queries/transform-query.js +0 -0
  1496. /package/out/{zero-cache → packages/zero-cache}/src/db/create.js +0 -0
  1497. /package/out/{zero-cache → packages/zero-cache}/src/db/delete-lite-db.js +0 -0
  1498. /package/out/{zero-cache → packages/zero-cache}/src/db/lite-tables.js +0 -0
  1499. /package/out/{zero-cache → packages/zero-cache}/src/db/mode-enum.js +0 -0
  1500. /package/out/{zero-cache → packages/zero-cache}/src/db/pg-copy-binary.js +0 -0
  1501. /package/out/{zero-cache → packages/zero-cache}/src/db/pg-copy.js +0 -0
  1502. /package/out/{zero-cache → packages/zero-cache}/src/db/pg-to-lite.js +0 -0
  1503. /package/out/{zero-cache → packages/zero-cache}/src/db/pg-type-parser.js +0 -0
  1504. /package/out/{zero-cache → packages/zero-cache}/src/db/run-transaction.js +0 -0
  1505. /package/out/{zero-cache → packages/zero-cache}/src/db/specs.js +0 -0
  1506. /package/out/{zero-cache → packages/zero-cache}/src/db/statements.js +0 -0
  1507. /package/out/{zero-cache → packages/zero-cache}/src/db/transaction-pool.js +0 -0
  1508. /package/out/{zero-cache → packages/zero-cache}/src/db/warmup.js +0 -0
  1509. /package/out/{zero-cache → packages/zero-cache}/src/observability/events.js +0 -0
  1510. /package/out/{zero-cache → packages/zero-cache}/src/observability/metrics.js +0 -0
  1511. /package/out/{zero-cache → packages/zero-cache}/src/scripts/decommission.js +0 -0
  1512. /package/out/{zero-cache → packages/zero-cache}/src/scripts/deploy-permissions.js +0 -0
  1513. /package/out/{zero-cache → packages/zero-cache}/src/scripts/permissions.js +0 -0
  1514. /package/out/{zero-cache → packages/zero-cache}/src/server/inspector-delegate.js +0 -0
  1515. /package/out/{zero-cache → packages/zero-cache}/src/server/logging.js +0 -0
  1516. /package/out/{zero-cache → packages/zero-cache}/src/server/otel-diag-logger.js +0 -0
  1517. /package/out/{zero-cache → packages/zero-cache}/src/server/otel-log-sink.js +0 -0
  1518. /package/out/{zero-cache → packages/zero-cache}/src/server/priority-op.js +0 -0
  1519. /package/out/{zero-cache → packages/zero-cache}/src/server/runner/run-worker.js +0 -0
  1520. /package/out/{zero-cache → packages/zero-cache}/src/server/runner/runtime.js +0 -0
  1521. /package/out/{zero-cache → packages/zero-cache}/src/server/runner/zero-dispatcher.js +0 -0
  1522. /package/out/{zero-cache → packages/zero-cache}/src/server/worker-dispatcher.js +0 -0
  1523. /package/out/{zero-cache → packages/zero-cache}/src/server/worker-urls.js +0 -0
  1524. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/common/backfill-manager.js +0 -0
  1525. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/common/change-stream-multiplexer.js +0 -0
  1526. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/common/replica-schema.js +0 -0
  1527. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/custom/change-source.js +0 -0
  1528. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/backfill-metadata.js +0 -0
  1529. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/decommission.js +0 -0
  1530. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/logical-replication/binary-reader.js +0 -0
  1531. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/logical-replication/pgoutput-parser.js +0 -0
  1532. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/logical-replication/stream.js +0 -0
  1533. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/lsn.js +0 -0
  1534. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/schema/ddl.js +0 -0
  1535. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/schema/init.js +0 -0
  1536. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/schema/published.js +0 -0
  1537. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/schema/validation.js +0 -0
  1538. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/control.js +0 -0
  1539. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/downstream.js +0 -0
  1540. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/json.js +0 -0
  1541. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/path.js +0 -0
  1542. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/status.js +0 -0
  1543. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/upstream.js +0 -0
  1544. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/mod.js +0 -0
  1545. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/backup-monitor.js +0 -0
  1546. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/broadcast.js +0 -0
  1547. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/change-streamer-http.js +0 -0
  1548. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/change-streamer-service.js +0 -0
  1549. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/change-streamer.js +0 -0
  1550. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/forwarder.js +0 -0
  1551. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/replica-monitor.js +0 -0
  1552. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/storer.js +0 -0
  1553. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/subscriber.js +0 -0
  1554. /package/out/{zero-cache → packages/zero-cache}/src/services/heapz.js +0 -0
  1555. /package/out/{zero-cache → packages/zero-cache}/src/services/http-service.js +0 -0
  1556. /package/out/{zero-cache → packages/zero-cache}/src/services/limiter/sliding-window-limiter.js +0 -0
  1557. /package/out/{zero-cache → packages/zero-cache}/src/services/litestream/commands.js +0 -0
  1558. /package/out/{zero-cache → packages/zero-cache}/src/services/mutagen/error.js +0 -0
  1559. /package/out/{zero-cache → packages/zero-cache}/src/services/mutagen/mutagen.js +0 -0
  1560. /package/out/{zero-cache → packages/zero-cache}/src/services/mutagen/pusher.js +0 -0
  1561. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/change-processor.js +0 -0
  1562. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/incremental-sync.js +0 -0
  1563. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/notifier.js +0 -0
  1564. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/replication-status.js +0 -0
  1565. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/replicator.js +0 -0
  1566. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/reporter/recorder.js +0 -0
  1567. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/reporter/report-schema.js +0 -0
  1568. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/change-log.js +0 -0
  1569. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/column-metadata.js +0 -0
  1570. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/constants.js +0 -0
  1571. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/replication-state.js +0 -0
  1572. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/table-metadata.js +0 -0
  1573. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/write-worker-client.js +0 -0
  1574. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/write-worker.js +0 -0
  1575. /package/out/{zero-cache → packages/zero-cache}/src/services/runner.js +0 -0
  1576. /package/out/{zero-cache → packages/zero-cache}/src/services/shadow-sync/shadow-sync-service.js +0 -0
  1577. /package/out/{zero-cache → packages/zero-cache}/src/services/statz.js +0 -0
  1578. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/active-users-gauge.js +0 -0
  1579. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/client-schema.js +0 -0
  1580. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/connection-context-manager.js +0 -0
  1581. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/cvr-store.js +0 -0
  1582. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/cvr.js +0 -0
  1583. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/drain-coordinator.js +0 -0
  1584. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/row-record-cache.js +0 -0
  1585. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/row-set-signature.js +0 -0
  1586. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/schema/cvr.js +0 -0
  1587. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/snapshotter.js +0 -0
  1588. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/tracer.js +0 -0
  1589. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/ttl-clock.js +0 -0
  1590. /package/out/{zero-cache → packages/zero-cache}/src/types/error-with-level.js +0 -0
  1591. /package/out/{zero-cache → packages/zero-cache}/src/types/http.js +0 -0
  1592. /package/out/{zero-cache → packages/zero-cache}/src/types/lexi-version.js +0 -0
  1593. /package/out/{zero-cache → packages/zero-cache}/src/types/lite.js +0 -0
  1594. /package/out/{zero-cache → packages/zero-cache}/src/types/names.js +0 -0
  1595. /package/out/{zero-cache → packages/zero-cache}/src/types/pg-data-type.js +0 -0
  1596. /package/out/{zero-cache → packages/zero-cache}/src/types/pg-types.js +0 -0
  1597. /package/out/{zero-cache → packages/zero-cache}/src/types/pg-versions.js +0 -0
  1598. /package/out/{zero-cache → packages/zero-cache}/src/types/processes.js +0 -0
  1599. /package/out/{zero-cache → packages/zero-cache}/src/types/profiler.js +0 -0
  1600. /package/out/{zero-cache → packages/zero-cache}/src/types/row-key.js +0 -0
  1601. /package/out/{zero-cache → packages/zero-cache}/src/types/shards.js +0 -0
  1602. /package/out/{zero-cache → packages/zero-cache}/src/types/sql.js +0 -0
  1603. /package/out/{zero-cache → packages/zero-cache}/src/types/state-version.js +0 -0
  1604. /package/out/{zero-cache → packages/zero-cache}/src/types/streams.js +0 -0
  1605. /package/out/{zero-cache → packages/zero-cache}/src/types/strings.js +0 -0
  1606. /package/out/{zero-cache → packages/zero-cache}/src/types/subscription.js +0 -0
  1607. /package/out/{zero-cache → packages/zero-cache}/src/types/timeout.js +0 -0
  1608. /package/out/{zero-cache → packages/zero-cache}/src/types/url-params.js +0 -0
  1609. /package/out/{zero-cache → packages/zero-cache}/src/types/websocket-handoff.js +0 -0
  1610. /package/out/{zero-cache → packages/zero-cache}/src/types/ws.js +0 -0
  1611. /package/out/{zero-cache → packages/zero-cache}/src/workers/connect-params.js +0 -0
  1612. /package/out/{zero-cache → packages/zero-cache}/src/workers/connection.js +0 -0
  1613. /package/out/{zero-cache → packages/zero-cache}/src/workers/mutator.js +0 -0
  1614. /package/out/{zero-cache → packages/zero-cache}/src/workers/replicator.js +0 -0
  1615. /package/out/{zero-cache → packages/zero-cache}/src/workers/syncer-ws-message-handler.js +0 -0
  1616. /package/out/{zero-cache → packages/zero-cache}/src/workers/syncer.js +0 -0
  1617. /package/out/{zero-client → packages/zero-client}/src/client/active-clients-manager.js +0 -0
  1618. /package/out/{zero-client → packages/zero-client}/src/client/bindings.js +0 -0
  1619. /package/out/{zero-client → packages/zero-client}/src/client/client-error-kind-enum.js +0 -0
  1620. /package/out/{zero-client → packages/zero-client}/src/client/connection.js +0 -0
  1621. /package/out/{zero-client → packages/zero-client}/src/client/context.js +0 -0
  1622. /package/out/{zero-client → packages/zero-client}/src/client/crud.js +0 -0
  1623. /package/out/{zero-client → packages/zero-client}/src/client/delete-clients-manager.js +0 -0
  1624. /package/out/{zero-client → packages/zero-client}/src/client/enable-analytics.js +0 -0
  1625. /package/out/{zero-client → packages/zero-client}/src/client/error.js +0 -0
  1626. /package/out/{zero-client → packages/zero-client}/src/client/http-string.js +0 -0
  1627. /package/out/{zero-client → packages/zero-client}/src/client/inspector/client-group.js +0 -0
  1628. /package/out/{zero-client → packages/zero-client}/src/client/inspector/client.js +0 -0
  1629. /package/out/{zero-client → packages/zero-client}/src/client/inspector/html-dialog-prompt.js +0 -0
  1630. /package/out/{zero-client → packages/zero-client}/src/client/inspector/inspector.js +0 -0
  1631. /package/out/{zero-client → packages/zero-client}/src/client/inspector/lazy-inspector.js +0 -0
  1632. /package/out/{zero-client → packages/zero-client}/src/client/inspector/query.js +0 -0
  1633. /package/out/{zero-client → packages/zero-client}/src/client/ivm-branch.js +0 -0
  1634. /package/out/{zero-client → packages/zero-client}/src/client/keys.js +0 -0
  1635. /package/out/{zero-client → packages/zero-client}/src/client/log-options.js +0 -0
  1636. /package/out/{zero-client → packages/zero-client}/src/client/make-mutate-property.js +0 -0
  1637. /package/out/{zero-client → packages/zero-client}/src/client/make-replicache-mutators.js +0 -0
  1638. /package/out/{zero-client → packages/zero-client}/src/client/metric-name-enum.js +0 -0
  1639. /package/out/{zero-client → packages/zero-client}/src/client/metrics.js +0 -0
  1640. /package/out/{zero-client → packages/zero-client}/src/client/mutation-tracker.js +0 -0
  1641. /package/out/{zero-client → packages/zero-client}/src/client/mutator-proxy.js +0 -0
  1642. /package/out/{zero-client → packages/zero-client}/src/client/options.js +0 -0
  1643. /package/out/{zero-client → packages/zero-client}/src/client/query-manager.js +0 -0
  1644. /package/out/{zero-client → packages/zero-client}/src/client/reload-error-handler.js +0 -0
  1645. /package/out/{zero-client → packages/zero-client}/src/client/server-option.js +0 -0
  1646. /package/out/{zero-client → packages/zero-client}/src/client/zero-poke-handler.js +0 -0
  1647. /package/out/{zero-client → packages/zero-client}/src/client/zero-rep.js +0 -0
  1648. /package/out/{zero-client → packages/zero-client}/src/mod.js +0 -0
  1649. /package/out/{zero-client → packages/zero-client}/src/util/nanoid.js +0 -0
  1650. /package/out/{zero-pg → packages/zero-pg}/src/mod.js +0 -0
  1651. /package/out/{zero-protocol → packages/zero-protocol}/src/application-error.js +0 -0
  1652. /package/out/{zero-protocol → packages/zero-protocol}/src/ast.js +0 -0
  1653. /package/out/{zero-protocol → packages/zero-protocol}/src/client-schema.js +0 -0
  1654. /package/out/{zero-protocol → packages/zero-protocol}/src/close-connection.js +0 -0
  1655. /package/out/{zero-protocol → packages/zero-protocol}/src/custom-queries.js +0 -0
  1656. /package/out/{zero-protocol → packages/zero-protocol}/src/data.js +0 -0
  1657. /package/out/{zero-protocol → packages/zero-protocol}/src/delete-clients.js +0 -0
  1658. /package/out/{zero-protocol → packages/zero-protocol}/src/down.js +0 -0
  1659. /package/out/{zero-protocol → packages/zero-protocol}/src/error-kind-enum.js +0 -0
  1660. /package/out/{zero-protocol → packages/zero-protocol}/src/error-origin-enum.js +0 -0
  1661. /package/out/{zero-protocol → packages/zero-protocol}/src/error-reason-enum.js +0 -0
  1662. /package/out/{zero-protocol → packages/zero-protocol}/src/inspect-down.js +0 -0
  1663. /package/out/{zero-protocol → packages/zero-protocol}/src/mutate-server.js +0 -0
  1664. /package/out/{zero-protocol → packages/zero-protocol}/src/mutation-id.js +0 -0
  1665. /package/out/{zero-protocol → packages/zero-protocol}/src/mutation-type-enum.js +0 -0
  1666. /package/out/{zero-protocol → packages/zero-protocol}/src/mutation.js +0 -0
  1667. /package/out/{zero-protocol → packages/zero-protocol}/src/mutations-patch.js +0 -0
  1668. /package/out/{zero-protocol → packages/zero-protocol}/src/ping.js +0 -0
  1669. /package/out/{zero-protocol → packages/zero-protocol}/src/pong.js +0 -0
  1670. /package/out/{zero-protocol → packages/zero-protocol}/src/primary-key.js +0 -0
  1671. /package/out/{zero-protocol → packages/zero-protocol}/src/protocol-version.js +0 -0
  1672. /package/out/{zero-protocol → packages/zero-protocol}/src/pull.js +0 -0
  1673. /package/out/{zero-protocol → packages/zero-protocol}/src/queries-patch.js +0 -0
  1674. /package/out/{zero-protocol → packages/zero-protocol}/src/query-hash.js +0 -0
  1675. /package/out/{zero-protocol → packages/zero-protocol}/src/query-server.js +0 -0
  1676. /package/out/{zero-protocol → packages/zero-protocol}/src/row-patch.js +0 -0
  1677. /package/out/{zero-protocol → packages/zero-protocol}/src/up.js +0 -0
  1678. /package/out/{zero-protocol → packages/zero-protocol}/src/update-auth.js +0 -0
  1679. /package/out/{zero-protocol → packages/zero-protocol}/src/version.js +0 -0
  1680. /package/out/{zero-react → packages/zero-react}/src/bindings.js +0 -0
  1681. /package/out/{zero-react → packages/zero-react}/src/mod.js +0 -0
  1682. /package/out/{zero-react → packages/zero-react}/src/zero.js +0 -0
  1683. /package/out/{zero-schema → packages/zero-schema}/src/builder/relationship-builder.js +0 -0
  1684. /package/out/{zero-schema → packages/zero-schema}/src/builder/schema-builder.js +0 -0
  1685. /package/out/{zero-schema → packages/zero-schema}/src/builder/table-builder.js +0 -0
  1686. /package/out/{zero-schema → packages/zero-schema}/src/compiled-permissions.js +0 -0
  1687. /package/out/{zero-schema → packages/zero-schema}/src/name-mapper.js +0 -0
  1688. /package/out/{zero-schema → packages/zero-schema}/src/permissions.js +0 -0
  1689. /package/out/{zero-schema → packages/zero-schema}/src/schema-config.js +0 -0
  1690. /package/out/{zero-server → packages/zero-server}/src/adapters/drizzle.js +0 -0
  1691. /package/out/{zero-server → packages/zero-server}/src/adapters/kysely.js +0 -0
  1692. /package/out/{zero-server → packages/zero-server}/src/adapters/postgresjs.js +0 -0
  1693. /package/out/{zero-server → packages/zero-server}/src/adapters/prisma.js +0 -0
  1694. /package/out/{zero-server → packages/zero-server}/src/logging.js +0 -0
  1695. /package/out/{zero-server → packages/zero-server}/src/mod.js +0 -0
  1696. /package/out/{zero-server → packages/zero-server}/src/pg-query-executor.js +0 -0
  1697. /package/out/{zero-server → packages/zero-server}/src/process-mutations.js +0 -0
  1698. /package/out/{zero-server → packages/zero-server}/src/push-processor.js +0 -0
  1699. /package/out/{zero-server → packages/zero-server}/src/queries/process-queries.js +0 -0
  1700. /package/out/{zero-server → packages/zero-server}/src/schema.js +0 -0
  1701. /package/out/{zero-server → packages/zero-server}/src/zql-database.js +0 -0
  1702. /package/out/{zero-solid → packages/zero-solid}/src/bindings.js +0 -0
  1703. /package/out/{zero-solid → packages/zero-solid}/src/mod.js +0 -0
  1704. /package/out/{zero-solid → packages/zero-solid}/src/zero.js +0 -0
  1705. /package/out/{zero-types → packages/zero-types}/src/format.js +0 -0
  1706. /package/out/{zero-types → packages/zero-types}/src/name-mapper.js +0 -0
  1707. /package/out/{zql → packages/zql}/src/builder/filter.js +0 -0
  1708. /package/out/{zql → packages/zql}/src/builder/like.js +0 -0
  1709. /package/out/{zql → packages/zql}/src/error.js +0 -0
  1710. /package/out/{zql → packages/zql}/src/ivm/array-view.js +0 -0
  1711. /package/out/{zql → packages/zql}/src/ivm/change.js +0 -0
  1712. /package/out/{zql → packages/zql}/src/ivm/data.js +0 -0
  1713. /package/out/{zql → packages/zql}/src/ivm/exists.js +0 -0
  1714. /package/out/{zql → packages/zql}/src/ivm/fan-in.js +0 -0
  1715. /package/out/{zql → packages/zql}/src/ivm/fan-out.js +0 -0
  1716. /package/out/{zql → packages/zql}/src/ivm/filter-operators.js +0 -0
  1717. /package/out/{zql → packages/zql}/src/ivm/filter-push.js +0 -0
  1718. /package/out/{zql → packages/zql}/src/ivm/filter.js +0 -0
  1719. /package/out/{zql → packages/zql}/src/ivm/join-utils.js +0 -0
  1720. /package/out/{zql → packages/zql}/src/ivm/join.js +0 -0
  1721. /package/out/{zql → packages/zql}/src/ivm/maybe-split-and-push-edit-change.js +0 -0
  1722. /package/out/{zql → packages/zql}/src/ivm/memory-storage.js +0 -0
  1723. /package/out/{zql → packages/zql}/src/ivm/operator.js +0 -0
  1724. /package/out/{zql → packages/zql}/src/ivm/push-accumulated.js +0 -0
  1725. /package/out/{zql → packages/zql}/src/ivm/skip-yields.js +0 -0
  1726. /package/out/{zql → packages/zql}/src/ivm/skip.js +0 -0
  1727. /package/out/{zql → packages/zql}/src/ivm/source.js +0 -0
  1728. /package/out/{zql → packages/zql}/src/ivm/stream.js +0 -0
  1729. /package/out/{zql → packages/zql}/src/ivm/union-fan-out.js +0 -0
  1730. /package/out/{zql → packages/zql}/src/ivm/view-apply-change.js +0 -0
  1731. /package/out/{zql → packages/zql}/src/mutate/crud.js +0 -0
  1732. /package/out/{zql → packages/zql}/src/mutate/custom.js +0 -0
  1733. /package/out/{zql → packages/zql}/src/mutate/mutator-registry.js +0 -0
  1734. /package/out/{zql → packages/zql}/src/mutate/mutator.js +0 -0
  1735. /package/out/{zql → packages/zql}/src/planner/planner-builder.js +0 -0
  1736. /package/out/{zql → packages/zql}/src/planner/planner-connection.js +0 -0
  1737. /package/out/{zql → packages/zql}/src/planner/planner-constraint.js +0 -0
  1738. /package/out/{zql → packages/zql}/src/planner/planner-debug.js +0 -0
  1739. /package/out/{zql → packages/zql}/src/planner/planner-fan-in.js +0 -0
  1740. /package/out/{zql → packages/zql}/src/planner/planner-fan-out.js +0 -0
  1741. /package/out/{zql → packages/zql}/src/planner/planner-graph.js +0 -0
  1742. /package/out/{zql → packages/zql}/src/planner/planner-node.js +0 -0
  1743. /package/out/{zql → packages/zql}/src/planner/planner-source.js +0 -0
  1744. /package/out/{zql → packages/zql}/src/planner/planner-terminus.js +0 -0
  1745. /package/out/{zql → packages/zql}/src/query/complete-ordering.js +0 -0
  1746. /package/out/{zql → packages/zql}/src/query/create-builder.js +0 -0
  1747. /package/out/{zql → packages/zql}/src/query/error.js +0 -0
  1748. /package/out/{zql → packages/zql}/src/query/escape-like.js +0 -0
  1749. /package/out/{zql → packages/zql}/src/query/expression.js +0 -0
  1750. /package/out/{zql → packages/zql}/src/query/measure-push-operator.js +0 -0
  1751. /package/out/{zql → packages/zql}/src/query/metrics-delegate.js +0 -0
  1752. /package/out/{zql → packages/zql}/src/query/named.js +0 -0
  1753. /package/out/{zql → packages/zql}/src/query/query-delegate-base.js +0 -0
  1754. /package/out/{zql → packages/zql}/src/query/query-internals.js +0 -0
  1755. /package/out/{zql → packages/zql}/src/query/query-registry.js +0 -0
  1756. /package/out/{zql → packages/zql}/src/query/query.js +0 -0
  1757. /package/out/{zql → packages/zql}/src/query/runnable-query-impl.js +0 -0
  1758. /package/out/{zql → packages/zql}/src/query/static-query.js +0 -0
  1759. /package/out/{zql → packages/zql}/src/query/ttl.js +0 -0
  1760. /package/out/{zql → packages/zql}/src/query/validate-input.js +0 -0
  1761. /package/out/{zqlite → packages/zqlite}/src/database-storage.js +0 -0
  1762. /package/out/{zqlite → packages/zqlite}/src/db.js +0 -0
  1763. /package/out/{zqlite → packages/zqlite}/src/explain-queries.js +0 -0
  1764. /package/out/{zqlite → packages/zqlite}/src/internal/sql-inline.js +0 -0
  1765. /package/out/{zqlite → packages/zqlite}/src/internal/sql.js +0 -0
  1766. /package/out/{zqlite → packages/zqlite}/src/internal/statement-cache.js +0 -0
  1767. /package/out/{zqlite → packages/zqlite}/src/mod.js +0 -0
  1768. /package/out/{zqlite → packages/zqlite}/src/query-builder.js +0 -0
  1769. /package/out/{zqlite → packages/zqlite}/src/query-delegate.js +0 -0
  1770. /package/out/{zqlite → packages/zqlite}/src/resolve-scalar-subqueries.js +0 -0
  1771. /package/out/{zqlite → packages/zqlite}/src/sqlite-cost-model.js +0 -0
  1772. /package/out/{zqlite → packages/zqlite}/src/sqlite-stat-fanout.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-scalar-subqueries.js","names":[],"sources":["../../../../../zqlite/src/resolve-scalar-subqueries.ts"],"sourcesContent":["import type {\n AST,\n Condition,\n CorrelatedSubqueryCondition,\n LiteralValue,\n SimpleCondition,\n} from '../../zero-protocol/src/ast.ts';\nimport type {PrimaryKey} from '../../zero-protocol/src/primary-key.ts';\n\ntype TableSpecWithUniqueKeys = {\n tableSpec: {\n uniqueKeys: PrimaryKey[];\n };\n};\n\nexport type CompanionSubquery = {\n /** The original scalar subquery AST (the subquery table query). */\n ast: AST;\n /** The field in the subquery row whose value was resolved. */\n childField: string;\n /** The resolved value, `null` if a row matched but the field was `NULL`,\n * or `undefined` if no row matched. */\n resolvedValue: LiteralValue | null | undefined;\n};\n\nexport type ResolveResult = {\n ast: AST;\n companions: CompanionSubquery[];\n};\n\n/**\n * Callback that executes a scalar subquery and returns the value of\n * `childField` from the (at most one) matching row, or `undefined`\n * if no rows match.\n */\nexport type ScalarExecutor = (\n subqueryAST: AST,\n childField: string,\n) => LiteralValue | null | undefined;\n\n/**\n * Resolves \"simple\" scalar subqueries by calling the provided executor\n * and replacing them with literal conditions. A scalar subquery is simple\n * when all columns of at least one unique index on the subquery table are\n * equality-constrained by literal values in the subquery's WHERE clause\n * (using only AND conjunctions).\n *\n * Non-simple scalar subqueries are left untouched for the existing\n * EXISTS rewrite in buildPipelineInternal.\n *\n * Returns the resolved AST and a list of companion subquery ASTs whose\n * rows need to be synced to the client for the EXISTS rewrite to work.\n */\nexport function resolveSimpleScalarSubqueries(\n ast: AST,\n tableSpecs: Map<string, TableSpecWithUniqueKeys>,\n execute: ScalarExecutor,\n): ResolveResult {\n const companions: CompanionSubquery[] = [];\n const resolved = resolveASTRecursive(ast, tableSpecs, execute, companions);\n return {ast: resolved, companions};\n}\n\nfunction resolveASTRecursive(\n ast: AST,\n tableSpecs: Map<string, TableSpecWithUniqueKeys>,\n execute: ScalarExecutor,\n companions: CompanionSubquery[],\n): AST {\n const where = ast.where\n ? resolveCondition(ast.where, tableSpecs, execute, companions)\n : undefined;\n\n const related = ast.related?.map(r => ({\n ...r,\n subquery: resolveASTRecursive(r.subquery, tableSpecs, execute, companions),\n }));\n\n if (where !== ast.where || related !== ast.related) {\n return {...ast, where, related};\n }\n return ast;\n}\n\nfunction resolveCondition(\n condition: Condition,\n tableSpecs: Map<string, TableSpecWithUniqueKeys>,\n execute: ScalarExecutor,\n companions: CompanionSubquery[],\n): Condition {\n switch (condition.type) {\n case 'correlatedSubquery':\n if (condition.scalar) {\n return resolveScalarSubquery(\n condition,\n tableSpecs,\n execute,\n companions,\n );\n }\n // Non-scalar correlated subquery: recurse into its subquery\n {\n const resolvedSubquery = resolveASTRecursive(\n condition.related.subquery,\n tableSpecs,\n execute,\n companions,\n );\n if (resolvedSubquery !== condition.related.subquery) {\n return {\n ...condition,\n related: {...condition.related, subquery: resolvedSubquery},\n };\n }\n return condition;\n }\n case 'and':\n case 'or': {\n const resolved = condition.conditions.map(c =>\n resolveCondition(c, tableSpecs, execute, companions),\n );\n if (resolved.every((c, i) => c === condition.conditions[i])) {\n return condition;\n }\n return {type: condition.type, conditions: resolved};\n }\n default:\n return condition;\n }\n}\n\nfunction resolveScalarSubquery(\n condition: CorrelatedSubqueryCondition,\n tableSpecs: Map<string, TableSpecWithUniqueKeys>,\n execute: ScalarExecutor,\n companions: CompanionSubquery[],\n): Condition {\n const parentField = condition.related.correlation.parentField[0];\n const childField = condition.related.correlation.childField[0];\n\n // Recursively resolve any scalar subqueries nested in the\n // subquery's own WHERE (and related) before evaluating this one.\n const subquery = resolveASTRecursive(\n condition.related.subquery,\n tableSpecs,\n execute,\n companions,\n );\n\n if (!isSimpleSubquery(subquery, tableSpecs)) {\n // Return with the (possibly partially-resolved) subquery.\n if (subquery !== condition.related.subquery) {\n return {\n ...condition,\n related: {...condition.related, subquery},\n };\n }\n return condition;\n }\n\n const value = execute(subquery, childField);\n\n // Record the companion subquery AST so its rows are synced to the client.\n // The client rewrites scalar subqueries to EXISTS and needs those rows.\n companions.push({\n ast: subquery,\n childField,\n resolvedValue: value,\n });\n\n if (value === undefined || value === null) {\n // No rows or NULL value — both x = NULL and x != NULL are false in SQL\n return ALWAYS_FALSE;\n }\n\n const op = condition.op === 'EXISTS' ? '=' : 'IS NOT';\n return {\n type: 'simple',\n op,\n left: {type: 'column', name: parentField},\n right: {type: 'literal', value},\n } satisfies SimpleCondition;\n}\n\nconst ALWAYS_FALSE: SimpleCondition = {\n type: 'simple',\n op: '=',\n left: {type: 'literal', value: 1},\n right: {type: 'literal', value: 0},\n};\n\n/**\n * Checks if the subquery is guaranteed to return at most one deterministic row.\n *\n * This is true when all columns of at least one unique index on the subquery\n * table are equality-constrained by literal values in the WHERE clause\n * (using only AND conjunctions).\n */\nexport function isSimpleSubquery(\n subquery: AST,\n tableSpecs: Map<string, TableSpecWithUniqueKeys>,\n): boolean {\n const spec = tableSpecs.get(subquery.table);\n if (!spec) {\n return false;\n }\n\n if (!subquery.where) {\n return false;\n }\n\n const constraints = extractLiteralEqualityConstraints(subquery.where);\n if (constraints.size === 0) {\n return false;\n }\n\n const {uniqueKeys} = spec.tableSpec;\n return uniqueKeys.some(key => key.every(col => constraints.has(col)));\n}\n\n/**\n * Extracts column=literal equality constraints from a condition tree,\n * only following AND conjunctions (not OR).\n */\nexport function extractLiteralEqualityConstraints(\n condition: Condition,\n): Map<string, LiteralValue> {\n const constraints = new Map<string, LiteralValue>();\n collectConstraints(condition, constraints);\n return constraints;\n}\n\nfunction collectConstraints(\n condition: Condition,\n constraints: Map<string, LiteralValue>,\n): void {\n switch (condition.type) {\n case 'simple':\n if (condition.op === '=') {\n if (\n condition.left.type === 'column' &&\n condition.right.type === 'literal'\n ) {\n constraints.set(condition.left.name, condition.right.value);\n }\n }\n break;\n case 'and':\n for (const c of condition.conditions) {\n collectConstraints(c, constraints);\n }\n break;\n // OR, correlatedSubquery (non-scalar) — don't contribute constraints\n default:\n break;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-cost-model.js","names":[],"sources":["../../../../../zqlite/src/sqlite-cost-model.ts"],"sourcesContent":["import SQLite3Database from '@rocicorp/zero-sqlite3';\nimport {assert} from '../../shared/src/asserts.ts';\nimport {must} from '../../shared/src/must.ts';\nimport type {Condition, Ordering} from '../../zero-protocol/src/ast.ts';\nimport type {SchemaValue} from '../../zero-types/src/schema-value.ts';\nimport type {\n ConnectionCostModel,\n CostModelCost,\n} from '../../zql/src/planner/planner-connection.ts';\nimport type {PlannerConstraint} from '../../zql/src/planner/planner-constraint.ts';\nimport type {Database, Statement} from './db.ts';\nimport {compileInline} from './internal/sql-inline.ts';\nimport {buildSelectQuery, type NoSubqueryCondition} from './query-builder.ts';\nimport {SQLiteStatFanout} from './sqlite-stat-fanout.ts';\n\n/**\n * Loop information returned by SQLite's scanstatus API.\n */\ninterface ScanstatusLoop {\n /** Unique identifier for this loop */\n selectId: number;\n /** Parent loop ID, or 0 for root loops */\n parentId: number;\n /** Estimated rows emitted per turn of parent loop */\n est: number;\n /** EXPLAIN text for this loop to determine: b-tree vs list subquery */\n explain: string;\n}\n\n/**\n * Creates a SQLite-based cost model for query planning.\n * Uses SQLite's scanstatus API to estimate query costs based on the actual\n * SQLite query planner's analysis.\n *\n * @param db Database instance for preparing statements\n * @param tableSpecs Map of table names to their table specs with ZQL schemas\n * @returns ConnectionCostModel function for use with the planner\n */\nexport function createSQLiteCostModel(\n db: Database,\n tableSpecs: Map<string, {zqlSpec: Record<string, SchemaValue>}>,\n): ConnectionCostModel {\n const fanoutEstimator = new SQLiteStatFanout(db);\n return (\n tableName: string,\n sort: Ordering,\n filters: Condition | undefined,\n constraint: PlannerConstraint | undefined,\n ): CostModelCost => {\n // Transform filters to remove correlated subqueries\n // The cost model can't handle correlated subqueries, so we estimate cost\n // without them. This is conservative - actual cost may be higher.\n const noSubqueryFilters = filters\n ? removeCorrelatedSubqueries(filters)\n : undefined;\n\n // Build the SQL query using the same logic as actual queries\n const {zqlSpec} = must(tableSpecs.get(tableName));\n\n const query = buildSelectQuery(\n tableName,\n zqlSpec,\n constraint,\n noSubqueryFilters,\n sort,\n undefined, // reverse is undefined here\n undefined, // start is undefined here\n );\n\n // Use compileInline to inline actual values into the SQL for cost estimation.\n // This allows SQLite's query planner to see real values and make better decisions\n // about index usage and query plans. This is safe here because it's only used for\n // cost estimation, not for executing user-facing queries (which use parameterized\n // queries via the standard compile() function).\n const sql = compileInline(query);\n\n // Prepare statement to get scanstatus information\n const stmt = db.prepare(sql);\n\n // Get scanstatus loops from the prepared statement\n const loops = getScanstatusLoops(stmt);\n\n // Scanstatus should always be available - if we get no loops, something is wrong\n assert(\n loops.length > 0,\n `Expected scanstatus to return at least one loop for query: ${sql}`,\n );\n\n const ret = estimateCost(loops, (columns: string[]) =>\n fanoutEstimator.getFanout(tableName, columns),\n );\n\n return ret;\n };\n}\n\n/**\n * Removes correlated subqueries from conditions.\n * The cost model estimates cost without correlated subqueries since\n * they can't be included in the scanstatus query.\n */\nfunction removeCorrelatedSubqueries(\n condition: Condition,\n): NoSubqueryCondition | undefined {\n switch (condition.type) {\n case 'correlatedSubquery':\n // Remove subqueries - we can't estimate their cost via scanstatus\n return undefined;\n case 'simple':\n return condition;\n case 'and': {\n const filtered = condition.conditions\n .map(c => removeCorrelatedSubqueries(c))\n .filter((c): c is NoSubqueryCondition => c !== undefined);\n if (filtered.length === 0) return undefined;\n if (filtered.length === 1) return filtered[0];\n return {type: 'and', conditions: filtered};\n }\n case 'or': {\n const filtered = condition.conditions\n .map(c => removeCorrelatedSubqueries(c))\n .filter((c): c is NoSubqueryCondition => c !== undefined);\n if (filtered.length === 0) return undefined;\n if (filtered.length === 1) return filtered[0];\n return {type: 'or', conditions: filtered};\n }\n }\n}\n\n/**\n * Gets scanstatus loop information from a prepared statement.\n * Iterates through all query elements and extracts loop statistics.\n *\n * Uses SQLITE_SCANSTAT_COMPLEX flag (1) to get all loops including sorting operations.\n *\n * @param stmt Prepared statement to get scanstatus from\n * @returns Array of loop information, or empty array if scanstatus unavailable\n */\nfunction getScanstatusLoops(stmt: Statement): ScanstatusLoop[] {\n const loops: ScanstatusLoop[] = [];\n\n // Iterate through query elements by incrementing idx until we get undefined\n // which indicates we've reached the end\n for (let idx = 0; ; idx++) {\n const selectId = stmt.scanStatus(\n idx,\n SQLite3Database.SQLITE_SCANSTAT_SELECTID,\n 1,\n );\n\n if (selectId === undefined) {\n break;\n }\n\n loops.push({\n selectId: must(selectId),\n parentId: must(\n stmt.scanStatus(idx, SQLite3Database.SQLITE_SCANSTAT_PARENTID, 1),\n ),\n explain: must(\n stmt.scanStatus(idx, SQLite3Database.SQLITE_SCANSTAT_EXPLAIN, 1),\n ),\n est: must(stmt.scanStatus(idx, SQLite3Database.SQLITE_SCANSTAT_EST, 1)),\n });\n }\n\n return loops.sort((a, b) => a.selectId - b.selectId);\n}\n\n/**\n * Estimates the cost of a query based on scanstats from sqlite3_stmt_scanstatus_v2\n */\nfunction estimateCost(\n scanstats: ScanstatusLoop[],\n fanout: CostModelCost['fanout'],\n): CostModelCost {\n // Sort by selectId to process in execution order\n const sorted = scanstats.toSorted((a, b) => a.selectId - b.selectId);\n\n let totalRows = 0;\n let totalCost = 0;\n\n // Identify if there are multiple top-level (parentId=0) operations\n // If so, the first is typically the scan, and subsequent ones are sorts\n const topLevelOps = sorted.filter(s => s.parentId === 0);\n\n // We only consider top level ops since ZQL queries are single-table when hitting SQLite.\n // We do have a nested op in the case of `WHERE x IN (:arg)` but it is negligible\n // assuming :arg is small.\n let firstLoop = true;\n for (const op of topLevelOps) {\n if (firstLoop) {\n // First top-level op is the main scan\n // and determines the total number of rows output.\n totalRows = op.est;\n firstLoop = false;\n } else {\n if (op.explain.includes('ORDER BY')) {\n totalCost += btreeCost(totalRows);\n }\n }\n }\n\n return {\n rows: totalRows,\n startupCost: totalCost,\n fanout,\n };\n}\n\nexport function btreeCost(rows: number): number {\n // B-Tree construction is ~O(n log n) so we estimate the cost as such.\n // We divide the cost by 10 because sorting in SQLite is ~10x faster\n // than bringing the data into JS and sorting there.\n return (rows * Math.log2(rows)) / 10;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAsCA,SAAgB,sBACd,IACA,YACqB;CACrB,MAAM,kBAAkB,IAAI,iBAAiB,EAAE;CAC/C,QACE,WACA,MACA,SACA,eACkB;EAIlB,MAAM,oBAAoB,UACtB,2BAA2B,OAAO,IAClC,KAAA;EAGJ,MAAM,EAAC,YAAW,KAAK,WAAW,IAAI,SAAS,CAAC;EAiBhD,MAAM,MAAM,cAfE,iBACZ,WACA,SACA,YACA,mBACA,MACA,KAAA,GACA,KAAA,CAQwB,CAAK;EAM/B,MAAM,QAAQ,mBAHD,GAAG,QAAQ,GAGS,CAAI;EAGrC,OACE,MAAM,SAAS,GACf,8DAA8D,KAChE;EAMA,OAJY,aAAa,QAAQ,YAC/B,gBAAgB,UAAU,WAAW,OAAO,CAGvC;CACT;AACF;;;;;;AAOA,SAAS,2BACP,WACiC;CACjC,QAAQ,UAAU,MAAlB;EACE,KAAK,sBAEH;EACF,KAAK,UACH,OAAO;EACT,KAAK,OAAO;GACV,MAAM,WAAW,UAAU,WACxB,KAAI,MAAK,2BAA2B,CAAC,CAAC,EACtC,QAAQ,MAAgC,MAAM,KAAA,CAAS;GAC1D,IAAI,SAAS,WAAW,GAAG,OAAO,KAAA;GAClC,IAAI,SAAS,WAAW,GAAG,OAAO,SAAS;GAC3C,OAAO;IAAC,MAAM;IAAO,YAAY;GAAQ;EAC3C;EACA,KAAK,MAAM;GACT,MAAM,WAAW,UAAU,WACxB,KAAI,MAAK,2BAA2B,CAAC,CAAC,EACtC,QAAQ,MAAgC,MAAM,KAAA,CAAS;GAC1D,IAAI,SAAS,WAAW,GAAG,OAAO,KAAA;GAClC,IAAI,SAAS,WAAW,GAAG,OAAO,SAAS;GAC3C,OAAO;IAAC,MAAM;IAAM,YAAY;GAAQ;EAC1C;CACF;AACF;;;;;;;;;;AAWA,SAAS,mBAAmB,MAAmC;CAC7D,MAAM,QAA0B,CAAC;CAIjC,KAAK,IAAI,MAAM,IAAK,OAAO;EACzB,MAAM,WAAW,KAAK,WACpB,KACA,gBAAgB,0BAChB,CACF;EAEA,IAAI,aAAa,KAAA,GACf;EAGF,MAAM,KAAK;GACT,UAAU,KAAK,QAAQ;GACvB,UAAU,KACR,KAAK,WAAW,KAAK,gBAAgB,0BAA0B,CAAC,CAClE;GACA,SAAS,KACP,KAAK,WAAW,KAAK,gBAAgB,yBAAyB,CAAC,CACjE;GACA,KAAK,KAAK,KAAK,WAAW,KAAK,gBAAgB,qBAAqB,CAAC,CAAC;EACxE,CAAC;CACH;CAEA,OAAO,MAAM,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,QAAQ;AACrD;;;;AAKA,SAAS,aACP,WACA,QACe;CAEf,MAAM,SAAS,UAAU,UAAU,GAAG,MAAM,EAAE,WAAW,EAAE,QAAQ;CAEnE,IAAI,YAAY;CAChB,IAAI,YAAY;CAIhB,MAAM,cAAc,OAAO,QAAO,MAAK,EAAE,aAAa,CAAC;CAKvD,IAAI,YAAY;CAChB,KAAK,MAAM,MAAM,aACf,IAAI,WAAW;EAGb,YAAY,GAAG;EACf,YAAY;CACd,OACE,IAAI,GAAG,QAAQ,SAAS,UAAU,GAChC,aAAa,UAAU,SAAS;CAKtC,OAAO;EACL,MAAM;EACN,aAAa;EACb;CACF;AACF;AAEA,SAAgB,UAAU,MAAsB;CAI9C,OAAQ,OAAO,KAAK,KAAK,IAAI,IAAK;AACpC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-stat-fanout.js","names":["#db","#defaultFanout","#cache","#stat4Stmt","#stat1Stmt","#indexStmt","#getFanoutFromStat4","#getFanoutFromStat1","#findIndexForColumns","#decodeSampleIsNull","#isPrefixMatch"],"sources":["../../../../../zqlite/src/sqlite-stat-fanout.ts"],"sourcesContent":["import type {Database} from './db.ts';\n\n/**\n * Result of fanout calculation from SQLite statistics.\n */\nexport interface FanoutResult {\n /**\n * The fanout value (average rows per distinct value of the join column).\n * For non-NULL joins, this represents how many child rows exist per parent key.\n */\n fanout: number;\n confidence: 'high' | 'med' | 'none';\n\n /**\n * Source of the fanout calculation.\n * - 'stat4': From sqlite_stat4 histogram (most accurate, excludes NULLs)\n * - 'stat1': From sqlite_stat1 average (includes NULLs, may overestimate)\n * - 'default': Fallback constant when statistics unavailable\n */\n source: 'stat4' | 'stat1' | 'default';\n}\n\n/**\n * Sample from sqlite_stat4 histogram.\n */\ninterface Stat4Sample {\n /** \"N1 N2\" = rows equal to sample (N1=first col, N2=if composite) */\n neq: string;\n /** \"N1 N2\" = rows less than sample */\n nlt: string;\n /** \"N1 N2\" = distinct values less than sample */\n ndlt: string;\n /** The actual sample value (binary encoded) */\n sample: Buffer;\n}\n\n/**\n * Computes join fanout factors from SQLite statistics tables.\n *\n * Fanout is the average number of child rows per distinct parent key value,\n * used to estimate join cardinality in query planning.\n *\n * ## Problem\n *\n * sqlite_stat1 includes NULL rows in its calculation, which can significantly\n * overestimate fanout for sparse foreign keys:\n *\n * ```\n * Example: 100 tasks, 20 with project_id, 80 with NULL\n * - stat1 reports: \"100 17\" → fanout = 17 (WRONG - includes NULLs)\n * - stat4 shows: NULL samples with fanout=80, non-NULL samples with fanout=4\n * - True fanout: 4 (CORRECT)\n * ```\n *\n * ## Solution\n *\n * This class uses sqlite_stat4 histogram to separate NULL and non-NULL samples,\n * providing accurate fanout for non-NULL joins.\n *\n * ## Usage\n *\n * ```typescript\n * const calculator = new SQLiteStatFanout(db);\n *\n * // Get fanout for posts.userId → users.id join\n * const result = calculator.getFanout('posts', 'userId');\n *\n * if (result.source === 'stat4') {\n * // Accurate: excludes NULLs, samples actual distribution\n * console.log(`Fanout: ${result.fanout} (from stat4)`);\n * } else if (result.source === 'stat1') {\n * // Conservative: includes NULLs, may overestimate\n * console.log(`Fanout: ${result.fanout} (from stat1, includes NULLs)`);\n * } else {\n * // Fallback: no statistics available\n * console.log(`Fanout: ${result.fanout} (default estimate)`);\n * }\n * ```\n *\n * ## Requirements\n *\n * - SQLite compiled with ENABLE_STAT4 (most builds include this)\n * - `ANALYZE` command run on the database\n * - Index exists on the join column\n *\n * @see https://sqlite.org/fileformat2.html#stat4tab\n * @see packages/zql/src/planner/SELECTIVITY_PLAN.md\n */\nexport class SQLiteStatFanout {\n readonly #db: Database;\n readonly #defaultFanout: number;\n\n /**\n * Cache of fanout results by table and columns.\n * Key format: \"tableName:col1,col2,col3\" (sorted alphabetically)\n */\n readonly #cache = new Map<string, FanoutResult>();\n\n /**\n * Prepared statements for querying SQLite statistics tables.\n * Prepared once in constructor for performance.\n */\n readonly #stat4Stmt: ReturnType<Database['prepare']>;\n readonly #stat1Stmt: ReturnType<Database['prepare']>;\n readonly #indexStmt: ReturnType<Database['prepare']>;\n\n /**\n * Creates a new fanout calculator.\n *\n * @param db Database instance\n * @param defaultFanout Default fanout when statistics unavailable (default: 3)\n * - 1: Conservative (assumes FK relationships)\n * - 3: Moderate (recommended, safe middle ground)\n * - 10: SQLite's default (optimistic)\n */\n constructor(db: Database, defaultFanout = 3) {\n this.#db = db;\n this.#defaultFanout = defaultFanout;\n\n // Prepare SQL statements once for reuse across multiple getFanout() calls\n this.#stat4Stmt = this.#db.prepare(`\n SELECT neq, nlt, ndlt, sample\n FROM sqlite_stat4\n WHERE tbl = ? AND idx = ?\n ORDER BY nlt\n `);\n\n this.#stat1Stmt = this.#db.prepare(`\n SELECT stat\n FROM sqlite_stat1\n WHERE tbl = ? AND idx = ?\n `);\n\n this.#indexStmt = this.#db.prepare(`\n SELECT il.name as index_name, ii.seqno, ii.name as column_name\n FROM pragma_index_list(?) il\n JOIN pragma_index_info(il.name) ii\n ORDER BY il.seq, ii.seqno\n `);\n }\n\n /**\n * Gets the fanout factor for join column(s).\n *\n * Fanout = average number of child rows per distinct parent key value(s).\n *\n * ## Strategy\n *\n * 1. Try sqlite_stat4 (best): Histogram with separate NULL/non-NULL samples\n * 2. Fallback to sqlite_stat1: Average across all rows (includes NULLs)\n * 3. Fallback to default: When no statistics available\n *\n * ## Compound Indexes\n *\n * For multi-column joins, finds indexes where ALL columns appear as an\n * exact prefix. Uses the appropriate depth in stat1/stat4.\n *\n * Example:\n * - Columns: `['customerId', 'storeId']`\n * - Matches index: `(customerId, storeId, date)` at depth 2\n * - Uses stat1 parts[2] or stat4 neq[1] for accurate fanout\n *\n * ## Caching\n *\n * Results are cached per (table, columns) combination. Clear the cache if\n * you run ANALYZE to update statistics.\n *\n * @param tableName Table containing the join column(s)\n * @param columns Array of column names (one or more columns)\n * @returns Fanout result with value and source\n */\n getFanout(tableName: string, columns: string[]): FanoutResult {\n // Cache key uses sorted columns for consistency\n const cacheKey = `${tableName}:${columns.toSorted().join(',')}`;\n const cached = this.#cache.get(cacheKey);\n if (cached) {\n return cached;\n }\n\n // Strategy 1: Try stat4 first (most accurate)\n // NOTE: columns are NOT sorted - preserves Object.keys() order from constraint\n // Matching is order-independent (flexible), but we keep original order for consistency\n const stat4Result = this.#getFanoutFromStat4(tableName, columns);\n if (stat4Result) {\n this.#cache.set(cacheKey, stat4Result);\n return stat4Result;\n }\n\n // Strategy 2: Fallback to stat1 (includes NULLs)\n const stat1Result = this.#getFanoutFromStat1(tableName, columns);\n if (stat1Result) {\n this.#cache.set(cacheKey, stat1Result);\n return stat1Result;\n }\n\n // Strategy 3: Use default\n const defaultResult: FanoutResult = {\n fanout: this.#defaultFanout,\n confidence: 'none',\n source: 'default',\n };\n this.#cache.set(cacheKey, defaultResult);\n return defaultResult;\n }\n\n /**\n * Clears the fanout cache.\n * Call this after running ANALYZE to pick up updated statistics.\n */\n clearCache(): void {\n this.#cache.clear();\n }\n\n /**\n * Gets fanout from sqlite_stat4 histogram.\n *\n * Queries stat4 samples, decodes to identify NULLs, and returns\n * the median fanout of non-NULL samples.\n *\n * For compound indexes, uses the neq value at the appropriate depth.\n *\n * @param columns Array of column names to get fanout for\n * @returns Fanout result or undefined if stat4 unavailable\n */\n #getFanoutFromStat4(\n tableName: string,\n columns: string[],\n ): FanoutResult | undefined {\n try {\n // Find index containing the columns as a prefix\n const indexInfo = this.#findIndexForColumns(tableName, columns);\n if (!indexInfo) {\n return undefined;\n }\n\n // Query stat4 samples for this index (using prepared statement)\n const samples = this.#stat4Stmt.all(\n tableName,\n indexInfo.indexName,\n ) as Stat4Sample[];\n\n if (samples.length === 0) {\n return undefined;\n }\n\n // Decode samples and separate NULL from non-NULL\n // Use depth-1 for neq array index (depth is 1-based, array is 0-based)\n const neqIndex = indexInfo.depth - 1;\n const decodedSamples = samples.map(s => {\n const neqParts = s.neq.split(' ');\n return {\n fanout: parseInt(neqParts[neqIndex] ?? neqParts[0], 10),\n isNull: this.#decodeSampleIsNull(s.sample),\n };\n });\n\n const nonNullSamples = decodedSamples.filter(s => !s.isNull);\n\n if (nonNullSamples.length === 0) {\n // All samples are NULL - return fanout of 0 since NULLs don't match in joins\n return {\n fanout: 0,\n source: 'stat4',\n confidence: 'high',\n };\n }\n\n // Use median of non-NULL fanouts (more robust than average)\n const fanouts = nonNullSamples.map(s => s.fanout).sort((a, b) => a - b);\n const medianFanout =\n fanouts.length % 2 === 0\n ? Math.floor(\n (fanouts[fanouts.length / 2 - 1] + fanouts[fanouts.length / 2]) /\n 2,\n )\n : fanouts[Math.floor(fanouts.length / 2)];\n\n return {\n fanout: medianFanout,\n source: 'stat4',\n confidence: 'high',\n };\n } catch {\n // stat4 table may not exist or query may fail\n return undefined;\n }\n }\n\n /**\n * Gets fanout from sqlite_stat1 average.\n *\n * Note: This includes NULL rows in the calculation and may overestimate\n * fanout for sparse foreign keys.\n *\n * For compound indexes, uses the stat value at the appropriate depth.\n *\n * @param columns Array of column names to get fanout for\n * @returns Fanout result or undefined if stat1 unavailable\n */\n #getFanoutFromStat1(\n tableName: string,\n columns: string[],\n ): FanoutResult | undefined {\n try {\n // Find index containing the columns as a prefix\n const indexInfo = this.#findIndexForColumns(tableName, columns);\n if (!indexInfo) {\n return undefined;\n }\n\n // Query stat1 for this index (using prepared statement)\n const result = this.#stat1Stmt.get(tableName, indexInfo.indexName) as\n | {stat: string}\n | undefined;\n\n if (!result) {\n return undefined;\n }\n\n const parts = result.stat.split(' ');\n // Check if we have enough parts for the requested depth\n if (parts.length < indexInfo.depth + 1) {\n return undefined;\n }\n\n const fanout = parseInt(parts[indexInfo.depth], 10);\n if (isNaN(fanout)) {\n return undefined;\n }\n\n return {\n fanout,\n source: 'stat1',\n confidence: 'med',\n };\n } catch {\n return undefined;\n }\n }\n\n /**\n * Finds an index that can be used to get statistics for column(s).\n *\n * Uses pragma_index_list and pragma_index_info to reliably get index\n * column names, avoiding brittle SQL parsing. Includes all indices:\n * user-created (CREATE INDEX), PRIMARY KEY, and UNIQUE constraints.\n *\n * Uses flexible matching: Finds indexes where ALL columns appear in the\n * first N positions, regardless of order. This works because SQLite statistics\n * at depth N represent the fanout for the combination of the first N columns,\n * and combinations are order-independent.\n *\n * Example:\n * - columns: ['customerId', 'storeId']\n * - Matches: (customerId, storeId, date) at depth 2 ✅\n * - Matches: (storeId, customerId, date) at depth 2 ✅ (flexible order)\n * - Does NOT match: (date, customerId, storeId) ❌ (columns not in first 2 positions)\n * - Does NOT match: (customerId, date, storeId) ❌ (storeId not in first 2 positions)\n *\n * @param columns Array of column names (order-independent for matching)\n * @returns Index info with name and depth, or undefined if no match\n */\n #findIndexForColumns(\n tableName: string,\n columns: string[],\n ): {indexName: string; depth: number} | undefined {\n try {\n // Query returns all columns for all indexes (including PK/UNIQUE) in order\n const rows = this.#indexStmt.all(tableName) as {\n index_name: string;\n seqno: number;\n column_name: string;\n }[];\n\n // Group by index name\n const indexMap = new Map<string, string[]>();\n for (const row of rows) {\n const cols = indexMap.get(row.index_name) ?? [];\n cols.push(row.column_name);\n indexMap.set(row.index_name, cols);\n }\n\n // Check each index for prefix match\n for (const [indexName, indexColumns] of indexMap) {\n if (this.#isPrefixMatch(columns, indexColumns)) {\n return {\n indexName,\n depth: columns.length,\n };\n }\n }\n\n return undefined;\n } catch {\n return undefined;\n }\n }\n\n /**\n * Checks if all queryColumns exist in the first N positions of indexColumns,\n * regardless of order.\n *\n * This allows flexible matching: constraint {a, b} matches both index (a, b, c)\n * and index (b, a, c) at depth 2, since both represent the fanout for the\n * combination of columns a and b.\n *\n * Gaps are NOT allowed: constraint {a, c} does NOT match index (a, b, c)\n * because no depth represents just (a, c) without b. Statistics are cumulative\n * from position 0.\n *\n * @param queryColumns Columns we're looking for (from constraint)\n * @param indexColumns Columns in the index (in order)\n * @returns true if all queryColumns exist in indexColumns[0...queryColumns.length-1]\n */\n #isPrefixMatch(queryColumns: string[], indexColumns: string[]): boolean {\n if (queryColumns.length > indexColumns.length) {\n return false;\n }\n\n // Get the prefix of the index that we're checking against\n const indexPrefix = indexColumns.slice(0, queryColumns.length);\n\n // Normalize to lowercase for case-insensitive comparison\n const indexPrefixLower = new Set(indexPrefix.map(col => col.toLowerCase()));\n const queryColumnsLower = queryColumns.map(col => col.toLowerCase());\n\n // Check if ALL query columns exist in the index prefix\n return queryColumnsLower.every(queryCol => indexPrefixLower.has(queryCol));\n }\n\n /**\n * Decodes a sqlite_stat4 sample value to check if it's NULL.\n *\n * SQLite record format (simplified):\n * - Varint: header size\n * - Serial types for each column (one byte each typically)\n * - Actual data\n *\n * Serial type 0 = NULL\n * Serial type 1 = 8-bit int\n * Serial type 2 = 16-bit int\n * Serial type 3 = 24-bit int\n * etc.\n *\n * We only need to check the first column's serial type.\n *\n * @param sample Binary-encoded sample from stat4\n * @returns true if the sample value is NULL\n */\n #decodeSampleIsNull(sample: Buffer): boolean {\n if (sample.length === 0) {\n return true;\n }\n\n // Read header size (varint - simplified: assume single byte)\n const headerSize = sample[0];\n\n if (headerSize === 0 || headerSize >= sample.length) {\n return true;\n }\n\n // Read first serial type (at position 1)\n const serialType = sample[1];\n\n // Serial type 0 = NULL\n return serialType === 0;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,313 @@
1
+ import { assert, unreachable } from "../../shared/src/asserts.js";
2
+ import { must } from "../../shared/src/must.js";
3
+ import { assertOrderingIncludesPK } from "../../zql/src/query/complete-ordering.js";
4
+ import { makeComparator } from "../../zql/src/ivm/data.js";
5
+ import { createPredicate, transformFilters } from "../../zql/src/builder/filter.js";
6
+ import { genPushAndWriteWithSplitEdit, generateWithOverlay, generateWithOverlayUnordered, generateWithStart } from "../../zql/src/ivm/memory-source.js";
7
+ import { timeSampled } from "../../otel/src/maybe-time.js";
8
+ import { compile, format, sql } from "./internal/sql.js";
9
+ import { StatementCache } from "./internal/statement-cache.js";
10
+ import { buildSelectQuery, toSQLiteType } from "./query-builder.js";
11
+ import SQLite3Database from "@rocicorp/zero-sqlite3";
12
+ //#region ../zqlite/src/table-source.ts
13
+ var eventCount = 0;
14
+ /**
15
+ * A source that is backed by a SQLite table.
16
+ *
17
+ * Values are written to the backing table _after_ being vended by the source.
18
+ *
19
+ * This ordering of events is to ensure self joins function properly. That is,
20
+ * we can't reveal a value to an output before it has been pushed to that output.
21
+ *
22
+ * The code is fairly straightforward except for:
23
+ * 1. Dealing with a `fetch` that has a basis of `before`.
24
+ * 2. Dealing with compound orders that have differing directions (a ASC, b DESC, c ASC)
25
+ *
26
+ * See comments in relevant functions for more details.
27
+ */
28
+ var TableSource = class {
29
+ #dbCache = /* @__PURE__ */ new WeakMap();
30
+ #connections = [];
31
+ #table;
32
+ #columns;
33
+ #uniqueIndexes;
34
+ #primaryKey;
35
+ #logConfig;
36
+ #lc;
37
+ #shouldYield;
38
+ #stmts;
39
+ #overlay;
40
+ #pushEpoch = 0;
41
+ /**
42
+ * @param shouldYield a function called after each row is read from the database,
43
+ * which should return true if the source should yield the special 'yield' value
44
+ * to yield control back to the caller at the end of the pipeline. Can
45
+ * also throw an error to abort the pipeline processing.
46
+ */
47
+ constructor(logContext, logConfig, db, tableName, columns, primaryKey, shouldYield = () => false) {
48
+ this.#lc = logContext;
49
+ this.#logConfig = logConfig;
50
+ this.#table = tableName;
51
+ this.#columns = columns;
52
+ this.#uniqueIndexes = getUniqueIndexes(db, tableName);
53
+ this.#primaryKey = primaryKey;
54
+ this.#stmts = this.#getStatementsFor(db);
55
+ this.#shouldYield = shouldYield;
56
+ assert(this.#uniqueIndexes.has(JSON.stringify(primaryKey.toSorted())), `primary key ${primaryKey} does not have a UNIQUE index`);
57
+ }
58
+ get tableSchema() {
59
+ return {
60
+ name: this.#table,
61
+ columns: this.#columns,
62
+ primaryKey: this.#primaryKey
63
+ };
64
+ }
65
+ /**
66
+ * Sets the db (snapshot) to use, to facilitate the Snapshotter leapfrog
67
+ * algorithm for concurrent traversal of historic timelines.
68
+ */
69
+ setDB(db) {
70
+ this.#stmts = this.#getStatementsFor(db);
71
+ }
72
+ #getStatementsFor(db) {
73
+ const cached = this.#dbCache.get(db);
74
+ if (cached) return cached;
75
+ const stmts = {
76
+ cache: new StatementCache(db),
77
+ insert: db.prepare(compile(sql`INSERT INTO ${sql.ident(this.#table)} (${sql.join(Object.keys(this.#columns).map((c) => sql.ident(c)), ", ")}) VALUES (${sql.__dangerous__rawValue(Array.from({ length: Object.keys(this.#columns).length }).fill("?").join(","))})`)),
78
+ delete: db.prepare(compile(sql`DELETE FROM ${sql.ident(this.#table)} WHERE ${sql.join(this.#primaryKey.map((k) => sql`${sql.ident(k)}=?`), " AND ")}`)),
79
+ update: Object.keys(this.#columns).length > this.#primaryKey.length ? db.prepare(compile(sql`UPDATE ${sql.ident(this.#table)} SET ${sql.join(nonPrimaryKeys(this.#columns, this.#primaryKey).map((c) => sql`${sql.ident(c)}=?`), ",")} WHERE ${sql.join(this.#primaryKey.map((k) => sql`${sql.ident(k)}=?`), " AND ")}`)) : void 0,
80
+ checkExists: db.prepare(compile(sql`SELECT 1 AS "exists" FROM ${sql.ident(this.#table)} WHERE ${sql.join(this.#primaryKey.map((k) => sql`${sql.ident(k)}=?`), " AND ")} LIMIT 1`)),
81
+ getExisting: db.prepare(compile(sql`SELECT * FROM ${sql.ident(this.#table)} WHERE ${sql.join(this.#primaryKey.map((k) => sql`${sql.ident(k)}=?`), " AND ")}`))
82
+ };
83
+ this.#dbCache.set(db, stmts);
84
+ return stmts;
85
+ }
86
+ get #allColumns() {
87
+ return sql.join(Object.keys(this.#columns).map((c) => sql.ident(c)), sql`,`);
88
+ }
89
+ #getSchema(connection, unordered) {
90
+ return {
91
+ tableName: this.#table,
92
+ columns: this.#columns,
93
+ primaryKey: this.#primaryKey,
94
+ sort: unordered ? void 0 : connection.sort,
95
+ relationships: {},
96
+ isHidden: false,
97
+ system: "client",
98
+ compareRows: connection.compareRows
99
+ };
100
+ }
101
+ connect(sort, filters, splitEditKeys, debug) {
102
+ const transformedFilters = transformFilters(filters);
103
+ const unordered = sort === void 0;
104
+ const primaryKeySort = this.#primaryKey.map((k) => [k, "asc"]);
105
+ const input = {
106
+ getSchema: () => schema,
107
+ fetch: (req) => this.#fetch(req, connection),
108
+ setOutput: (output) => {
109
+ connection.output = output;
110
+ },
111
+ destroy: () => {
112
+ const idx = this.#connections.indexOf(connection);
113
+ assert(idx !== -1, "Connection not found");
114
+ this.#connections.splice(idx, 1);
115
+ },
116
+ fullyAppliedFilters: !transformedFilters.conditionsRemoved
117
+ };
118
+ const connection = {
119
+ input,
120
+ debug,
121
+ output: void 0,
122
+ sort,
123
+ splitEditKeys,
124
+ filters: transformedFilters.filters ? {
125
+ condition: transformedFilters.filters,
126
+ predicate: createPredicate(transformedFilters.filters)
127
+ } : void 0,
128
+ compareRows: sort ? makeComparator(sort) : makeComparator(primaryKeySort),
129
+ lastPushedEpoch: 0
130
+ };
131
+ const schema = this.#getSchema(connection, unordered);
132
+ if (!unordered) assertOrderingIncludesPK(sort, this.#primaryKey);
133
+ this.#connections.push(connection);
134
+ return input;
135
+ }
136
+ toSQLiteRow(row) {
137
+ return Object.fromEntries(Object.entries(row).map(([key, value]) => [key, toSQLiteType(value, this.#columns[key].type)]));
138
+ }
139
+ *#fetch(req, connection) {
140
+ const { sort, debug } = connection;
141
+ const sqlAndBindings = format(this.#requestToSQL(req, connection.filters?.condition, sort));
142
+ const cachedStatement = this.#stmts.cache.get(sqlAndBindings.text);
143
+ cachedStatement.statement.safeIntegers(true);
144
+ const rowIterator = cachedStatement.statement.iterate(...sqlAndBindings.values);
145
+ try {
146
+ debug?.initQuery(this.#table, sqlAndBindings.text);
147
+ if (sort) {
148
+ const comparator = makeComparator(sort, req.reverse);
149
+ yield* generateWithStart(generateWithYields(generateWithOverlay(req.start?.row, this.#mapFromSQLiteTypes(this.#columns, rowIterator, sqlAndBindings.text, debug), req.constraint, this.#overlay, connection.lastPushedEpoch, comparator, connection.filters?.predicate, req.multiConstraints), this.#shouldYield), req.start, comparator);
150
+ } else yield* generateWithYields(generateWithOverlayUnordered(this.#mapFromSQLiteTypes(this.#columns, rowIterator, sqlAndBindings.text, debug), req.constraint, this.#overlay, connection.lastPushedEpoch, this.#primaryKey, connection.filters?.predicate, req.multiConstraints), this.#shouldYield);
151
+ } finally {
152
+ rowIterator.return?.();
153
+ if (debug) {
154
+ let totalNvisit = 0;
155
+ const planLines = [];
156
+ for (let i = 0;; i++) {
157
+ const nvisit = cachedStatement.statement.scanStatus(i, SQLite3Database.SQLITE_SCANSTAT_NVISIT, 1);
158
+ if (nvisit === void 0) break;
159
+ totalNvisit += Number(nvisit);
160
+ const explain = cachedStatement.statement.scanStatus(i, SQLite3Database.SQLITE_SCANSTAT_EXPLAIN, 1);
161
+ if (typeof explain === "string" && explain.length > 0) planLines.push(explain);
162
+ }
163
+ if (totalNvisit !== 0) debug.recordNVisit(this.#table, sqlAndBindings.text, totalNvisit);
164
+ if (planLines.length > 0) debug.recordExplain(this.#table, sqlAndBindings.text, planLines);
165
+ cachedStatement.statement.scanStatusReset();
166
+ }
167
+ this.#stmts.cache.return(cachedStatement);
168
+ }
169
+ }
170
+ *#mapFromSQLiteTypes(valueTypes, rowIterator, query, debug) {
171
+ let result;
172
+ do {
173
+ result = timeSampled(this.#lc, ++eventCount, this.#logConfig.ivmSampling, () => rowIterator.next(), this.#logConfig.slowRowThreshold, () => `table-source.next took too long for ${query}. Are you missing an index?`);
174
+ if (result.done) break;
175
+ const row = fromSQLiteTypes(valueTypes, result.value, this.#table);
176
+ debug?.rowVended(this.#table, query, row);
177
+ yield row;
178
+ } while (!result.done);
179
+ }
180
+ *push(change) {
181
+ for (const result of this.genPush(change)) if (result === "yield") yield result;
182
+ }
183
+ *genPush(change) {
184
+ const exists = (row) => this.#stmts.checkExists.get(...toSQLiteTypes(this.#primaryKey, row, this.#columns))?.exists === 1;
185
+ const setOverlay = (o) => this.#overlay = o;
186
+ const writeChange = (c) => this.#writeChange(c);
187
+ yield* genPushAndWriteWithSplitEdit(this.#connections, change, exists, setOverlay, writeChange, () => ++this.#pushEpoch);
188
+ }
189
+ #writeChange(change) {
190
+ switch (change[0]) {
191
+ case 0:
192
+ this.#stmts.insert.run(...toSQLiteTypes(Object.keys(this.#columns), change[1], this.#columns));
193
+ break;
194
+ case 1:
195
+ this.#stmts.delete.run(...toSQLiteTypes(this.#primaryKey, change[1], this.#columns));
196
+ break;
197
+ case 2:
198
+ if (canUseUpdate(change[2], change[1], this.#columns, this.#primaryKey)) {
199
+ const mergedRow = {
200
+ ...change[2],
201
+ ...change[1]
202
+ };
203
+ const params = [...nonPrimaryValues(this.#columns, this.#primaryKey, mergedRow), ...toSQLiteTypes(this.#primaryKey, mergedRow, this.#columns)];
204
+ must(this.#stmts.update).run(params);
205
+ } else {
206
+ this.#stmts.delete.run(...toSQLiteTypes(this.#primaryKey, change[2], this.#columns));
207
+ this.#stmts.insert.run(...toSQLiteTypes(Object.keys(this.#columns), change[1], this.#columns));
208
+ }
209
+ break;
210
+ default: unreachable(change);
211
+ }
212
+ }
213
+ #getRowStmtCache = /* @__PURE__ */ new Map();
214
+ #getRowStmt(keyCols) {
215
+ const keyString = JSON.stringify(keyCols);
216
+ let stmt = this.#getRowStmtCache.get(keyString);
217
+ if (!stmt) {
218
+ stmt = compile(sql`SELECT ${this.#allColumns} FROM ${sql.ident(this.#table)} WHERE ${sql.join(keyCols.map((k) => sql`${sql.ident(k)}=?`), sql` AND`)}`);
219
+ this.#getRowStmtCache.set(keyString, stmt);
220
+ }
221
+ return stmt;
222
+ }
223
+ /**
224
+ * Retrieves a row from the backing DB by a unique key, or `undefined` if such a
225
+ * row does not exist. This is not used in the IVM pipeline but is useful
226
+ * for retrieving data that is consistent with the state (and type
227
+ * semantics) of the pipeline. Note that this key may not necessarily correspond
228
+ * to the `primaryKey` with which this TableSource.
229
+ */
230
+ getRow(rowKey) {
231
+ const keyCols = Object.keys(rowKey);
232
+ const stmt = this.#getRowStmt(keyCols);
233
+ const row = this.#stmts.cache.use(stmt, (cached) => cached.statement.safeIntegers(true).get(...toSQLiteTypes(keyCols, rowKey, this.#columns)));
234
+ if (row) return fromSQLiteTypes(this.#columns, row, this.#table);
235
+ return row;
236
+ }
237
+ #requestToSQL(request, filters, order) {
238
+ return buildSelectQuery(this.#table, this.#columns, request.constraint, filters, order, request.reverse, request.start, request.multiConstraints);
239
+ }
240
+ };
241
+ function getUniqueIndexes(db, tableName) {
242
+ const sqlAndBindings = format(sql`
243
+ SELECT idx.name, json_group_array(col.name) as columnsJSON
244
+ FROM sqlite_master as idx
245
+ JOIN pragma_index_list(idx.tbl_name) AS info ON info.name = idx.name
246
+ JOIN pragma_index_info(idx.name) as col
247
+ WHERE idx.tbl_name = ${tableName} AND
248
+ idx.type = 'index' AND
249
+ info."unique" != 0
250
+ GROUP BY idx.name
251
+ ORDER BY idx.name`);
252
+ const indexes = db.prepare(sqlAndBindings.text).all(...sqlAndBindings.values);
253
+ return new Map(indexes.map(({ columnsJSON }) => {
254
+ const columns = JSON.parse(columnsJSON);
255
+ const set = new Set(columns);
256
+ return [JSON.stringify(columns.sort()), set];
257
+ }));
258
+ }
259
+ function toSQLiteTypes(columns, row, columnTypes) {
260
+ return columns.map((col) => toSQLiteType(row[col], columnTypes[col].type));
261
+ }
262
+ function fromSQLiteTypes(valueTypes, row, tableName) {
263
+ const newRow = {};
264
+ for (const key of Object.keys(row)) {
265
+ const valueType = valueTypes[key];
266
+ if (valueType === void 0) {
267
+ const columnList = Object.keys(valueTypes).sort().join(", ");
268
+ throw new Error(`Invalid column "${key}" for table "${tableName}". Synced columns include ${columnList}`);
269
+ }
270
+ newRow[key] = fromSQLiteType(valueType.type, row[key], key, tableName);
271
+ }
272
+ return newRow;
273
+ }
274
+ function fromSQLiteType(valueType, v, column, tableName) {
275
+ if (v === null) return null;
276
+ switch (valueType) {
277
+ case "boolean": return !!v;
278
+ case "number":
279
+ case "string":
280
+ case "null":
281
+ if (typeof v === "bigint") {
282
+ if (v > Number.MAX_SAFE_INTEGER || v < Number.MIN_SAFE_INTEGER) throw new UnsupportedValueError(`value ${v} (in ${tableName}.${column}) is outside of supported bounds`);
283
+ return Number(v);
284
+ }
285
+ return v;
286
+ case "json": try {
287
+ return JSON.parse(v);
288
+ } catch (error) {
289
+ throw new UnsupportedValueError(`Failed to parse JSON for ${tableName}.${column}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
290
+ }
291
+ }
292
+ }
293
+ var UnsupportedValueError = class extends Error {};
294
+ function canUseUpdate(oldRow, row, columns, primaryKey) {
295
+ for (const pk of primaryKey) if (oldRow[pk] !== row[pk]) return false;
296
+ return Object.keys(columns).length > primaryKey.length;
297
+ }
298
+ function nonPrimaryValues(columns, primaryKey, row) {
299
+ return nonPrimaryKeys(columns, primaryKey).map((c) => toSQLiteType(row[c], columns[c].type));
300
+ }
301
+ function nonPrimaryKeys(columns, primaryKey) {
302
+ return Object.keys(columns).filter((c) => !primaryKey.includes(c));
303
+ }
304
+ function* generateWithYields(stream, shouldYield) {
305
+ for (const n of stream) {
306
+ if (shouldYield()) yield "yield";
307
+ yield n;
308
+ }
309
+ }
310
+ //#endregion
311
+ export { TableSource, fromSQLiteTypes };
312
+
313
+ //# sourceMappingURL=table-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-source.js","names":["#dbCache","#connections","#table","#columns","#uniqueIndexes","#primaryKey","#logConfig","#lc","#shouldYield","#stmts","#getStatementsFor","#allColumns","#fetch","#getSchema","#requestToSQL","#mapFromSQLiteTypes","#overlay","#writeChange","#pushEpoch","#getRowStmtCache","#getRowStmt"],"sources":["../../../../../zqlite/src/table-source.ts"],"sourcesContent":["import type {SQLQuery} from '@databases/sql';\nimport type {LogContext} from '@rocicorp/logger';\nimport SQLite3Database from '@rocicorp/zero-sqlite3';\nimport type {LogConfig} from '../../otel/src/log-options.ts';\nimport {timeSampled} from '../../otel/src/maybe-time.ts';\nimport {assert, unreachable} from '../../shared/src/asserts.ts';\nimport {must} from '../../shared/src/must.ts';\nimport type {Writable} from '../../shared/src/writable.ts';\nimport type {Condition, Ordering} from '../../zero-protocol/src/ast.ts';\nimport type {Row, Value} from '../../zero-protocol/src/data.ts';\nimport type {PrimaryKey} from '../../zero-protocol/src/primary-key.ts';\nimport type {\n SchemaValue,\n ValueType,\n} from '../../zero-schema/src/table-schema.ts';\nimport type {DebugDelegate} from '../../zql/src/builder/debug-delegate.ts';\nimport {\n createPredicate,\n transformFilters,\n} from '../../zql/src/builder/filter.ts';\nimport {ChangeType} from '../../zql/src/ivm/change-type.ts';\nimport {makeComparator, type Node} from '../../zql/src/ivm/data.ts';\nimport {\n generateWithOverlay,\n generateWithOverlayUnordered,\n generateWithStart,\n genPushAndWriteWithSplitEdit,\n type Connection,\n type Overlay,\n} from '../../zql/src/ivm/memory-source.ts';\nimport {type FetchRequest} from '../../zql/src/ivm/operator.ts';\nimport type {SourceSchema} from '../../zql/src/ivm/schema.ts';\nimport {SourceChangeIndex} from '../../zql/src/ivm/source-change-index.ts';\nimport {\n type Source,\n type SourceChange,\n type SourceInput,\n} from '../../zql/src/ivm/source.ts';\nimport type {Stream} from '../../zql/src/ivm/stream.ts';\nimport {assertOrderingIncludesPK} from '../../zql/src/query/complete-ordering.ts';\nimport type {Database, Statement} from './db.ts';\nimport {compile, format, sql} from './internal/sql.ts';\nimport {StatementCache} from './internal/statement-cache.ts';\nimport {\n buildSelectQuery,\n toSQLiteType,\n type NoSubqueryCondition,\n} from './query-builder.ts';\n\ntype Statements = {\n readonly cache: StatementCache;\n readonly insert: Statement;\n readonly delete: Statement;\n readonly update: Statement | undefined;\n readonly checkExists: Statement;\n readonly getExisting: Statement;\n};\n\nlet eventCount = 0;\n\n/**\n * A source that is backed by a SQLite table.\n *\n * Values are written to the backing table _after_ being vended by the source.\n *\n * This ordering of events is to ensure self joins function properly. That is,\n * we can't reveal a value to an output before it has been pushed to that output.\n *\n * The code is fairly straightforward except for:\n * 1. Dealing with a `fetch` that has a basis of `before`.\n * 2. Dealing with compound orders that have differing directions (a ASC, b DESC, c ASC)\n *\n * See comments in relevant functions for more details.\n */\nexport class TableSource implements Source {\n readonly #dbCache = new WeakMap<Database, Statements>();\n readonly #connections: Connection[] = [];\n readonly #table: string;\n readonly #columns: Record<string, SchemaValue>;\n // Maps sorted columns JSON string (e.g. '[\"a\",\"b\"]) to Set of columns.\n readonly #uniqueIndexes: Map<string, Set<string>>;\n readonly #primaryKey: PrimaryKey;\n readonly #logConfig: LogConfig;\n readonly #lc: LogContext;\n readonly #shouldYield: () => boolean;\n #stmts: Statements;\n #overlay?: Overlay | undefined;\n #pushEpoch = 0;\n\n /**\n * @param shouldYield a function called after each row is read from the database,\n * which should return true if the source should yield the special 'yield' value\n * to yield control back to the caller at the end of the pipeline. Can\n * also throw an error to abort the pipeline processing.\n */\n constructor(\n logContext: LogContext,\n logConfig: LogConfig,\n db: Database,\n tableName: string,\n columns: Record<string, SchemaValue>,\n primaryKey: PrimaryKey,\n shouldYield = () => false,\n ) {\n this.#lc = logContext;\n this.#logConfig = logConfig;\n this.#table = tableName;\n this.#columns = columns;\n this.#uniqueIndexes = getUniqueIndexes(db, tableName);\n this.#primaryKey = primaryKey;\n this.#stmts = this.#getStatementsFor(db);\n this.#shouldYield = shouldYield;\n\n assert(\n this.#uniqueIndexes.has(JSON.stringify(primaryKey.toSorted())),\n `primary key ${primaryKey} does not have a UNIQUE index`,\n );\n }\n\n get tableSchema() {\n return {\n name: this.#table,\n columns: this.#columns,\n primaryKey: this.#primaryKey,\n };\n }\n\n /**\n * Sets the db (snapshot) to use, to facilitate the Snapshotter leapfrog\n * algorithm for concurrent traversal of historic timelines.\n */\n setDB(db: Database) {\n this.#stmts = this.#getStatementsFor(db);\n }\n\n #getStatementsFor(db: Database) {\n const cached = this.#dbCache.get(db);\n if (cached) {\n return cached;\n }\n\n const stmts = {\n cache: new StatementCache(db),\n insert: db.prepare(\n compile(\n sql`INSERT INTO ${sql.ident(this.#table)} (${sql.join(\n Object.keys(this.#columns).map(c => sql.ident(c)),\n ', ',\n )}) VALUES (${sql.__dangerous__rawValue(\n Array.from({length: Object.keys(this.#columns).length})\n .fill('?')\n .join(','),\n )})`,\n ),\n ),\n delete: db.prepare(\n compile(\n sql`DELETE FROM ${sql.ident(this.#table)} WHERE ${sql.join(\n this.#primaryKey.map(k => sql`${sql.ident(k)}=?`),\n ' AND ',\n )}`,\n ),\n ),\n // If all the columns are part of the primary key, we cannot use UPDATE.\n update:\n Object.keys(this.#columns).length > this.#primaryKey.length\n ? db.prepare(\n compile(\n sql`UPDATE ${sql.ident(this.#table)} SET ${sql.join(\n nonPrimaryKeys(this.#columns, this.#primaryKey).map(\n c => sql`${sql.ident(c)}=?`,\n ),\n ',',\n )} WHERE ${sql.join(\n this.#primaryKey.map(k => sql`${sql.ident(k)}=?`),\n ' AND ',\n )}`,\n ),\n )\n : undefined,\n checkExists: db.prepare(\n compile(\n sql`SELECT 1 AS \"exists\" FROM ${sql.ident(\n this.#table,\n )} WHERE ${sql.join(\n this.#primaryKey.map(k => sql`${sql.ident(k)}=?`),\n ' AND ',\n )} LIMIT 1`,\n ),\n ),\n getExisting: db.prepare(\n compile(\n sql`SELECT * FROM ${sql.ident(this.#table)} WHERE ${sql.join(\n this.#primaryKey.map(k => sql`${sql.ident(k)}=?`),\n ' AND ',\n )}`,\n ),\n ),\n };\n this.#dbCache.set(db, stmts);\n return stmts;\n }\n\n get #allColumns() {\n return sql.join(\n Object.keys(this.#columns).map(c => sql.ident(c)),\n sql`,`,\n );\n }\n\n #getSchema(connection: Connection, unordered: boolean): SourceSchema {\n return {\n tableName: this.#table,\n columns: this.#columns,\n primaryKey: this.#primaryKey,\n sort: unordered ? undefined : connection.sort,\n relationships: {},\n isHidden: false,\n system: 'client',\n compareRows: connection.compareRows,\n };\n }\n\n connect(\n sort: Ordering | undefined,\n filters?: Condition,\n splitEditKeys?: Set<string>,\n debug?: DebugDelegate,\n ) {\n const transformedFilters = transformFilters(filters);\n const unordered = sort === undefined;\n // PK comparator is used for source-level overlay matching (remove by PK\n // equality) even when no ordering is requested.\n const primaryKeySort: Ordering = this.#primaryKey.map(k => [k, 'asc']);\n\n const input: SourceInput = {\n getSchema: () => schema,\n fetch: req => this.#fetch(req, connection),\n setOutput: output => {\n connection.output = output;\n },\n destroy: () => {\n const idx = this.#connections.indexOf(connection);\n assert(idx !== -1, 'Connection not found');\n this.#connections.splice(idx, 1);\n },\n fullyAppliedFilters: !transformedFilters.conditionsRemoved,\n };\n\n const connection: Connection = {\n input,\n debug,\n output: undefined,\n sort,\n splitEditKeys,\n filters: transformedFilters.filters\n ? {\n condition: transformedFilters.filters,\n predicate: createPredicate(transformedFilters.filters),\n }\n : undefined,\n compareRows: sort ? makeComparator(sort) : makeComparator(primaryKeySort),\n lastPushedEpoch: 0,\n };\n const schema = this.#getSchema(connection, unordered);\n if (!unordered) {\n assertOrderingIncludesPK(sort, this.#primaryKey);\n }\n\n this.#connections.push(connection);\n return input;\n }\n\n toSQLiteRow(row: Row): Row {\n return Object.fromEntries(\n Object.entries(row).map(([key, value]) => [\n key,\n toSQLiteType(value, this.#columns[key].type),\n ]),\n ) as Row;\n }\n\n *#fetch(req: FetchRequest, connection: Connection): Stream<Node | 'yield'> {\n const {sort, debug} = connection;\n\n const query = this.#requestToSQL(req, connection.filters?.condition, sort);\n const sqlAndBindings = format(query);\n\n const cachedStatement = this.#stmts.cache.get(sqlAndBindings.text);\n cachedStatement.statement.safeIntegers(true);\n const rowIterator = cachedStatement.statement.iterate<Row>(\n ...sqlAndBindings.values,\n );\n try {\n debug?.initQuery(this.#table, sqlAndBindings.text);\n\n if (sort) {\n const comparator = makeComparator(sort, req.reverse);\n yield* generateWithStart(\n generateWithYields(\n generateWithOverlay(\n req.start?.row,\n this.#mapFromSQLiteTypes(\n this.#columns,\n rowIterator,\n sqlAndBindings.text,\n debug,\n ),\n req.constraint,\n this.#overlay,\n connection.lastPushedEpoch,\n comparator,\n connection.filters?.predicate,\n req.multiConstraints,\n ),\n this.#shouldYield,\n ),\n req.start,\n comparator,\n );\n } else {\n yield* generateWithYields(\n generateWithOverlayUnordered(\n this.#mapFromSQLiteTypes(\n this.#columns,\n rowIterator,\n sqlAndBindings.text,\n debug,\n ),\n req.constraint,\n this.#overlay,\n connection.lastPushedEpoch,\n this.#primaryKey,\n connection.filters?.predicate,\n req.multiConstraints,\n ),\n this.#shouldYield,\n );\n }\n } finally {\n // Ensure the SQLite iterate() is closed.\n rowIterator.return?.();\n if (debug) {\n let totalNvisit = 0;\n const planLines: string[] = [];\n for (let i = 0; ; i++) {\n const nvisit = cachedStatement.statement.scanStatus(\n i,\n SQLite3Database.SQLITE_SCANSTAT_NVISIT,\n 1,\n );\n if (nvisit === undefined) {\n break;\n }\n totalNvisit += Number(nvisit);\n const explain = cachedStatement.statement.scanStatus(\n i,\n SQLite3Database.SQLITE_SCANSTAT_EXPLAIN,\n 1,\n );\n if (typeof explain === 'string' && explain.length > 0) {\n planLines.push(explain);\n }\n }\n if (totalNvisit !== 0) {\n debug.recordNVisit(this.#table, sqlAndBindings.text, totalNvisit);\n }\n if (planLines.length > 0) {\n debug.recordExplain(this.#table, sqlAndBindings.text, planLines);\n }\n cachedStatement.statement.scanStatusReset();\n }\n this.#stmts.cache.return(cachedStatement);\n }\n }\n\n *#mapFromSQLiteTypes(\n valueTypes: Record<string, SchemaValue>,\n rowIterator: IterableIterator<Row>,\n query: string,\n debug: DebugDelegate | undefined,\n ): IterableIterator<Row> {\n let result;\n do {\n result = timeSampled(\n this.#lc,\n ++eventCount,\n this.#logConfig.ivmSampling,\n () => rowIterator.next(),\n this.#logConfig.slowRowThreshold,\n () =>\n `table-source.next took too long for ${query}. Are you missing an index?`,\n );\n if (result.done) {\n break;\n }\n const row = fromSQLiteTypes(valueTypes, result.value, this.#table);\n debug?.rowVended(this.#table, query, row);\n yield row;\n } while (!result.done);\n }\n\n *push(change: SourceChange): Stream<'yield'> {\n for (const result of this.genPush(change)) {\n if (result === 'yield') {\n yield result;\n }\n }\n }\n\n *genPush(change: SourceChange) {\n const exists = (row: Row) =>\n this.#stmts.checkExists.get<{exists: number} | undefined>(\n ...toSQLiteTypes(this.#primaryKey, row, this.#columns),\n )?.exists === 1;\n const setOverlay = (o: Overlay | undefined) => (this.#overlay = o);\n const writeChange = (c: SourceChange) => this.#writeChange(c);\n\n yield* genPushAndWriteWithSplitEdit(\n this.#connections,\n change,\n exists,\n setOverlay,\n writeChange,\n () => ++this.#pushEpoch,\n );\n }\n\n #writeChange(change: SourceChange) {\n switch (change[SourceChangeIndex.TYPE]) {\n case ChangeType.ADD:\n this.#stmts.insert.run(\n ...toSQLiteTypes(\n // TODO(arv): Compute this once!\n Object.keys(this.#columns),\n change[SourceChangeIndex.ROW],\n this.#columns,\n ),\n );\n break;\n case ChangeType.REMOVE:\n this.#stmts.delete.run(\n ...toSQLiteTypes(\n this.#primaryKey,\n change[SourceChangeIndex.ROW],\n this.#columns,\n ),\n );\n break;\n case ChangeType.EDIT: {\n // If the PK is the same, use UPDATE.\n if (\n canUseUpdate(\n change[SourceChangeIndex.OLD_ROW],\n change[SourceChangeIndex.ROW],\n this.#columns,\n this.#primaryKey,\n )\n ) {\n const mergedRow = {\n ...change[SourceChangeIndex.OLD_ROW],\n ...change[SourceChangeIndex.ROW],\n };\n const params = [\n ...nonPrimaryValues(this.#columns, this.#primaryKey, mergedRow),\n ...toSQLiteTypes(this.#primaryKey, mergedRow, this.#columns),\n ];\n must(this.#stmts.update).run(params);\n } else {\n this.#stmts.delete.run(\n ...toSQLiteTypes(\n this.#primaryKey,\n change[SourceChangeIndex.OLD_ROW],\n this.#columns,\n ),\n );\n this.#stmts.insert.run(\n ...toSQLiteTypes(\n Object.keys(this.#columns),\n change[SourceChangeIndex.ROW],\n this.#columns,\n ),\n );\n }\n\n break;\n }\n default:\n unreachable(change);\n }\n }\n\n #getRowStmtCache = new Map<string, string>();\n\n #getRowStmt(keyCols: string[]): string {\n const keyString = JSON.stringify(keyCols);\n let stmt = this.#getRowStmtCache.get(keyString);\n if (!stmt) {\n stmt = compile(\n sql`SELECT ${this.#allColumns} FROM ${sql.ident(\n this.#table,\n )} WHERE ${sql.join(\n keyCols.map(k => sql`${sql.ident(k)}=?`),\n sql` AND`,\n )}`,\n );\n this.#getRowStmtCache.set(keyString, stmt);\n }\n return stmt;\n }\n\n /**\n * Retrieves a row from the backing DB by a unique key, or `undefined` if such a\n * row does not exist. This is not used in the IVM pipeline but is useful\n * for retrieving data that is consistent with the state (and type\n * semantics) of the pipeline. Note that this key may not necessarily correspond\n * to the `primaryKey` with which this TableSource.\n */\n getRow(rowKey: Row): Row | undefined {\n const keyCols = Object.keys(rowKey);\n\n const stmt = this.#getRowStmt(keyCols);\n const row = this.#stmts.cache.use(stmt, cached =>\n cached.statement\n .safeIntegers(true)\n .get<Row>(...toSQLiteTypes(keyCols, rowKey, this.#columns)),\n );\n if (row) {\n return fromSQLiteTypes(this.#columns, row, this.#table);\n }\n return row;\n }\n\n #requestToSQL(\n request: FetchRequest,\n filters: NoSubqueryCondition | undefined,\n order: Ordering | undefined,\n ): SQLQuery {\n return buildSelectQuery(\n this.#table,\n this.#columns,\n request.constraint,\n filters,\n order,\n request.reverse,\n request.start,\n request.multiConstraints,\n );\n }\n}\n\nfunction getUniqueIndexes(\n db: Database,\n tableName: string,\n): Map<string, Set<string>> {\n const sqlAndBindings = format(\n sql`\n SELECT idx.name, json_group_array(col.name) as columnsJSON\n FROM sqlite_master as idx\n JOIN pragma_index_list(idx.tbl_name) AS info ON info.name = idx.name\n JOIN pragma_index_info(idx.name) as col\n WHERE idx.tbl_name = ${tableName} AND\n idx.type = 'index' AND \n info.\"unique\" != 0\n GROUP BY idx.name\n ORDER BY idx.name`,\n );\n const stmt = db.prepare(sqlAndBindings.text);\n const indexes = stmt.all<{columnsJSON: string}>(...sqlAndBindings.values);\n return new Map(\n indexes.map(({columnsJSON}) => {\n const columns = JSON.parse(columnsJSON);\n const set = new Set<string>(columns);\n return [JSON.stringify(columns.sort()), set];\n }),\n );\n}\n\nexport function toSQLiteTypes(\n columns: readonly string[],\n row: Row,\n columnTypes: Record<string, SchemaValue>,\n): readonly unknown[] {\n return columns.map(col => toSQLiteType(row[col], columnTypes[col].type));\n}\n\nexport function toSQLiteTypeName(type: ValueType) {\n switch (type) {\n case 'boolean':\n return 'INTEGER';\n case 'number':\n return 'REAL';\n case 'string':\n return 'TEXT';\n case 'null':\n return 'NULL';\n case 'json':\n return 'TEXT';\n }\n}\n\nexport function fromSQLiteTypes(\n valueTypes: Record<string, SchemaValue>,\n row: Row,\n tableName: string,\n): Row {\n const newRow: Writable<Row> = {};\n for (const key of Object.keys(row)) {\n const valueType = valueTypes[key];\n if (valueType === undefined) {\n const columnList = Object.keys(valueTypes).sort().join(', ');\n throw new Error(\n `Invalid column \"${key}\" for table \"${tableName}\". Synced columns include ${columnList}`,\n );\n }\n newRow[key] = fromSQLiteType(valueType.type, row[key], key, tableName);\n }\n return newRow;\n}\n\nfunction fromSQLiteType(\n valueType: ValueType,\n v: Value,\n column: string,\n tableName: string,\n): Value {\n if (v === null) {\n return null;\n }\n switch (valueType) {\n case 'boolean':\n return !!v;\n case 'number':\n case 'string':\n case 'null':\n if (typeof v === 'bigint') {\n if (v > Number.MAX_SAFE_INTEGER || v < Number.MIN_SAFE_INTEGER) {\n throw new UnsupportedValueError(\n `value ${v} (in ${tableName}.${column}) is outside of supported bounds`,\n );\n }\n return Number(v);\n }\n return v;\n case 'json':\n try {\n return JSON.parse(v as string);\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n throw new UnsupportedValueError(\n `Failed to parse JSON for ${tableName}.${column}: ${errorMessage}`,\n {cause: error},\n );\n }\n }\n}\n\nexport class UnsupportedValueError extends Error {}\n\nfunction canUseUpdate(\n oldRow: Row,\n row: Row,\n columns: Record<string, SchemaValue>,\n primaryKey: PrimaryKey,\n): boolean {\n for (const pk of primaryKey) {\n if (oldRow[pk] !== row[pk]) {\n return false;\n }\n }\n return Object.keys(columns).length > primaryKey.length;\n}\n\nfunction nonPrimaryValues(\n columns: Record<string, SchemaValue>,\n primaryKey: PrimaryKey,\n row: Row,\n): Iterable<unknown> {\n return nonPrimaryKeys(columns, primaryKey).map(c =>\n toSQLiteType(row[c], columns[c].type),\n );\n}\n\nfunction nonPrimaryKeys(\n columns: Record<string, SchemaValue>,\n primaryKey: PrimaryKey,\n) {\n return Object.keys(columns).filter(c => !primaryKey.includes(c));\n}\n\nfunction* generateWithYields(stream: Stream<Node>, shouldYield: () => boolean) {\n for (const n of stream) {\n if (shouldYield()) {\n yield 'yield';\n }\n yield n;\n }\n}\n"],"mappings":";;;;;;;;;;;;AA0DA,IAAI,aAAa;;;;;;;;;;;;;;;AAgBjB,IAAa,cAAb,MAA2C;CACzC,2BAAoB,IAAI,QAA8B;CACtD,eAAsC,CAAC;CACvC;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,aAAa;;;;;;;CAQb,YACE,YACA,WACA,IACA,WACA,SACA,YACA,oBAAoB,OACpB;EACA,KAAKO,MAAM;EACX,KAAKD,aAAa;EAClB,KAAKJ,SAAS;EACd,KAAKC,WAAW;EAChB,KAAKC,iBAAiB,iBAAiB,IAAI,SAAS;EACpD,KAAKC,cAAc;EACnB,KAAKI,SAAS,KAAKC,kBAAkB,EAAE;EACvC,KAAKF,eAAe;EAEpB,OACE,KAAKJ,eAAe,IAAI,KAAK,UAAU,WAAW,SAAS,CAAC,CAAC,GAC7D,eAAe,WAAW,8BAC5B;CACF;CAEA,IAAI,cAAc;EAChB,OAAO;GACL,MAAM,KAAKF;GACX,SAAS,KAAKC;GACd,YAAY,KAAKE;EACnB;CACF;;;;;CAMA,MAAM,IAAc;EAClB,KAAKI,SAAS,KAAKC,kBAAkB,EAAE;CACzC;CAEA,kBAAkB,IAAc;EAC9B,MAAM,SAAS,KAAKV,SAAS,IAAI,EAAE;EACnC,IAAI,QACF,OAAO;EAGT,MAAM,QAAQ;GACZ,OAAO,IAAI,eAAe,EAAE;GAC5B,QAAQ,GAAG,QACT,QACE,GAAG,eAAe,IAAI,MAAM,KAAKE,MAAM,EAAE,IAAI,IAAI,KAC/C,OAAO,KAAK,KAAKC,QAAQ,EAAE,KAAI,MAAK,IAAI,MAAM,CAAC,CAAC,GAChD,IACF,EAAE,YAAY,IAAI,sBAChB,MAAM,KAAK,EAAC,QAAQ,OAAO,KAAK,KAAKA,QAAQ,EAAE,OAAM,CAAC,EACnD,KAAK,GAAG,EACR,KAAK,GAAG,CACb,EAAE,EACJ,CACF;GACA,QAAQ,GAAG,QACT,QACE,GAAG,eAAe,IAAI,MAAM,KAAKD,MAAM,EAAE,SAAS,IAAI,KACpD,KAAKG,YAAY,KAAI,MAAK,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,GAAG,GAChD,OACF,GACF,CACF;GAEA,QACE,OAAO,KAAK,KAAKF,QAAQ,EAAE,SAAS,KAAKE,YAAY,SACjD,GAAG,QACD,QACE,GAAG,UAAU,IAAI,MAAM,KAAKH,MAAM,EAAE,OAAO,IAAI,KAC7C,eAAe,KAAKC,UAAU,KAAKE,WAAW,EAAE,KAC9C,MAAK,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,GAC1B,GACA,GACF,EAAE,SAAS,IAAI,KACb,KAAKA,YAAY,KAAI,MAAK,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,GAAG,GAChD,OACF,GACF,CACF,IACA,KAAA;GACN,aAAa,GAAG,QACd,QACE,GAAG,6BAA6B,IAAI,MAClC,KAAKH,MACP,EAAE,SAAS,IAAI,KACb,KAAKG,YAAY,KAAI,MAAK,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,GAAG,GAChD,OACF,EAAE,SACJ,CACF;GACA,aAAa,GAAG,QACd,QACE,GAAG,iBAAiB,IAAI,MAAM,KAAKH,MAAM,EAAE,SAAS,IAAI,KACtD,KAAKG,YAAY,KAAI,MAAK,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,GAAG,GAChD,OACF,GACF,CACF;EACF;EACA,KAAKL,SAAS,IAAI,IAAI,KAAK;EAC3B,OAAO;CACT;CAEA,IAAIW,cAAc;EAChB,OAAO,IAAI,KACT,OAAO,KAAK,KAAKR,QAAQ,EAAE,KAAI,MAAK,IAAI,MAAM,CAAC,CAAC,GAChD,GAAG,GACL;CACF;CAEA,WAAW,YAAwB,WAAkC;EACnE,OAAO;GACL,WAAW,KAAKD;GAChB,SAAS,KAAKC;GACd,YAAY,KAAKE;GACjB,MAAM,YAAY,KAAA,IAAY,WAAW;GACzC,eAAe,CAAC;GAChB,UAAU;GACV,QAAQ;GACR,aAAa,WAAW;EAC1B;CACF;CAEA,QACE,MACA,SACA,eACA,OACA;EACA,MAAM,qBAAqB,iBAAiB,OAAO;EACnD,MAAM,YAAY,SAAS,KAAA;EAG3B,MAAM,iBAA2B,KAAKA,YAAY,KAAI,MAAK,CAAC,GAAG,KAAK,CAAC;EAErE,MAAM,QAAqB;GACzB,iBAAiB;GACjB,QAAO,QAAO,KAAKO,OAAO,KAAK,UAAU;GACzC,YAAW,WAAU;IACnB,WAAW,SAAS;GACtB;GACA,eAAe;IACb,MAAM,MAAM,KAAKX,aAAa,QAAQ,UAAU;IAChD,OAAO,QAAQ,IAAI,sBAAsB;IACzC,KAAKA,aAAa,OAAO,KAAK,CAAC;GACjC;GACA,qBAAqB,CAAC,mBAAmB;EAC3C;EAEA,MAAM,aAAyB;GAC7B;GACA;GACA,QAAQ,KAAA;GACR;GACA;GACA,SAAS,mBAAmB,UACxB;IACE,WAAW,mBAAmB;IAC9B,WAAW,gBAAgB,mBAAmB,OAAO;GACvD,IACA,KAAA;GACJ,aAAa,OAAO,eAAe,IAAI,IAAI,eAAe,cAAc;GACxE,iBAAiB;EACnB;EACA,MAAM,SAAS,KAAKY,WAAW,YAAY,SAAS;EACpD,IAAI,CAAC,WACH,yBAAyB,MAAM,KAAKR,WAAW;EAGjD,KAAKJ,aAAa,KAAK,UAAU;EACjC,OAAO;CACT;CAEA,YAAY,KAAe;EACzB,OAAO,OAAO,YACZ,OAAO,QAAQ,GAAG,EAAE,KAAK,CAAC,KAAK,WAAW,CACxC,KACA,aAAa,OAAO,KAAKE,SAAS,KAAK,IAAI,CAC7C,CAAC,CACH;CACF;CAEA,CAACS,OAAO,KAAmB,YAAgD;EACzE,MAAM,EAAC,MAAM,UAAS;EAGtB,MAAM,iBAAiB,OADT,KAAKE,cAAc,KAAK,WAAW,SAAS,WAAW,IACvC,CAAK;EAEnC,MAAM,kBAAkB,KAAKL,OAAO,MAAM,IAAI,eAAe,IAAI;EACjE,gBAAgB,UAAU,aAAa,IAAI;EAC3C,MAAM,cAAc,gBAAgB,UAAU,QAC5C,GAAG,eAAe,MACpB;EACA,IAAI;GACF,OAAO,UAAU,KAAKP,QAAQ,eAAe,IAAI;GAEjD,IAAI,MAAM;IACR,MAAM,aAAa,eAAe,MAAM,IAAI,OAAO;IACnD,OAAO,kBACL,mBACE,oBACE,IAAI,OAAO,KACX,KAAKa,oBACH,KAAKZ,UACL,aACA,eAAe,MACf,KACF,GACA,IAAI,YACJ,KAAKa,UACL,WAAW,iBACX,YACA,WAAW,SAAS,WACpB,IAAI,gBACN,GACA,KAAKR,YACP,GACA,IAAI,OACJ,UACF;GACF,OACE,OAAO,mBACL,6BACE,KAAKO,oBACH,KAAKZ,UACL,aACA,eAAe,MACf,KACF,GACA,IAAI,YACJ,KAAKa,UACL,WAAW,iBACX,KAAKX,aACL,WAAW,SAAS,WACpB,IAAI,gBACN,GACA,KAAKG,YACP;EAEJ,UAAU;GAER,YAAY,SAAS;GACrB,IAAI,OAAO;IACT,IAAI,cAAc;IAClB,MAAM,YAAsB,CAAC;IAC7B,KAAK,IAAI,IAAI,IAAK,KAAK;KACrB,MAAM,SAAS,gBAAgB,UAAU,WACvC,GACA,gBAAgB,wBAChB,CACF;KACA,IAAI,WAAW,KAAA,GACb;KAEF,eAAe,OAAO,MAAM;KAC5B,MAAM,UAAU,gBAAgB,UAAU,WACxC,GACA,gBAAgB,yBAChB,CACF;KACA,IAAI,OAAO,YAAY,YAAY,QAAQ,SAAS,GAClD,UAAU,KAAK,OAAO;IAE1B;IACA,IAAI,gBAAgB,GAClB,MAAM,aAAa,KAAKN,QAAQ,eAAe,MAAM,WAAW;IAElE,IAAI,UAAU,SAAS,GACrB,MAAM,cAAc,KAAKA,QAAQ,eAAe,MAAM,SAAS;IAEjE,gBAAgB,UAAU,gBAAgB;GAC5C;GACA,KAAKO,OAAO,MAAM,OAAO,eAAe;EAC1C;CACF;CAEA,CAACM,oBACC,YACA,aACA,OACA,OACuB;EACvB,IAAI;EACJ,GAAG;GACD,SAAS,YACP,KAAKR,KACL,EAAE,YACF,KAAKD,WAAW,mBACV,YAAY,KAAK,GACvB,KAAKA,WAAW,wBAEd,uCAAuC,MAAM,4BACjD;GACA,IAAI,OAAO,MACT;GAEF,MAAM,MAAM,gBAAgB,YAAY,OAAO,OAAO,KAAKJ,MAAM;GACjE,OAAO,UAAU,KAAKA,QAAQ,OAAO,GAAG;GACxC,MAAM;EACR,SAAS,CAAC,OAAO;CACnB;CAEA,CAAC,KAAK,QAAuC;EAC3C,KAAK,MAAM,UAAU,KAAK,QAAQ,MAAM,GACtC,IAAI,WAAW,SACb,MAAM;CAGZ;CAEA,CAAC,QAAQ,QAAsB;EAC7B,MAAM,UAAU,QACd,KAAKO,OAAO,YAAY,IACtB,GAAG,cAAc,KAAKJ,aAAa,KAAK,KAAKF,QAAQ,CACvD,GAAG,WAAW;EAChB,MAAM,cAAc,MAA4B,KAAKa,WAAW;EAChE,MAAM,eAAe,MAAoB,KAAKC,aAAa,CAAC;EAE5D,OAAO,6BACL,KAAKhB,cACL,QACA,QACA,YACA,mBACM,EAAE,KAAKiB,UACf;CACF;CAEA,aAAa,QAAsB;EACjC,QAAQ,OAAO,IAAf;GACE,KAAK;IACH,KAAKT,OAAO,OAAO,IACjB,GAAG,cAED,OAAO,KAAK,KAAKN,QAAQ,GACzB,OAAO,IACP,KAAKA,QACP,CACF;IACA;GACF,KAAK;IACH,KAAKM,OAAO,OAAO,IACjB,GAAG,cACD,KAAKJ,aACL,OAAO,IACP,KAAKF,QACP,CACF;IACA;GACF,KAAK;IAEH,IACE,aACE,OAAO,IACP,OAAO,IACP,KAAKA,UACL,KAAKE,WACP,GACA;KACA,MAAM,YAAY;MAChB,GAAG,OAAO;MACV,GAAG,OAAO;KACZ;KACA,MAAM,SAAS,CACb,GAAG,iBAAiB,KAAKF,UAAU,KAAKE,aAAa,SAAS,GAC9D,GAAG,cAAc,KAAKA,aAAa,WAAW,KAAKF,QAAQ,CAC7D;KACA,KAAK,KAAKM,OAAO,MAAM,EAAE,IAAI,MAAM;IACrC,OAAO;KACL,KAAKA,OAAO,OAAO,IACjB,GAAG,cACD,KAAKJ,aACL,OAAO,IACP,KAAKF,QACP,CACF;KACA,KAAKM,OAAO,OAAO,IACjB,GAAG,cACD,OAAO,KAAK,KAAKN,QAAQ,GACzB,OAAO,IACP,KAAKA,QACP,CACF;IACF;IAEA;GAEF,SACE,YAAY,MAAM;EACtB;CACF;CAEA,mCAAmB,IAAI,IAAoB;CAE3C,YAAY,SAA2B;EACrC,MAAM,YAAY,KAAK,UAAU,OAAO;EACxC,IAAI,OAAO,KAAKgB,iBAAiB,IAAI,SAAS;EAC9C,IAAI,CAAC,MAAM;GACT,OAAO,QACL,GAAG,UAAU,KAAKR,YAAY,QAAQ,IAAI,MACxC,KAAKT,MACP,EAAE,SAAS,IAAI,KACb,QAAQ,KAAI,MAAK,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,GAAG,GACvC,GAAG,MACL,GACF;GACA,KAAKiB,iBAAiB,IAAI,WAAW,IAAI;EAC3C;EACA,OAAO;CACT;;;;;;;;CASA,OAAO,QAA8B;EACnC,MAAM,UAAU,OAAO,KAAK,MAAM;EAElC,MAAM,OAAO,KAAKC,YAAY,OAAO;EACrC,MAAM,MAAM,KAAKX,OAAO,MAAM,IAAI,OAAM,WACtC,OAAO,UACJ,aAAa,IAAI,EACjB,IAAS,GAAG,cAAc,SAAS,QAAQ,KAAKN,QAAQ,CAAC,CAC9D;EACA,IAAI,KACF,OAAO,gBAAgB,KAAKA,UAAU,KAAK,KAAKD,MAAM;EAExD,OAAO;CACT;CAEA,cACE,SACA,SACA,OACU;EACV,OAAO,iBACL,KAAKA,QACL,KAAKC,UACL,QAAQ,YACR,SACA,OACA,QAAQ,SACR,QAAQ,OACR,QAAQ,gBACV;CACF;AACF;AAEA,SAAS,iBACP,IACA,WAC0B;CAC1B,MAAM,iBAAiB,OACrB,GAAG;;;;;6BAKsB,UAAU;;;;wBAKrC;CAEA,MAAM,UADO,GAAG,QAAQ,eAAe,IACvB,EAAK,IAA2B,GAAG,eAAe,MAAM;CACxE,OAAO,IAAI,IACT,QAAQ,KAAK,EAAC,kBAAiB;EAC7B,MAAM,UAAU,KAAK,MAAM,WAAW;EACtC,MAAM,MAAM,IAAI,IAAY,OAAO;EACnC,OAAO,CAAC,KAAK,UAAU,QAAQ,KAAK,CAAC,GAAG,GAAG;CAC7C,CAAC,CACH;AACF;AAEA,SAAgB,cACd,SACA,KACA,aACoB;CACpB,OAAO,QAAQ,KAAI,QAAO,aAAa,IAAI,MAAM,YAAY,KAAK,IAAI,CAAC;AACzE;AAiBA,SAAgB,gBACd,YACA,KACA,WACK;CACL,MAAM,SAAwB,CAAC;CAC/B,KAAK,MAAM,OAAO,OAAO,KAAK,GAAG,GAAG;EAClC,MAAM,YAAY,WAAW;EAC7B,IAAI,cAAc,KAAA,GAAW;GAC3B,MAAM,aAAa,OAAO,KAAK,UAAU,EAAE,KAAK,EAAE,KAAK,IAAI;GAC3D,MAAM,IAAI,MACR,mBAAmB,IAAI,eAAe,UAAU,4BAA4B,YAC9E;EACF;EACA,OAAO,OAAO,eAAe,UAAU,MAAM,IAAI,MAAM,KAAK,SAAS;CACvE;CACA,OAAO;AACT;AAEA,SAAS,eACP,WACA,GACA,QACA,WACO;CACP,IAAI,MAAM,MACR,OAAO;CAET,QAAQ,WAAR;EACE,KAAK,WACH,OAAO,CAAC,CAAC;EACX,KAAK;EACL,KAAK;EACL,KAAK;GACH,IAAI,OAAO,MAAM,UAAU;IACzB,IAAI,IAAI,OAAO,oBAAoB,IAAI,OAAO,kBAC5C,MAAM,IAAI,sBACR,SAAS,EAAE,OAAO,UAAU,GAAG,OAAO,iCACxC;IAEF,OAAO,OAAO,CAAC;GACjB;GACA,OAAO;EACT,KAAK,QACH,IAAI;GACF,OAAO,KAAK,MAAM,CAAW;EAC/B,SAAS,OAAO;GAGd,MAAM,IAAI,sBACR,4BAA4B,UAAU,GAAG,OAAO,IAFhD,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,KAGrD,EAAC,OAAO,MAAK,CACf;EACF;CACJ;AACF;AAEA,IAAa,wBAAb,cAA2C,MAAM,CAAC;AAElD,SAAS,aACP,QACA,KACA,SACA,YACS;CACT,KAAK,MAAM,MAAM,YACf,IAAI,OAAO,QAAQ,IAAI,KACrB,OAAO;CAGX,OAAO,OAAO,KAAK,OAAO,EAAE,SAAS,WAAW;AAClD;AAEA,SAAS,iBACP,SACA,YACA,KACmB;CACnB,OAAO,eAAe,SAAS,UAAU,EAAE,KAAI,MAC7C,aAAa,IAAI,IAAI,QAAQ,GAAG,IAAI,CACtC;AACF;AAEA,SAAS,eACP,SACA,YACA;CACA,OAAO,OAAO,KAAK,OAAO,EAAE,QAAO,MAAK,CAAC,WAAW,SAAS,CAAC,CAAC;AACjE;AAEA,UAAU,mBAAmB,QAAsB,aAA4B;CAC7E,KAAK,MAAM,KAAK,QAAQ;EACtB,IAAI,YAAY,GACd,MAAM;EAER,MAAM;CACR;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"store-impl.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/dag/store-impl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,IAAI,EAAa,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EACV,IAAI,IAAI,MAAM,EACd,KAAK,IAAI,OAAO,EAChB,KAAK,IAAI,OAAO,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,IAAI,EAGV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,KAAK,uBAAuB,EAAyB,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAC,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,EAAe,MAAM,YAAY,CAAC;AAE3E,qBAAa,SAAU,YAAW,KAAK;;gBAMnC,EAAE,EAAE,OAAO,EACX,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IAOjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAQ7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvB;AAED,qBAAa,QAAS,YAAW,IAAI;IACnC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;gBAEnC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IAK7D,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAiBtD,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IAIlC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAStD,OAAO,IAAI,IAAI;IAIf,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF;AAOD,qBAAa,SACX,SAAQ,QACR,YAAW,KAAK,EAAE,uBAAuB;;IAEzC,mBAA2B,GAAG,EAAE,OAAO,CAAC;gBAOtC,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IAMvC,WAAW,GAAI,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,KAAG,KAAK,CAAC,CAAC,CAAC,CACH;IAE7C,IAAI,OAAO,IAAI,OAAO,CAErB;IAEK,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BjC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAcpD,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAgCnD,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"store-impl.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/dag/store-impl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,IAAI,EAAa,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EACV,IAAI,IAAI,MAAM,EACd,KAAK,IAAI,OAAO,EAChB,KAAK,IAAI,OAAO,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,IAAI,EAGV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,KAAK,uBAAuB,EAAyB,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAC,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,EAAe,MAAM,YAAY,CAAC;AAE3E,qBAAa,SAAU,YAAW,KAAK;;gBAMnC,EAAE,EAAE,OAAO,EACX,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IAOjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAQ7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvB;AAED,qBAAa,QAAS,YAAW,IAAI;IACnC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;gBAEnC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IAK7D,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAsBtD,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IAIlC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAStD,OAAO,IAAI,IAAI;IAIf,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF;AAOD,qBAAa,SACX,SAAQ,QACR,YAAW,KAAK,EAAE,uBAAuB;;IAEzC,mBAA2B,GAAG,EAAE,OAAO,CAAC;gBAOtC,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IAMvC,WAAW,GAAI,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,KAAG,KAAK,CAAC,CAAC,CAAC,CACH;IAE7C,IAAI,OAAO,IAAI,OAAO,CAErB;IAEK,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BjC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAcpD,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAgCnD,OAAO,IAAI,IAAI;CAGhB"}
@@ -1,7 +1,7 @@
1
1
  import type { SQLiteStoreOptions } from '../sqlite-store.ts';
2
2
  import type { StoreProvider } from '../store.ts';
3
3
  export type ExpoSQLiteStoreOptions = SQLiteStoreOptions;
4
- export declare function dropExpoSQLiteStore(name: string): Promise<void>;
4
+ export declare function dropExpoSQLiteStore(name: string, opts?: ExpoSQLiteStoreOptions): Promise<void>;
5
5
  /**
6
6
  * Creates a StoreProvider for SQLite-based stores using expo-sqlite.
7
7
  * Supports shared connections between multiple store instances with the same name,
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../../../replicache/src/kv/expo-sqlite/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,CAAC,EAAE,sBAAsB,GAC5B,aAAa,CAMf"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../../../replicache/src/kv/expo-sqlite/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAExD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,sBAAsB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,CAAC,EAAE,sBAAsB,GAC5B,aAAa,CAMf"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../../../replicache/src/kv/op-sqlite/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAG/C,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IAEtD,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,CAAC,EAAE,oBAAoB,GAC1B,aAAa,CAUf"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../../../replicache/src/kv/op-sqlite/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAG/C,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IAEtD,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAaF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,CAAC,EAAE,oBAAoB,GAC1B,aAAa,CAUf"}
@@ -3,14 +3,10 @@ import type { Read, Store, Write } from './store.ts';
3
3
  import { WriteImplBase } from './write-impl-base.ts';
4
4
  /**
5
5
  * A SQLite prepared statement.
6
- *
7
- * `run` executes the statement with optional parameters.
8
- * `all` executes the statement and returns the result rows.
9
- * `finalize` releases the statement.
10
6
  */
11
7
  export interface PreparedStatement {
12
- firstValue(params: string[]): Promise<unknown>;
13
8
  exec(params: string[]): Promise<void>;
9
+ all(params: string[]): Promise<unknown[][]>;
14
10
  }
15
11
  export interface SQLiteDatabase {
16
12
  /**
@@ -47,6 +43,8 @@ export declare function safeFilename(name: string): string;
47
43
  export type PreparedStatements = {
48
44
  has: PreparedStatement;
49
45
  get: PreparedStatement;
46
+ hasMany: PreparedStatement;
47
+ getMany: PreparedStatement;
50
48
  put: PreparedStatement;
51
49
  del: PreparedStatement;
52
50
  };
@@ -55,6 +53,8 @@ export interface SQLiteStoreOptions {
55
53
  journalMode?: 'WAL' | 'DELETE';
56
54
  synchronous?: 'NORMAL' | 'FULL';
57
55
  readUncommitted?: boolean;
56
+ /** Directory in which to create the SQLite file. Defaults to the process CWD. */
57
+ directory?: string | undefined;
58
58
  }
59
59
  /**
60
60
  * Common database setup logic shared between expo-sqlite and op-sqlite implementations.
@@ -77,5 +77,5 @@ export declare class SQLiteWrite extends WriteImplBase implements Write {
77
77
  get closed(): boolean;
78
78
  }
79
79
  export declare function clearAllNamedStoresForTesting(): void;
80
- export declare function dropStore(name: string, createDelegate: (filename: string, opts?: SQLiteStoreOptions) => SQLiteDatabase): Promise<void>;
80
+ export declare function dropStore(name: string, createDelegate: (filename: string, opts?: SQLiteStoreOptions) => SQLiteDatabase, opts?: SQLiteStoreOptions): Promise<void>;
81
81
  //# sourceMappingURL=sqlite-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/kv/sqlite-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/kv/sqlite-store.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export declare function transactionError(): Error;
1
2
  export declare function throwIfStoreClosed(store: {
2
3
  readonly closed: boolean;
3
4
  }): void;
@@ -1 +1 @@
1
- {"version":3,"file":"throw-if-closed.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/kv/throw-if-closed.ts"],"names":[],"mappings":"AAQA,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAC,GAAG,IAAI,CAI1E;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE;IACpD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,GAAG,IAAI,CAIP;AAED,wBAAgB,4BAA4B,mBAE3C;AAED,wBAAgB,iCAAiC,CAAC,WAAW,EAAE;IAC7D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAE7B;AAED,wBAAgB,sBAAsB,mBAErC"}
1
+ {"version":3,"file":"throw-if-closed.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/kv/throw-if-closed.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,IAAI,KAAK,CAExC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAC,GAAG,IAAI,CAI1E;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE;IACpD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,GAAG,IAAI,CAIP;AAED,wBAAgB,4BAA4B,mBAE3C;AAED,wBAAgB,iCAAiC,CAAC,WAAW,EAAE;IAC7D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAE7B;AAED,wBAAgB,sBAAsB,mBAErC"}
@@ -1 +1 @@
1
- {"version":3,"file":"persist.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/persist/persist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AAEtD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAO,KAAK,EAAQ,MAAM,iBAAiB,CAAC;AAexD,OAAO,KAAK,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAEhE,OAAO,KAAK,EAAC,UAAU,EAAa,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAgB,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAgB7C,KAAK,aAAa,GAAG,IAAI,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,MAAM,OAAO,EACrB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,SAAS,EAChD,4BAA4B,sBAA0B,GACrD,OAAO,CAAC,IAAI,CAAC,CA2Lf"}
1
+ {"version":3,"file":"persist.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/persist/persist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AAGtD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAO,KAAK,EAAQ,MAAM,iBAAiB,CAAC;AAexD,OAAO,KAAK,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAEhE,OAAO,KAAK,EAAC,UAAU,EAAa,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAgB,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAgB7C,KAAK,aAAa,GAAG,IAAI,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,MAAM,OAAO,EACrB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,SAAS,EAChD,4BAA4B,sBAA0B,GACrD,OAAO,CAAC,IAAI,CAAC,CA2Lf"}
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/sync/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/sync/pull.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ declare function getOrInsertNative<K, V>(map: Map<K, V>, key: K, defaultValue: V): V;
2
+ declare function getOrInsertComputedNative<K, V>(map: Map<K, V>, key: K, compute: (key: K) => V): V;
3
+ export declare const getOrInsert: typeof getOrInsertNative;
4
+ export declare const getOrInsertComputed: typeof getOrInsertComputedNative;
5
+ export {};
6
+ //# sourceMappingURL=map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../../shared/src/map.ts"],"names":[],"mappings":"AA4CA,iBAAS,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAE3E;AAED,iBAAS,yBAAyB,CAAC,CAAC,EAAE,CAAC,EACrC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACd,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GACrB,CAAC,CAEH;AAED,eAAO,MAAM,WAAW,0BAED,CAAC;AAExB,eAAO,MAAM,mBAAmB,kCAED,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../../shared/src/queue.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,qBAAa,KAAK,CAAC,CAAC;;IAMlB,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAUvB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAUxC;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM;IAcxB;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,SAAS,GAAE,MAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAoBhE;;;;;;;;;;;;;OAaG;IACH,KAAK,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;IAU1B;;;;;OAKG;IACH,IAAI,IAAI,MAAM;IAId,eAAe,CAAC,OAAO,aAAO,GAAG,aAAa,CAAC,CAAC,CAAC;IAIjD,eAAe,CAAC,OAAO,aAAO,GAAG,aAAa,CAAC,CAAC,CAAC;CAiBlD"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../../shared/src/queue.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qBAAa,KAAK,CAAC,CAAC;;IAMlB,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAUvB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAUxC;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM;IAgBxB;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,SAAS,GAAE,MAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAoBhE;;;;;;;;;;;;;OAaG;IACH,KAAK,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;IAI1B;;;;;OAKG;IACH,IAAI,IAAI,MAAM;IAId,eAAe,CAAC,OAAO,aAAO,GAAG,aAAa,CAAC,CAAC,CAAC;IAIjD,eAAe,CAAC,OAAO,aAAO,GAAG,aAAa,CAAC,CAAC,CAAC;CAiBlD"}