@rocicorp/zero 1.6.0-canary.0 → 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 (1777) 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 +288 -0
  109. package/out/packages/analyze-query/src/analyze-cli.js.map +1 -0
  110. package/out/packages/analyze-query/src/bin-analyze.js +282 -0
  111. package/out/packages/analyze-query/src/bin-analyze.js.map +1 -0
  112. package/out/packages/analyze-query/src/bin-transform.js.map +1 -0
  113. package/out/packages/ast-to-zql/src/ast-to-zql.js.map +1 -0
  114. package/out/packages/ast-to-zql/src/bin.js.map +1 -0
  115. package/out/packages/ast-to-zql/src/format.js.map +1 -0
  116. package/out/packages/datadog/src/datadog-log-sink.js.map +1 -0
  117. package/out/packages/otel/src/enabled.js.map +1 -0
  118. package/out/packages/otel/src/log-options.js.map +1 -0
  119. package/out/packages/otel/src/maybe-time.js.map +1 -0
  120. package/out/packages/otel/src/span.js.map +1 -0
  121. package/out/packages/otel/src/version.js.map +1 -0
  122. package/out/packages/replicache/src/async-iterable-to-array.js.map +1 -0
  123. package/out/packages/replicache/src/bg-interval.js.map +1 -0
  124. package/out/packages/replicache/src/btree/diff.js.map +1 -0
  125. package/out/packages/replicache/src/btree/node.js.map +1 -0
  126. package/out/packages/replicache/src/btree/read.js.map +1 -0
  127. package/out/packages/replicache/src/btree/splice.js.map +1 -0
  128. package/out/packages/replicache/src/btree/write.js +191 -0
  129. package/out/packages/replicache/src/btree/write.js.map +1 -0
  130. package/out/packages/replicache/src/call-default-fetch.js.map +1 -0
  131. package/out/packages/replicache/src/connection-loop-delegates.js.map +1 -0
  132. package/out/packages/replicache/src/connection-loop.js.map +1 -0
  133. package/out/packages/replicache/src/cookies.js.map +1 -0
  134. package/out/packages/replicache/src/dag/chunk.js.map +1 -0
  135. package/out/packages/replicache/src/dag/gc.js.map +1 -0
  136. package/out/packages/replicache/src/dag/key.js.map +1 -0
  137. package/out/packages/replicache/src/dag/lazy-store.js.map +1 -0
  138. package/out/packages/replicache/src/dag/store-impl.js +157 -0
  139. package/out/packages/replicache/src/dag/store-impl.js.map +1 -0
  140. package/out/packages/replicache/src/dag/store.js.map +1 -0
  141. package/out/packages/replicache/src/dag/visitor.js.map +1 -0
  142. package/out/packages/replicache/src/db/commit.js.map +1 -0
  143. package/out/packages/replicache/src/db/index.js.map +1 -0
  144. package/out/packages/replicache/src/db/read.js.map +1 -0
  145. package/out/packages/replicache/src/db/rebase.js.map +1 -0
  146. package/out/packages/replicache/src/db/write.js.map +1 -0
  147. package/out/packages/replicache/src/deleted-clients.js.map +1 -0
  148. package/out/packages/replicache/src/error-responses.js.map +1 -0
  149. package/out/packages/replicache/src/frozen-json.js.map +1 -0
  150. package/out/packages/replicache/src/get-default-puller.js.map +1 -0
  151. package/out/packages/replicache/src/get-default-pusher.js.map +1 -0
  152. package/out/packages/replicache/src/get-kv-store-provider.js.map +1 -0
  153. package/out/packages/replicache/src/hash.js.map +1 -0
  154. package/out/packages/replicache/src/http-request-info.js.map +1 -0
  155. package/out/packages/replicache/src/index-defs.js.map +1 -0
  156. package/out/packages/replicache/src/kv/expo-sqlite/store.js +57 -0
  157. package/out/packages/replicache/src/kv/expo-sqlite/store.js.map +1 -0
  158. package/out/packages/replicache/src/kv/idb-store-with-mem-fallback.js.map +1 -0
  159. package/out/packages/replicache/src/kv/idb-store.js.map +1 -0
  160. package/out/packages/replicache/src/kv/mem-store.js.map +1 -0
  161. package/out/packages/replicache/src/kv/op-sqlite/store.js +63 -0
  162. package/out/packages/replicache/src/kv/op-sqlite/store.js.map +1 -0
  163. package/out/packages/replicache/src/kv/op-sqlite/types.js.map +1 -0
  164. package/out/packages/replicache/src/kv/read-impl.js.map +1 -0
  165. package/out/packages/replicache/src/kv/sqlite-store.js +301 -0
  166. package/out/packages/replicache/src/kv/sqlite-store.js.map +1 -0
  167. package/out/packages/replicache/src/kv/throw-if-closed.js +23 -0
  168. package/out/packages/replicache/src/kv/throw-if-closed.js.map +1 -0
  169. package/out/packages/replicache/src/kv/write-impl-base.js.map +1 -0
  170. package/out/packages/replicache/src/kv/write-impl.js.map +1 -0
  171. package/out/packages/replicache/src/lazy.js.map +1 -0
  172. package/out/packages/replicache/src/log-options.js.map +1 -0
  173. package/out/packages/replicache/src/make-idb-name.js.map +1 -0
  174. package/out/packages/replicache/src/new-client-channel.js.map +1 -0
  175. package/out/packages/replicache/src/on-persist-channel.js.map +1 -0
  176. package/out/packages/replicache/src/patch-operation.js.map +1 -0
  177. package/out/packages/replicache/src/pending-mutations.js.map +1 -0
  178. package/out/packages/replicache/src/persist/client-gc.js.map +1 -0
  179. package/out/packages/replicache/src/persist/client-group-gc.js.map +1 -0
  180. package/out/packages/replicache/src/persist/client-groups.js +150 -0
  181. package/out/packages/replicache/src/persist/client-groups.js.map +1 -0
  182. package/out/packages/replicache/src/persist/clients.js +289 -0
  183. package/out/packages/replicache/src/persist/clients.js.map +1 -0
  184. package/out/packages/replicache/src/persist/collect-idb-databases.js.map +1 -0
  185. package/out/packages/replicache/src/persist/gather-mem-only-visitor.js.map +1 -0
  186. package/out/packages/replicache/src/persist/gather-not-cached-visitor.js.map +1 -0
  187. package/out/packages/replicache/src/persist/heartbeat.js.map +1 -0
  188. package/out/packages/replicache/src/persist/idb-databases-store-db-name.js.map +1 -0
  189. package/out/packages/replicache/src/persist/idb-databases-store.js.map +1 -0
  190. package/out/packages/replicache/src/persist/make-client-id.js.map +1 -0
  191. package/out/packages/replicache/src/persist/persist.js +124 -0
  192. package/out/packages/replicache/src/persist/persist.js.map +1 -0
  193. package/out/packages/replicache/src/persist/refresh.js.map +1 -0
  194. package/out/packages/replicache/src/process-scheduler.js.map +1 -0
  195. package/out/packages/replicache/src/pusher.js.map +1 -0
  196. package/out/packages/replicache/src/replicache-impl.js.map +1 -0
  197. package/out/packages/replicache/src/report-error.js.map +1 -0
  198. package/out/packages/replicache/src/request-idle.js.map +1 -0
  199. package/out/packages/replicache/src/scan-iterator.js.map +1 -0
  200. package/out/packages/replicache/src/scan-options.js.map +1 -0
  201. package/out/packages/replicache/src/set-interval-with-signal.js.map +1 -0
  202. package/out/packages/replicache/src/subscriptions.js.map +1 -0
  203. package/out/packages/replicache/src/sync/diff.js.map +1 -0
  204. package/out/packages/replicache/src/sync/ids.js.map +1 -0
  205. package/out/packages/replicache/src/sync/patch.js.map +1 -0
  206. package/out/packages/replicache/src/sync/pull-error.js.map +1 -0
  207. package/out/packages/replicache/src/sync/pull.js +169 -0
  208. package/out/packages/replicache/src/sync/pull.js.map +1 -0
  209. package/out/packages/replicache/src/sync/push.js.map +1 -0
  210. package/out/packages/replicache/src/sync/request-id.js.map +1 -0
  211. package/out/packages/replicache/src/sync/sync-head-name.js.map +1 -0
  212. package/out/packages/replicache/src/to-error.js.map +1 -0
  213. package/out/packages/replicache/src/transaction-closed-error.js.map +1 -0
  214. package/out/packages/replicache/src/transactions.js.map +1 -0
  215. package/out/packages/replicache/src/version.js.map +1 -0
  216. package/out/packages/replicache/src/with-transactions.js.map +1 -0
  217. package/out/packages/shared/src/abort-error.js.map +1 -0
  218. package/out/packages/shared/src/arrays.js.map +1 -0
  219. package/out/packages/shared/src/asserts.js.map +1 -0
  220. package/out/packages/shared/src/bigint-json.js.map +1 -0
  221. package/out/packages/shared/src/binary-search.js.map +1 -0
  222. package/out/packages/shared/src/broadcast-channel.js.map +1 -0
  223. package/out/packages/shared/src/browser-env.js.map +1 -0
  224. package/out/packages/shared/src/btree-set.js.map +1 -0
  225. package/out/packages/shared/src/cache.js.map +1 -0
  226. package/out/packages/shared/src/centroid.js.map +1 -0
  227. package/out/packages/shared/src/config.js.map +1 -0
  228. package/out/packages/shared/src/custom-key-map.js.map +1 -0
  229. package/out/packages/shared/src/custom-key-set.js.map +1 -0
  230. package/out/packages/shared/src/deep-clone.js.map +1 -0
  231. package/out/packages/shared/src/deep-merge.js.map +1 -0
  232. package/out/packages/shared/src/document-visible.js.map +1 -0
  233. package/out/packages/shared/src/dotenv.js.map +1 -0
  234. package/out/packages/shared/src/error.js.map +1 -0
  235. package/out/packages/shared/src/has-own.js.map +1 -0
  236. package/out/packages/shared/src/hash.js.map +1 -0
  237. package/out/packages/shared/src/iterables.js.map +1 -0
  238. package/out/packages/shared/src/json-schema.js.map +1 -0
  239. package/out/packages/shared/src/json.js.map +1 -0
  240. package/out/packages/shared/src/logging-test-utils.js.map +1 -0
  241. package/out/packages/shared/src/logging.js.map +1 -0
  242. package/out/packages/shared/src/map.js +39 -0
  243. package/out/packages/shared/src/map.js.map +1 -0
  244. package/out/packages/shared/src/must.js.map +1 -0
  245. package/out/packages/shared/src/navigator.js.map +1 -0
  246. package/out/packages/shared/src/object-traversal.js.map +1 -0
  247. package/out/packages/shared/src/objects.js.map +1 -0
  248. package/out/packages/shared/src/options.js.map +1 -0
  249. package/out/packages/shared/src/parse-big-int.js.map +1 -0
  250. package/out/packages/shared/src/promise-race.js.map +1 -0
  251. package/out/packages/shared/src/queue.js +120 -0
  252. package/out/packages/shared/src/queue.js.map +1 -0
  253. package/out/packages/shared/src/rand.js.map +1 -0
  254. package/out/packages/shared/src/random-uint64.js.map +1 -0
  255. package/out/packages/shared/src/random-values.js.map +1 -0
  256. package/out/packages/shared/src/record-proxy.js.map +1 -0
  257. package/out/packages/shared/src/resolved-promises.js.map +1 -0
  258. package/out/packages/shared/src/ring-buffer.js +109 -0
  259. package/out/packages/shared/src/ring-buffer.js.map +1 -0
  260. package/out/packages/shared/src/sentinels.js.map +1 -0
  261. package/out/packages/shared/src/set-utils.js.map +1 -0
  262. package/out/packages/shared/src/size-of-value.js.map +1 -0
  263. package/out/packages/shared/src/sleep.js.map +1 -0
  264. package/out/packages/shared/src/sorted-entries.js.map +1 -0
  265. package/out/packages/shared/src/string-compare.js.map +1 -0
  266. package/out/packages/shared/src/subscribable.js.map +1 -0
  267. package/out/packages/shared/src/tdigest-schema.js.map +1 -0
  268. package/out/packages/shared/src/tdigest.js.map +1 -0
  269. package/out/packages/shared/src/valita.js +172 -0
  270. package/out/packages/shared/src/valita.js.map +1 -0
  271. package/out/packages/z2s/src/compiler.js.map +1 -0
  272. package/out/packages/z2s/src/sql.js.map +1 -0
  273. package/out/packages/zero/package.js +205 -0
  274. package/out/packages/zero/package.js.map +1 -0
  275. package/out/packages/zero-cache/src/auth/auth.js.map +1 -0
  276. package/out/packages/zero-cache/src/auth/jwt.js.map +1 -0
  277. package/out/packages/zero-cache/src/auth/load-permissions.js.map +1 -0
  278. package/out/packages/zero-cache/src/auth/read-authorizer.js.map +1 -0
  279. package/out/packages/zero-cache/src/auth/write-authorizer.js.map +1 -0
  280. package/out/packages/zero-cache/src/config/network.js.map +1 -0
  281. package/out/packages/zero-cache/src/config/normalize.js.map +1 -0
  282. package/out/packages/zero-cache/src/config/server-context.js.map +1 -0
  283. package/out/packages/zero-cache/src/config/zero-config.js +921 -0
  284. package/out/packages/zero-cache/src/config/zero-config.js.map +1 -0
  285. package/out/packages/zero-cache/src/custom/fetch.js.map +1 -0
  286. package/out/packages/zero-cache/src/custom-queries/transform-query.js.map +1 -0
  287. package/out/packages/zero-cache/src/db/create.js.map +1 -0
  288. package/out/packages/zero-cache/src/db/delete-lite-db.js.map +1 -0
  289. package/out/packages/zero-cache/src/db/lite-tables.js.map +1 -0
  290. package/out/packages/zero-cache/src/db/migration-lite.js +166 -0
  291. package/out/packages/zero-cache/src/db/migration-lite.js.map +1 -0
  292. package/out/packages/zero-cache/src/db/migration.js +139 -0
  293. package/out/packages/zero-cache/src/db/migration.js.map +1 -0
  294. package/out/packages/zero-cache/src/db/mode-enum.js.map +1 -0
  295. package/out/packages/zero-cache/src/db/pg-copy-binary.js.map +1 -0
  296. package/out/packages/zero-cache/src/db/pg-copy.js.map +1 -0
  297. package/out/packages/zero-cache/src/db/pg-to-lite.js.map +1 -0
  298. package/out/packages/zero-cache/src/db/pg-type-parser.js.map +1 -0
  299. package/out/packages/zero-cache/src/db/run-transaction.js.map +1 -0
  300. package/out/packages/zero-cache/src/db/specs.js.map +1 -0
  301. package/out/packages/zero-cache/src/db/statements.js.map +1 -0
  302. package/out/packages/zero-cache/src/db/transaction-pool.js.map +1 -0
  303. package/out/packages/zero-cache/src/db/warmup.js.map +1 -0
  304. package/out/packages/zero-cache/src/observability/events.js.map +1 -0
  305. package/out/packages/zero-cache/src/observability/metrics.js.map +1 -0
  306. package/out/packages/zero-cache/src/scripts/decommission.js.map +1 -0
  307. package/out/packages/zero-cache/src/scripts/deploy-permissions.js.map +1 -0
  308. package/out/packages/zero-cache/src/scripts/permissions.js.map +1 -0
  309. package/out/packages/zero-cache/src/server/anonymous-otel-start.js +306 -0
  310. package/out/packages/zero-cache/src/server/anonymous-otel-start.js.map +1 -0
  311. package/out/packages/zero-cache/src/server/inspector-delegate.js.map +1 -0
  312. package/out/packages/zero-cache/src/server/logging.js.map +1 -0
  313. package/out/packages/zero-cache/src/server/otel-diag-logger.js.map +1 -0
  314. package/out/packages/zero-cache/src/server/otel-log-sink.js.map +1 -0
  315. package/out/packages/zero-cache/src/server/otel-start.js +53 -0
  316. package/out/packages/zero-cache/src/server/otel-start.js.map +1 -0
  317. package/out/packages/zero-cache/src/server/priority-op.js.map +1 -0
  318. package/out/packages/zero-cache/src/server/runner/main.js +11 -0
  319. package/out/packages/zero-cache/src/server/runner/main.js.map +1 -0
  320. package/out/packages/zero-cache/src/server/runner/run-worker.js.map +1 -0
  321. package/out/packages/zero-cache/src/server/runner/runtime.js.map +1 -0
  322. package/out/packages/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -0
  323. package/out/packages/zero-cache/src/server/worker-dispatcher.js.map +1 -0
  324. package/out/packages/zero-cache/src/server/worker-urls.js.map +1 -0
  325. package/out/packages/zero-cache/src/services/analyze.js +72 -0
  326. package/out/packages/zero-cache/src/services/analyze.js.map +1 -0
  327. package/out/packages/zero-cache/src/services/change-source/common/backfill-manager.js.map +1 -0
  328. package/out/packages/zero-cache/src/services/change-source/common/change-stream-multiplexer.js.map +1 -0
  329. package/out/packages/zero-cache/src/services/change-source/common/replica-schema.js.map +1 -0
  330. package/out/packages/zero-cache/src/services/change-source/custom/change-source.js +176 -0
  331. package/out/packages/zero-cache/src/services/change-source/custom/change-source.js.map +1 -0
  332. package/out/packages/zero-cache/src/services/change-source/pg/backfill-metadata.js.map +1 -0
  333. package/out/packages/zero-cache/src/services/change-source/pg/backfill-stream.js +197 -0
  334. package/out/packages/zero-cache/src/services/change-source/pg/backfill-stream.js.map +1 -0
  335. package/out/packages/zero-cache/src/services/change-source/pg/change-source.js +929 -0
  336. package/out/packages/zero-cache/src/services/change-source/pg/change-source.js.map +1 -0
  337. package/out/packages/zero-cache/src/services/change-source/pg/decommission.js.map +1 -0
  338. package/out/packages/zero-cache/src/services/change-source/pg/initial-sync.js +553 -0
  339. package/out/packages/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -0
  340. package/out/packages/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -0
  341. package/out/packages/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js.map +1 -0
  342. package/out/packages/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +1 -0
  343. package/out/packages/zero-cache/src/services/change-source/pg/lsn.js.map +1 -0
  344. package/out/packages/zero-cache/src/services/change-source/pg/replication-slots.js +162 -0
  345. package/out/packages/zero-cache/src/services/change-source/pg/replication-slots.js.map +1 -0
  346. package/out/packages/zero-cache/src/services/change-source/pg/schema/ddl.js +334 -0
  347. package/out/packages/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -0
  348. package/out/packages/zero-cache/src/services/change-source/pg/schema/init.js +155 -0
  349. package/out/packages/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -0
  350. package/out/packages/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -0
  351. package/out/packages/zero-cache/src/services/change-source/pg/schema/shard.js +330 -0
  352. package/out/packages/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -0
  353. package/out/packages/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -0
  354. package/out/packages/zero-cache/src/services/change-source/protocol/current/control.js.map +1 -0
  355. package/out/packages/zero-cache/src/services/change-source/protocol/current/data.js +194 -0
  356. package/out/packages/zero-cache/src/services/change-source/protocol/current/data.js.map +1 -0
  357. package/out/packages/zero-cache/src/services/change-source/protocol/current/downstream.js.map +1 -0
  358. package/out/packages/zero-cache/src/services/change-source/protocol/current/json.js.map +1 -0
  359. package/out/packages/zero-cache/src/services/change-source/protocol/current/path.js.map +1 -0
  360. package/out/packages/zero-cache/src/services/change-source/protocol/current/status.js.map +1 -0
  361. package/out/packages/zero-cache/src/services/change-source/protocol/current/upstream.js.map +1 -0
  362. package/out/packages/zero-cache/src/services/change-source/protocol/current.js +56 -0
  363. package/out/packages/zero-cache/src/services/change-source/protocol/current.js.map +1 -0
  364. package/out/packages/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -0
  365. package/out/packages/zero-cache/src/services/change-streamer/broadcast.js.map +1 -0
  366. package/out/packages/zero-cache/src/services/change-streamer/change-streamer-http.js +158 -0
  367. package/out/packages/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -0
  368. package/out/packages/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -0
  369. package/out/packages/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -0
  370. package/out/packages/zero-cache/src/services/change-streamer/forwarder.js.map +1 -0
  371. package/out/packages/zero-cache/src/services/change-streamer/replica-monitor.js.map +1 -0
  372. package/out/packages/zero-cache/src/services/change-streamer/schema/init.js +70 -0
  373. package/out/packages/zero-cache/src/services/change-streamer/schema/init.js.map +1 -0
  374. package/out/packages/zero-cache/src/services/change-streamer/schema/tables.js +191 -0
  375. package/out/packages/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -0
  376. package/out/packages/zero-cache/src/services/change-streamer/snapshot.js +42 -0
  377. package/out/packages/zero-cache/src/services/change-streamer/snapshot.js.map +1 -0
  378. package/out/packages/zero-cache/src/services/change-streamer/storer.js.map +1 -0
  379. package/out/packages/zero-cache/src/services/change-streamer/subscriber.js.map +1 -0
  380. package/out/packages/zero-cache/src/services/heapz.js.map +1 -0
  381. package/out/packages/zero-cache/src/services/http-service.js.map +1 -0
  382. package/out/packages/zero-cache/src/services/life-cycle.js +200 -0
  383. package/out/packages/zero-cache/src/services/life-cycle.js.map +1 -0
  384. package/out/packages/zero-cache/src/services/limiter/sliding-window-limiter.js.map +1 -0
  385. package/out/packages/zero-cache/src/services/litestream/commands.js.map +1 -0
  386. package/out/packages/zero-cache/src/services/mutagen/error.js.map +1 -0
  387. package/out/packages/zero-cache/src/services/mutagen/mutagen.js.map +1 -0
  388. package/out/packages/zero-cache/src/services/mutagen/pusher.js.map +1 -0
  389. package/out/packages/zero-cache/src/services/replicator/change-processor.js.map +1 -0
  390. package/out/packages/zero-cache/src/services/replicator/incremental-sync.js.map +1 -0
  391. package/out/packages/zero-cache/src/services/replicator/notifier.js.map +1 -0
  392. package/out/packages/zero-cache/src/services/replicator/replication-status.js.map +1 -0
  393. package/out/packages/zero-cache/src/services/replicator/replicator.js.map +1 -0
  394. package/out/packages/zero-cache/src/services/replicator/reporter/recorder.js.map +1 -0
  395. package/out/packages/zero-cache/src/services/replicator/reporter/report-schema.js.map +1 -0
  396. package/out/packages/zero-cache/src/services/replicator/schema/change-log.js.map +1 -0
  397. package/out/packages/zero-cache/src/services/replicator/schema/column-metadata.js.map +1 -0
  398. package/out/packages/zero-cache/src/services/replicator/schema/constants.js.map +1 -0
  399. package/out/packages/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -0
  400. package/out/packages/zero-cache/src/services/replicator/schema/table-metadata.js.map +1 -0
  401. package/out/packages/zero-cache/src/services/replicator/write-worker-client.js.map +1 -0
  402. package/out/packages/zero-cache/src/services/replicator/write-worker.js.map +1 -0
  403. package/out/packages/zero-cache/src/services/run-ast.js +88 -0
  404. package/out/packages/zero-cache/src/services/run-ast.js.map +1 -0
  405. package/out/packages/zero-cache/src/services/runner.js.map +1 -0
  406. package/out/packages/zero-cache/src/services/running-state.js +139 -0
  407. package/out/packages/zero-cache/src/services/running-state.js.map +1 -0
  408. package/out/packages/zero-cache/src/services/shadow-sync/shadow-sync-service.js +57 -0
  409. package/out/packages/zero-cache/src/services/shadow-sync/shadow-sync-service.js.map +1 -0
  410. package/out/packages/zero-cache/src/services/statz.js.map +1 -0
  411. package/out/packages/zero-cache/src/services/view-syncer/active-users-gauge.js.map +1 -0
  412. package/out/packages/zero-cache/src/services/view-syncer/client-handler.js +270 -0
  413. package/out/packages/zero-cache/src/services/view-syncer/client-handler.js.map +1 -0
  414. package/out/packages/zero-cache/src/services/view-syncer/client-schema.js.map +1 -0
  415. package/out/packages/zero-cache/src/services/view-syncer/connection-context-manager.js.map +1 -0
  416. package/out/packages/zero-cache/src/services/view-syncer/cvr-purger.js +110 -0
  417. package/out/packages/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -0
  418. package/out/packages/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -0
  419. package/out/packages/zero-cache/src/services/view-syncer/cvr.js.map +1 -0
  420. package/out/packages/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -0
  421. package/out/packages/zero-cache/src/services/view-syncer/inspect-handler.js +102 -0
  422. package/out/packages/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -0
  423. package/out/packages/zero-cache/src/services/view-syncer/pipeline-driver.js +628 -0
  424. package/out/packages/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -0
  425. package/out/packages/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -0
  426. package/out/packages/zero-cache/src/services/view-syncer/row-set-signature.js.map +1 -0
  427. package/out/packages/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -0
  428. package/out/packages/zero-cache/src/services/view-syncer/schema/init.js +142 -0
  429. package/out/packages/zero-cache/src/services/view-syncer/schema/init.js.map +1 -0
  430. package/out/packages/zero-cache/src/services/view-syncer/schema/types.js +278 -0
  431. package/out/packages/zero-cache/src/services/view-syncer/schema/types.js.map +1 -0
  432. package/out/packages/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -0
  433. package/out/packages/zero-cache/src/services/view-syncer/tracer.js.map +1 -0
  434. package/out/packages/zero-cache/src/services/view-syncer/ttl-clock.js.map +1 -0
  435. package/out/packages/zero-cache/src/services/view-syncer/view-syncer.js +1245 -0
  436. package/out/packages/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -0
  437. package/out/packages/zero-cache/src/types/configuration-error.js +11 -0
  438. package/out/packages/zero-cache/src/types/configuration-error.js.map +1 -0
  439. package/out/packages/zero-cache/src/types/error-with-level.js.map +1 -0
  440. package/out/packages/zero-cache/src/types/http.js.map +1 -0
  441. package/out/packages/zero-cache/src/types/lexi-version.js.map +1 -0
  442. package/out/packages/zero-cache/src/types/lite.js.map +1 -0
  443. package/out/packages/zero-cache/src/types/names.js.map +1 -0
  444. package/out/packages/zero-cache/src/types/pg-data-type.js.map +1 -0
  445. package/out/packages/zero-cache/src/types/pg-types.js.map +1 -0
  446. package/out/packages/zero-cache/src/types/pg-versions.js.map +1 -0
  447. package/out/packages/zero-cache/src/types/pg.js +222 -0
  448. package/out/packages/zero-cache/src/types/pg.js.map +1 -0
  449. package/out/packages/zero-cache/src/types/processes.js.map +1 -0
  450. package/out/packages/zero-cache/src/types/profiler.js.map +1 -0
  451. package/out/packages/zero-cache/src/types/row-key.js.map +1 -0
  452. package/out/packages/zero-cache/src/types/shards.js.map +1 -0
  453. package/out/packages/zero-cache/src/types/sql.js.map +1 -0
  454. package/out/packages/zero-cache/src/types/state-version.js.map +1 -0
  455. package/out/packages/zero-cache/src/types/streams.js.map +1 -0
  456. package/out/packages/zero-cache/src/types/strings.js.map +1 -0
  457. package/out/packages/zero-cache/src/types/subscription.js.map +1 -0
  458. package/out/packages/zero-cache/src/types/timeout.js.map +1 -0
  459. package/out/packages/zero-cache/src/types/url-params.js.map +1 -0
  460. package/out/packages/zero-cache/src/types/websocket-handoff.js.map +1 -0
  461. package/out/packages/zero-cache/src/types/ws.js.map +1 -0
  462. package/out/packages/zero-cache/src/workers/connect-params.js.map +1 -0
  463. package/out/packages/zero-cache/src/workers/connection.js +229 -0
  464. package/out/packages/zero-cache/src/workers/connection.js.map +1 -0
  465. package/out/packages/zero-cache/src/workers/mutator.js.map +1 -0
  466. package/out/packages/zero-cache/src/workers/replicator.js.map +1 -0
  467. package/out/packages/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -0
  468. package/out/packages/zero-cache/src/workers/syncer.js.map +1 -0
  469. package/out/packages/zero-client/src/client/active-clients-manager.js.map +1 -0
  470. package/out/packages/zero-client/src/client/client-error-kind-enum.js.map +1 -0
  471. package/out/packages/zero-client/src/client/connection-manager.js +296 -0
  472. package/out/packages/zero-client/src/client/connection-manager.js.map +1 -0
  473. package/out/packages/zero-client/src/client/connection-status-enum.js +20 -0
  474. package/out/packages/zero-client/src/client/connection-status-enum.js.map +1 -0
  475. package/out/packages/zero-client/src/client/connection.js.map +1 -0
  476. package/out/packages/zero-client/src/client/context.js.map +1 -0
  477. package/out/packages/zero-client/src/client/crud-impl.js +61 -0
  478. package/out/packages/zero-client/src/client/crud-impl.js.map +1 -0
  479. package/out/packages/zero-client/src/client/crud.js.map +1 -0
  480. package/out/packages/zero-client/src/client/custom.js +64 -0
  481. package/out/packages/zero-client/src/client/custom.js.map +1 -0
  482. package/out/packages/zero-client/src/client/delete-clients-manager.js.map +1 -0
  483. package/out/packages/zero-client/src/client/enable-analytics.js.map +1 -0
  484. package/out/packages/zero-client/src/client/error.js.map +1 -0
  485. package/out/packages/zero-client/src/client/http-string.js.map +1 -0
  486. package/out/packages/zero-client/src/client/inspector/client-group.js.map +1 -0
  487. package/out/packages/zero-client/src/client/inspector/client.js.map +1 -0
  488. package/out/packages/zero-client/src/client/inspector/html-dialog-prompt.js.map +1 -0
  489. package/out/packages/zero-client/src/client/inspector/inspector.js.map +1 -0
  490. package/out/packages/zero-client/src/client/inspector/lazy-inspector.js.map +1 -0
  491. package/out/packages/zero-client/src/client/inspector/query.js.map +1 -0
  492. package/out/packages/zero-client/src/client/ivm-branch.js.map +1 -0
  493. package/out/packages/zero-client/src/client/keys.js.map +1 -0
  494. package/out/packages/zero-client/src/client/log-options.js.map +1 -0
  495. package/out/packages/zero-client/src/client/make-mutate-property.js.map +1 -0
  496. package/out/packages/zero-client/src/client/make-replicache-mutators.js.map +1 -0
  497. package/out/packages/zero-client/src/client/metric-name-enum.js.map +1 -0
  498. package/out/packages/zero-client/src/client/metrics.js.map +1 -0
  499. package/out/packages/zero-client/src/client/mutation-tracker.js.map +1 -0
  500. package/out/packages/zero-client/src/client/mutator-proxy.js.map +1 -0
  501. package/out/packages/zero-client/src/client/options.js.map +1 -0
  502. package/out/packages/zero-client/src/client/query-manager.js.map +1 -0
  503. package/out/packages/zero-client/src/client/reload-error-handler.js.map +1 -0
  504. package/out/packages/zero-client/src/client/server-option.js.map +1 -0
  505. package/out/packages/zero-client/src/client/update-needed-reason-type-enum.js +27 -0
  506. package/out/packages/zero-client/src/client/update-needed-reason-type-enum.js.map +1 -0
  507. package/out/packages/zero-client/src/client/version.js +9 -0
  508. package/out/packages/zero-client/src/client/version.js.map +1 -0
  509. package/out/packages/zero-client/src/client/zero-poke-handler.js.map +1 -0
  510. package/out/packages/zero-client/src/client/zero-rep.js.map +1 -0
  511. package/out/packages/zero-client/src/client/zero.js +1469 -0
  512. package/out/packages/zero-client/src/client/zero.js.map +1 -0
  513. package/out/packages/zero-client/src/util/nanoid.js.map +1 -0
  514. package/out/packages/zero-protocol/src/analyze-query-result.js +123 -0
  515. package/out/packages/zero-protocol/src/analyze-query-result.js.map +1 -0
  516. package/out/packages/zero-protocol/src/application-error.js.map +1 -0
  517. package/out/packages/zero-protocol/src/ast.js.map +1 -0
  518. package/out/packages/zero-protocol/src/change-desired-queries.js +13 -0
  519. package/out/packages/zero-protocol/src/change-desired-queries.js.map +1 -0
  520. package/out/packages/zero-protocol/src/client-schema.js.map +1 -0
  521. package/out/packages/zero-protocol/src/close-connection.js.map +1 -0
  522. package/out/packages/zero-protocol/src/connect.js +54 -0
  523. package/out/packages/zero-protocol/src/connect.js.map +1 -0
  524. package/out/packages/zero-protocol/src/custom-queries.js.map +1 -0
  525. package/out/packages/zero-protocol/src/data.js.map +1 -0
  526. package/out/packages/zero-protocol/src/delete-clients.js.map +1 -0
  527. package/out/packages/zero-protocol/src/down.js.map +1 -0
  528. package/out/packages/zero-protocol/src/error-kind-enum.js.map +1 -0
  529. package/out/packages/zero-protocol/src/error-origin-enum.js.map +1 -0
  530. package/out/packages/zero-protocol/src/error-reason-enum.js.map +1 -0
  531. package/out/packages/zero-protocol/src/error.js +91 -0
  532. package/out/packages/zero-protocol/src/error.js.map +1 -0
  533. package/out/packages/zero-protocol/src/inspect-down.js.map +1 -0
  534. package/out/packages/zero-protocol/src/inspect-up.js +35 -0
  535. package/out/packages/zero-protocol/src/inspect-up.js.map +1 -0
  536. package/out/packages/zero-protocol/src/mutate-server.js.map +1 -0
  537. package/out/packages/zero-protocol/src/mutation-id.js.map +1 -0
  538. package/out/packages/zero-protocol/src/mutation-type-enum.js.map +1 -0
  539. package/out/packages/zero-protocol/src/mutation.js.map +1 -0
  540. package/out/packages/zero-protocol/src/mutations-patch.js.map +1 -0
  541. package/out/packages/zero-protocol/src/ping.js.map +1 -0
  542. package/out/packages/zero-protocol/src/poke.js +63 -0
  543. package/out/packages/zero-protocol/src/poke.js.map +1 -0
  544. package/out/packages/zero-protocol/src/pong.js.map +1 -0
  545. package/out/packages/zero-protocol/src/primary-key.js.map +1 -0
  546. package/out/packages/zero-protocol/src/protocol-version.js.map +1 -0
  547. package/out/packages/zero-protocol/src/pull.js.map +1 -0
  548. package/out/packages/zero-protocol/src/push.js +76 -0
  549. package/out/packages/zero-protocol/src/push.js.map +1 -0
  550. package/out/packages/zero-protocol/src/queries-patch.js.map +1 -0
  551. package/out/packages/zero-protocol/src/query-hash.js.map +1 -0
  552. package/out/packages/zero-protocol/src/query-server.js.map +1 -0
  553. package/out/packages/zero-protocol/src/row-patch.js.map +1 -0
  554. package/out/packages/zero-protocol/src/up.js.map +1 -0
  555. package/out/packages/zero-protocol/src/update-auth.js.map +1 -0
  556. package/out/packages/zero-protocol/src/version.js.map +1 -0
  557. package/out/packages/zero-react/src/use-connection-state.js +19 -0
  558. package/out/packages/zero-react/src/use-connection-state.js.map +1 -0
  559. package/out/packages/zero-react/src/use-query.js +301 -0
  560. package/out/packages/zero-react/src/use-query.js.map +1 -0
  561. package/out/packages/zero-react/src/use-zero-online.js +22 -0
  562. package/out/packages/zero-react/src/use-zero-online.js.map +1 -0
  563. package/out/packages/zero-react/src/zero-provider.js +90 -0
  564. package/out/packages/zero-react/src/zero-provider.js.map +1 -0
  565. package/out/packages/zero-schema/src/builder/relationship-builder.js.map +1 -0
  566. package/out/packages/zero-schema/src/builder/schema-builder.js.map +1 -0
  567. package/out/packages/zero-schema/src/builder/table-builder.js.map +1 -0
  568. package/out/packages/zero-schema/src/compiled-permissions.js.map +1 -0
  569. package/out/packages/zero-schema/src/name-mapper.js.map +1 -0
  570. package/out/packages/zero-schema/src/permissions.js.map +1 -0
  571. package/out/packages/zero-schema/src/schema-config.js.map +1 -0
  572. package/out/packages/zero-server/src/adapters/drizzle.js.map +1 -0
  573. package/out/packages/zero-server/src/adapters/kysely.js.map +1 -0
  574. package/out/packages/zero-server/src/adapters/pg.js +83 -0
  575. package/out/packages/zero-server/src/adapters/pg.js.map +1 -0
  576. package/out/packages/zero-server/src/adapters/postgresjs.js.map +1 -0
  577. package/out/packages/zero-server/src/adapters/prisma.js.map +1 -0
  578. package/out/packages/zero-server/src/custom.js +215 -0
  579. package/out/packages/zero-server/src/custom.js.map +1 -0
  580. package/out/packages/zero-server/src/logging.js.map +1 -0
  581. package/out/packages/zero-server/src/pg-query-executor.js.map +1 -0
  582. package/out/packages/zero-server/src/process-mutations.js.map +1 -0
  583. package/out/packages/zero-server/src/push-processor.js.map +1 -0
  584. package/out/packages/zero-server/src/queries/process-queries.js.map +1 -0
  585. package/out/packages/zero-server/src/schema.js.map +1 -0
  586. package/out/packages/zero-server/src/zql-database.js.map +1 -0
  587. package/out/packages/zero-solid/src/solid-view.js +145 -0
  588. package/out/packages/zero-solid/src/solid-view.js.map +1 -0
  589. package/out/packages/zero-solid/src/use-connection-state.js +21 -0
  590. package/out/packages/zero-solid/src/use-connection-state.js.map +1 -0
  591. package/out/packages/zero-solid/src/use-query.js +64 -0
  592. package/out/packages/zero-solid/src/use-query.js.map +1 -0
  593. package/out/packages/zero-solid/src/use-zero-online.js +21 -0
  594. package/out/packages/zero-solid/src/use-zero-online.js.map +1 -0
  595. package/out/packages/zero-solid/src/use-zero.js +93 -0
  596. package/out/packages/zero-solid/src/use-zero.js.map +1 -0
  597. package/out/packages/zero-types/src/format.js.map +1 -0
  598. package/out/packages/zero-types/src/name-mapper.js.map +1 -0
  599. package/out/packages/zql/src/builder/builder.js +381 -0
  600. package/out/packages/zql/src/builder/builder.js.map +1 -0
  601. package/out/packages/zql/src/builder/debug-delegate.js +81 -0
  602. package/out/packages/zql/src/builder/debug-delegate.js.map +1 -0
  603. package/out/packages/zql/src/builder/filter.js.map +1 -0
  604. package/out/packages/zql/src/builder/like.js.map +1 -0
  605. package/out/packages/zql/src/error.js.map +1 -0
  606. package/out/packages/zql/src/ivm/array-view.js.map +1 -0
  607. package/out/packages/zql/src/ivm/cap.js.map +1 -0
  608. package/out/packages/zql/src/ivm/change.js.map +1 -0
  609. package/out/packages/zql/src/ivm/constraint.js +82 -0
  610. package/out/packages/zql/src/ivm/constraint.js.map +1 -0
  611. package/out/packages/zql/src/ivm/data.js.map +1 -0
  612. package/out/packages/zql/src/ivm/exists.js.map +1 -0
  613. package/out/packages/zql/src/ivm/fan-in.js.map +1 -0
  614. package/out/packages/zql/src/ivm/fan-out.js.map +1 -0
  615. package/out/packages/zql/src/ivm/filter-operators.js.map +1 -0
  616. package/out/packages/zql/src/ivm/filter-push.js.map +1 -0
  617. package/out/packages/zql/src/ivm/filter.js.map +1 -0
  618. package/out/packages/zql/src/ivm/flipped-join.js +307 -0
  619. package/out/packages/zql/src/ivm/flipped-join.js.map +1 -0
  620. package/out/packages/zql/src/ivm/join-utils.js.map +1 -0
  621. package/out/packages/zql/src/ivm/join.js.map +1 -0
  622. package/out/packages/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -0
  623. package/out/packages/zql/src/ivm/memory-source.js.map +1 -0
  624. package/out/packages/zql/src/ivm/memory-storage.js.map +1 -0
  625. package/out/packages/zql/src/ivm/operator.js.map +1 -0
  626. package/out/packages/zql/src/ivm/push-accumulated.js.map +1 -0
  627. package/out/packages/zql/src/ivm/skip-yields.js.map +1 -0
  628. package/out/packages/zql/src/ivm/skip.js.map +1 -0
  629. package/out/packages/zql/src/ivm/source.js.map +1 -0
  630. package/out/packages/zql/src/ivm/stream.js.map +1 -0
  631. package/out/packages/zql/src/ivm/take.js.map +1 -0
  632. package/out/packages/zql/src/ivm/union-fan-in.js +165 -0
  633. package/out/packages/zql/src/ivm/union-fan-in.js.map +1 -0
  634. package/out/packages/zql/src/ivm/union-fan-out.js.map +1 -0
  635. package/out/packages/zql/src/ivm/view-apply-change.js.map +1 -0
  636. package/out/packages/zql/src/mutate/crud.js.map +1 -0
  637. package/out/packages/zql/src/mutate/custom.js.map +1 -0
  638. package/out/packages/zql/src/mutate/mutator-registry.js.map +1 -0
  639. package/out/packages/zql/src/mutate/mutator.js.map +1 -0
  640. package/out/packages/zql/src/planner/planner-builder.js.map +1 -0
  641. package/out/packages/zql/src/planner/planner-connection.js.map +1 -0
  642. package/out/packages/zql/src/planner/planner-constraint.js.map +1 -0
  643. package/out/packages/zql/src/planner/planner-debug.js.map +1 -0
  644. package/out/packages/zql/src/planner/planner-fan-in.js.map +1 -0
  645. package/out/packages/zql/src/planner/planner-fan-out.js.map +1 -0
  646. package/out/packages/zql/src/planner/planner-graph.js.map +1 -0
  647. package/out/packages/zql/src/planner/planner-join.js +262 -0
  648. package/out/packages/zql/src/planner/planner-join.js.map +1 -0
  649. package/out/packages/zql/src/planner/planner-node.js.map +1 -0
  650. package/out/packages/zql/src/planner/planner-source.js.map +1 -0
  651. package/out/packages/zql/src/planner/planner-terminus.js.map +1 -0
  652. package/out/packages/zql/src/query/complete-ordering.js.map +1 -0
  653. package/out/packages/zql/src/query/create-builder.js.map +1 -0
  654. package/out/packages/zql/src/query/error.js.map +1 -0
  655. package/out/packages/zql/src/query/escape-like.js.map +1 -0
  656. package/out/packages/zql/src/query/expression.js.map +1 -0
  657. package/out/packages/zql/src/query/measure-push-operator.js.map +1 -0
  658. package/out/packages/zql/src/query/metrics-delegate.js.map +1 -0
  659. package/out/packages/zql/src/query/named.js.map +1 -0
  660. package/out/packages/zql/src/query/query-delegate-base.js.map +1 -0
  661. package/out/packages/zql/src/query/query-impl.js +290 -0
  662. package/out/packages/zql/src/query/query-impl.js.map +1 -0
  663. package/out/packages/zql/src/query/query-internals.js.map +1 -0
  664. package/out/packages/zql/src/query/query-registry.js.map +1 -0
  665. package/out/packages/zql/src/query/runnable-query-impl.js.map +1 -0
  666. package/out/packages/zql/src/query/static-query.js.map +1 -0
  667. package/out/packages/zql/src/query/ttl.js.map +1 -0
  668. package/out/packages/zql/src/query/validate-input.js.map +1 -0
  669. package/out/packages/zqlite/src/database-storage.js.map +1 -0
  670. package/out/packages/zqlite/src/db.js.map +1 -0
  671. package/out/packages/zqlite/src/explain-queries.js.map +1 -0
  672. package/out/packages/zqlite/src/internal/sql-inline.js.map +1 -0
  673. package/out/packages/zqlite/src/internal/sql.js.map +1 -0
  674. package/out/packages/zqlite/src/internal/statement-cache.js.map +1 -0
  675. package/out/packages/zqlite/src/query-builder.js.map +1 -0
  676. package/out/packages/zqlite/src/query-delegate.js.map +1 -0
  677. package/out/packages/zqlite/src/resolve-scalar-subqueries.js.map +1 -0
  678. package/out/packages/zqlite/src/sqlite-cost-model.js.map +1 -0
  679. package/out/packages/zqlite/src/sqlite-stat-fanout.js.map +1 -0
  680. package/out/packages/zqlite/src/table-source.js +313 -0
  681. package/out/packages/zqlite/src/table-source.js.map +1 -0
  682. package/out/replicache/src/dag/store-impl.d.ts.map +1 -1
  683. package/out/replicache/src/kv/expo-sqlite/store.d.ts +1 -1
  684. package/out/replicache/src/kv/expo-sqlite/store.d.ts.map +1 -1
  685. package/out/replicache/src/kv/op-sqlite/store.d.ts.map +1 -1
  686. package/out/replicache/src/kv/sqlite-store.d.ts +6 -6
  687. package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
  688. package/out/replicache/src/kv/throw-if-closed.d.ts +1 -0
  689. package/out/replicache/src/kv/throw-if-closed.d.ts.map +1 -1
  690. package/out/replicache/src/persist/persist.d.ts.map +1 -1
  691. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  692. package/out/shared/src/map.d.ts +6 -0
  693. package/out/shared/src/map.d.ts.map +1 -0
  694. package/out/shared/src/queue.d.ts.map +1 -1
  695. package/out/shared/src/ring-buffer.d.ts +32 -0
  696. package/out/shared/src/ring-buffer.d.ts.map +1 -0
  697. package/out/zero/src/adapters/drizzle.js +1 -1
  698. package/out/zero/src/adapters/kysely.js +1 -1
  699. package/out/zero/src/adapters/pg.js +1 -1
  700. package/out/zero/src/adapters/postgresjs.js +1 -1
  701. package/out/zero/src/adapters/prisma.js +1 -1
  702. package/out/zero/src/analyze-query.js +1 -1
  703. package/out/zero/src/analyze.js +1 -1
  704. package/out/zero/src/ast-to-zql.js +1 -1
  705. package/out/zero/src/bindings.js +11 -11
  706. package/out/zero/src/build-schema.js.map +1 -1
  707. package/out/zero/src/change-protocol/v0.js +2 -2
  708. package/out/zero/src/cli.js +1 -1
  709. package/out/zero/src/deploy-permissions.js +1 -1
  710. package/out/zero/src/expo-sqlite.js +2 -2
  711. package/out/zero/src/op-sqlite.js +2 -2
  712. package/out/zero/src/pg.js +9 -9
  713. package/out/zero/src/react-native.js +2 -2
  714. package/out/zero/src/react.js +5 -5
  715. package/out/zero/src/server.js +8 -8
  716. package/out/zero/src/solid.js +5 -5
  717. package/out/zero/src/sqlite.js +2 -2
  718. package/out/zero/src/transform-query.js +1 -1
  719. package/out/zero/src/zero-cache-dev.js +6 -6
  720. package/out/zero/src/zero-cache-dev.js.map +1 -1
  721. package/out/zero/src/zero-out.js +5 -5
  722. package/out/zero/src/zero-out.js.map +1 -1
  723. package/out/zero/src/zero.js +22 -22
  724. package/out/zero/src/zqlite.js +5 -5
  725. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  726. package/out/zero-cache/src/server/change-streamer.js +38 -32
  727. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  728. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  729. package/out/zero-cache/src/server/main.js +15 -13
  730. package/out/zero-cache/src/server/main.js.map +1 -1
  731. package/out/zero-cache/src/server/mutator.js +12 -10
  732. package/out/zero-cache/src/server/mutator.js.map +1 -1
  733. package/out/zero-cache/src/server/reaper.d.ts.map +1 -1
  734. package/out/zero-cache/src/server/reaper.js +18 -16
  735. package/out/zero-cache/src/server/reaper.js.map +1 -1
  736. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  737. package/out/zero-cache/src/server/replicator.js +20 -18
  738. package/out/zero-cache/src/server/replicator.js.map +1 -1
  739. package/out/zero-cache/src/server/runner/main.d.ts.map +1 -1
  740. package/out/zero-cache/src/server/shadow-syncer.js +16 -13
  741. package/out/zero-cache/src/server/shadow-syncer.js.map +1 -1
  742. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  743. package/out/zero-cache/src/server/syncer.js +36 -34
  744. package/out/zero-cache/src/server/syncer.js.map +1 -1
  745. package/out/zero-cache/src/server/write-worker.js +1 -1
  746. package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
  747. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  748. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +8 -2
  749. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  750. package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts +1 -1
  751. package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts.map +1 -1
  752. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
  753. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  754. package/out/zero-cache/src/services/life-cycle.d.ts +1 -1
  755. package/out/zero-cache/src/services/life-cycle.d.ts.map +1 -1
  756. package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
  757. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  758. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -1
  759. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  760. package/out/zero-cache/src/types/configuration-error.d.ts +4 -0
  761. package/out/zero-cache/src/types/configuration-error.d.ts.map +1 -0
  762. package/out/zero-cache/src/types/pg.d.ts +2 -0
  763. package/out/zero-cache/src/types/pg.d.ts.map +1 -1
  764. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  765. package/out/zql/src/builder/builder.d.ts.map +1 -1
  766. package/out/zql/src/builder/debug-delegate.d.ts +5 -0
  767. package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
  768. package/out/zql/src/ivm/flipped-join.d.ts +4 -8
  769. package/out/zql/src/ivm/flipped-join.d.ts.map +1 -1
  770. package/out/zql/src/ivm/operator.d.ts +1 -1
  771. package/out/zql/src/ivm/schema.d.ts +0 -8
  772. package/out/zql/src/ivm/schema.d.ts.map +1 -1
  773. package/out/zql/src/ivm/union-fan-in.d.ts.map +1 -1
  774. package/out/zql/src/mutate/mutator.d.ts +12 -3
  775. package/out/zql/src/mutate/mutator.d.ts.map +1 -1
  776. package/out/zql/src/planner/planner-join.d.ts.map +1 -1
  777. package/out/zql/src/query/query-registry.d.ts +10 -3
  778. package/out/zql/src/query/query-registry.d.ts.map +1 -1
  779. package/out/zqlite/src/table-source.d.ts.map +1 -1
  780. package/package.json +23 -23
  781. package/out/_virtual/_@oxc-project_runtime@0.122.0/helpers/usingCtx.js +0 -57
  782. package/out/analyze-query/src/analyze-cli.js +0 -288
  783. package/out/analyze-query/src/analyze-cli.js.map +0 -1
  784. package/out/analyze-query/src/bin-analyze.js +0 -277
  785. package/out/analyze-query/src/bin-analyze.js.map +0 -1
  786. package/out/analyze-query/src/bin-transform.js.map +0 -1
  787. package/out/ast-to-zql/src/ast-to-zql.js.map +0 -1
  788. package/out/ast-to-zql/src/bin.js.map +0 -1
  789. package/out/ast-to-zql/src/format.js.map +0 -1
  790. package/out/datadog/src/datadog-log-sink.js.map +0 -1
  791. package/out/otel/src/enabled.js.map +0 -1
  792. package/out/otel/src/log-options.js.map +0 -1
  793. package/out/otel/src/maybe-time.js.map +0 -1
  794. package/out/otel/src/span.js.map +0 -1
  795. package/out/otel/src/version.js.map +0 -1
  796. package/out/replicache/src/async-iterable-to-array.js.map +0 -1
  797. package/out/replicache/src/bg-interval.js.map +0 -1
  798. package/out/replicache/src/btree/diff.js.map +0 -1
  799. package/out/replicache/src/btree/node.js.map +0 -1
  800. package/out/replicache/src/btree/read.js.map +0 -1
  801. package/out/replicache/src/btree/splice.js.map +0 -1
  802. package/out/replicache/src/btree/write.js +0 -188
  803. package/out/replicache/src/btree/write.js.map +0 -1
  804. package/out/replicache/src/call-default-fetch.js.map +0 -1
  805. package/out/replicache/src/connection-loop-delegates.js.map +0 -1
  806. package/out/replicache/src/connection-loop.js.map +0 -1
  807. package/out/replicache/src/cookies.js.map +0 -1
  808. package/out/replicache/src/dag/chunk.js.map +0 -1
  809. package/out/replicache/src/dag/gc.js.map +0 -1
  810. package/out/replicache/src/dag/key.js.map +0 -1
  811. package/out/replicache/src/dag/lazy-store.js.map +0 -1
  812. package/out/replicache/src/dag/store-impl.js +0 -152
  813. package/out/replicache/src/dag/store-impl.js.map +0 -1
  814. package/out/replicache/src/dag/store.js.map +0 -1
  815. package/out/replicache/src/dag/visitor.js.map +0 -1
  816. package/out/replicache/src/db/commit.js.map +0 -1
  817. package/out/replicache/src/db/index.js.map +0 -1
  818. package/out/replicache/src/db/read.js.map +0 -1
  819. package/out/replicache/src/db/rebase.js.map +0 -1
  820. package/out/replicache/src/db/write.js.map +0 -1
  821. package/out/replicache/src/deleted-clients.js.map +0 -1
  822. package/out/replicache/src/error-responses.js.map +0 -1
  823. package/out/replicache/src/frozen-json.js.map +0 -1
  824. package/out/replicache/src/get-default-puller.js.map +0 -1
  825. package/out/replicache/src/get-default-pusher.js.map +0 -1
  826. package/out/replicache/src/get-kv-store-provider.js.map +0 -1
  827. package/out/replicache/src/hash.js.map +0 -1
  828. package/out/replicache/src/http-request-info.js.map +0 -1
  829. package/out/replicache/src/index-defs.js.map +0 -1
  830. package/out/replicache/src/kv/expo-sqlite/store.js +0 -58
  831. package/out/replicache/src/kv/expo-sqlite/store.js.map +0 -1
  832. package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +0 -1
  833. package/out/replicache/src/kv/idb-store.js.map +0 -1
  834. package/out/replicache/src/kv/mem-store.js.map +0 -1
  835. package/out/replicache/src/kv/op-sqlite/store.js +0 -63
  836. package/out/replicache/src/kv/op-sqlite/store.js.map +0 -1
  837. package/out/replicache/src/kv/op-sqlite/types.js.map +0 -1
  838. package/out/replicache/src/kv/read-impl.js.map +0 -1
  839. package/out/replicache/src/kv/sqlite-store.js +0 -216
  840. package/out/replicache/src/kv/sqlite-store.js.map +0 -1
  841. package/out/replicache/src/kv/throw-if-closed.js +0 -26
  842. package/out/replicache/src/kv/throw-if-closed.js.map +0 -1
  843. package/out/replicache/src/kv/write-impl-base.js.map +0 -1
  844. package/out/replicache/src/kv/write-impl.js.map +0 -1
  845. package/out/replicache/src/lazy.js.map +0 -1
  846. package/out/replicache/src/log-options.js.map +0 -1
  847. package/out/replicache/src/make-idb-name.js.map +0 -1
  848. package/out/replicache/src/new-client-channel.js.map +0 -1
  849. package/out/replicache/src/on-persist-channel.js.map +0 -1
  850. package/out/replicache/src/patch-operation.js.map +0 -1
  851. package/out/replicache/src/pending-mutations.js.map +0 -1
  852. package/out/replicache/src/persist/client-gc.js.map +0 -1
  853. package/out/replicache/src/persist/client-group-gc.js.map +0 -1
  854. package/out/replicache/src/persist/client-groups.js +0 -110
  855. package/out/replicache/src/persist/client-groups.js.map +0 -1
  856. package/out/replicache/src/persist/clients.js +0 -261
  857. package/out/replicache/src/persist/clients.js.map +0 -1
  858. package/out/replicache/src/persist/collect-idb-databases.js.map +0 -1
  859. package/out/replicache/src/persist/gather-mem-only-visitor.js.map +0 -1
  860. package/out/replicache/src/persist/gather-not-cached-visitor.js.map +0 -1
  861. package/out/replicache/src/persist/heartbeat.js.map +0 -1
  862. package/out/replicache/src/persist/idb-databases-store-db-name.js.map +0 -1
  863. package/out/replicache/src/persist/idb-databases-store.js.map +0 -1
  864. package/out/replicache/src/persist/make-client-id.js.map +0 -1
  865. package/out/replicache/src/persist/persist.js +0 -122
  866. package/out/replicache/src/persist/persist.js.map +0 -1
  867. package/out/replicache/src/persist/refresh.js.map +0 -1
  868. package/out/replicache/src/process-scheduler.js.map +0 -1
  869. package/out/replicache/src/pusher.js.map +0 -1
  870. package/out/replicache/src/replicache-impl.js.map +0 -1
  871. package/out/replicache/src/report-error.js.map +0 -1
  872. package/out/replicache/src/request-idle.js.map +0 -1
  873. package/out/replicache/src/scan-iterator.js.map +0 -1
  874. package/out/replicache/src/scan-options.js.map +0 -1
  875. package/out/replicache/src/set-interval-with-signal.js.map +0 -1
  876. package/out/replicache/src/subscriptions.js.map +0 -1
  877. package/out/replicache/src/sync/diff.js.map +0 -1
  878. package/out/replicache/src/sync/ids.js.map +0 -1
  879. package/out/replicache/src/sync/patch.js.map +0 -1
  880. package/out/replicache/src/sync/pull-error.js.map +0 -1
  881. package/out/replicache/src/sync/pull.js +0 -166
  882. package/out/replicache/src/sync/pull.js.map +0 -1
  883. package/out/replicache/src/sync/push.js.map +0 -1
  884. package/out/replicache/src/sync/request-id.js.map +0 -1
  885. package/out/replicache/src/sync/sync-head-name.js.map +0 -1
  886. package/out/replicache/src/to-error.js.map +0 -1
  887. package/out/replicache/src/transaction-closed-error.js.map +0 -1
  888. package/out/replicache/src/transactions.js.map +0 -1
  889. package/out/replicache/src/version.js.map +0 -1
  890. package/out/replicache/src/with-transactions.js.map +0 -1
  891. package/out/shared/src/abort-error.js.map +0 -1
  892. package/out/shared/src/arrays.js.map +0 -1
  893. package/out/shared/src/asserts.js.map +0 -1
  894. package/out/shared/src/bigint-json.js.map +0 -1
  895. package/out/shared/src/binary-search.js.map +0 -1
  896. package/out/shared/src/broadcast-channel.js.map +0 -1
  897. package/out/shared/src/browser-env.js.map +0 -1
  898. package/out/shared/src/btree-set.js.map +0 -1
  899. package/out/shared/src/cache.js.map +0 -1
  900. package/out/shared/src/centroid.js.map +0 -1
  901. package/out/shared/src/config.js.map +0 -1
  902. package/out/shared/src/custom-key-map.js.map +0 -1
  903. package/out/shared/src/custom-key-set.js.map +0 -1
  904. package/out/shared/src/deep-clone.js.map +0 -1
  905. package/out/shared/src/deep-merge.js.map +0 -1
  906. package/out/shared/src/document-visible.js.map +0 -1
  907. package/out/shared/src/dotenv.js.map +0 -1
  908. package/out/shared/src/error.js.map +0 -1
  909. package/out/shared/src/has-own.js.map +0 -1
  910. package/out/shared/src/hash.js.map +0 -1
  911. package/out/shared/src/iterables.js.map +0 -1
  912. package/out/shared/src/json-schema.js.map +0 -1
  913. package/out/shared/src/json.js.map +0 -1
  914. package/out/shared/src/logging-test-utils.js.map +0 -1
  915. package/out/shared/src/logging.js.map +0 -1
  916. package/out/shared/src/must.js.map +0 -1
  917. package/out/shared/src/navigator.js.map +0 -1
  918. package/out/shared/src/object-traversal.js.map +0 -1
  919. package/out/shared/src/objects.js.map +0 -1
  920. package/out/shared/src/options.js.map +0 -1
  921. package/out/shared/src/parse-big-int.js.map +0 -1
  922. package/out/shared/src/promise-race.js.map +0 -1
  923. package/out/shared/src/queue.js +0 -126
  924. package/out/shared/src/queue.js.map +0 -1
  925. package/out/shared/src/rand.js.map +0 -1
  926. package/out/shared/src/random-uint64.js.map +0 -1
  927. package/out/shared/src/random-values.js.map +0 -1
  928. package/out/shared/src/record-proxy.js.map +0 -1
  929. package/out/shared/src/resolved-promises.js.map +0 -1
  930. package/out/shared/src/sentinels.js.map +0 -1
  931. package/out/shared/src/set-utils.js.map +0 -1
  932. package/out/shared/src/size-of-value.js.map +0 -1
  933. package/out/shared/src/sleep.js.map +0 -1
  934. package/out/shared/src/sorted-entries.js.map +0 -1
  935. package/out/shared/src/string-compare.js.map +0 -1
  936. package/out/shared/src/subscribable.js.map +0 -1
  937. package/out/shared/src/tdigest-schema.js.map +0 -1
  938. package/out/shared/src/tdigest.js.map +0 -1
  939. package/out/shared/src/valita.js +0 -172
  940. package/out/shared/src/valita.js.map +0 -1
  941. package/out/z2s/src/compiler.js.map +0 -1
  942. package/out/z2s/src/sql.js.map +0 -1
  943. package/out/zero/package.js +0 -205
  944. package/out/zero/package.js.map +0 -1
  945. package/out/zero-cache/src/auth/auth.js.map +0 -1
  946. package/out/zero-cache/src/auth/jwt.js.map +0 -1
  947. package/out/zero-cache/src/auth/load-permissions.js.map +0 -1
  948. package/out/zero-cache/src/auth/read-authorizer.js.map +0 -1
  949. package/out/zero-cache/src/auth/write-authorizer.js.map +0 -1
  950. package/out/zero-cache/src/config/network.js.map +0 -1
  951. package/out/zero-cache/src/config/normalize.js.map +0 -1
  952. package/out/zero-cache/src/config/server-context.js.map +0 -1
  953. package/out/zero-cache/src/config/zero-config.js +0 -916
  954. package/out/zero-cache/src/config/zero-config.js.map +0 -1
  955. package/out/zero-cache/src/custom/fetch.js.map +0 -1
  956. package/out/zero-cache/src/custom-queries/transform-query.js.map +0 -1
  957. package/out/zero-cache/src/db/create.js.map +0 -1
  958. package/out/zero-cache/src/db/delete-lite-db.js.map +0 -1
  959. package/out/zero-cache/src/db/lite-tables.js.map +0 -1
  960. package/out/zero-cache/src/db/migration-lite.js +0 -147
  961. package/out/zero-cache/src/db/migration-lite.js.map +0 -1
  962. package/out/zero-cache/src/db/migration.js +0 -120
  963. package/out/zero-cache/src/db/migration.js.map +0 -1
  964. package/out/zero-cache/src/db/mode-enum.js.map +0 -1
  965. package/out/zero-cache/src/db/pg-copy-binary.js.map +0 -1
  966. package/out/zero-cache/src/db/pg-copy.js.map +0 -1
  967. package/out/zero-cache/src/db/pg-to-lite.js.map +0 -1
  968. package/out/zero-cache/src/db/pg-type-parser.js.map +0 -1
  969. package/out/zero-cache/src/db/run-transaction.js.map +0 -1
  970. package/out/zero-cache/src/db/specs.js.map +0 -1
  971. package/out/zero-cache/src/db/statements.js.map +0 -1
  972. package/out/zero-cache/src/db/transaction-pool.js.map +0 -1
  973. package/out/zero-cache/src/db/warmup.js.map +0 -1
  974. package/out/zero-cache/src/observability/events.js.map +0 -1
  975. package/out/zero-cache/src/observability/metrics.js.map +0 -1
  976. package/out/zero-cache/src/scripts/decommission.js.map +0 -1
  977. package/out/zero-cache/src/scripts/deploy-permissions.js.map +0 -1
  978. package/out/zero-cache/src/scripts/permissions.js.map +0 -1
  979. package/out/zero-cache/src/server/anonymous-otel-start.js +0 -305
  980. package/out/zero-cache/src/server/anonymous-otel-start.js.map +0 -1
  981. package/out/zero-cache/src/server/inspector-delegate.js.map +0 -1
  982. package/out/zero-cache/src/server/logging.js.map +0 -1
  983. package/out/zero-cache/src/server/otel-diag-logger.js.map +0 -1
  984. package/out/zero-cache/src/server/otel-log-sink.js.map +0 -1
  985. package/out/zero-cache/src/server/otel-start.js +0 -53
  986. package/out/zero-cache/src/server/otel-start.js.map +0 -1
  987. package/out/zero-cache/src/server/priority-op.js.map +0 -1
  988. package/out/zero-cache/src/server/runner/main.js +0 -10
  989. package/out/zero-cache/src/server/runner/main.js.map +0 -1
  990. package/out/zero-cache/src/server/runner/run-worker.js.map +0 -1
  991. package/out/zero-cache/src/server/runner/runtime.js.map +0 -1
  992. package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +0 -1
  993. package/out/zero-cache/src/server/worker-dispatcher.js.map +0 -1
  994. package/out/zero-cache/src/server/worker-urls.js.map +0 -1
  995. package/out/zero-cache/src/services/analyze.js +0 -69
  996. package/out/zero-cache/src/services/analyze.js.map +0 -1
  997. package/out/zero-cache/src/services/change-source/common/backfill-manager.js.map +0 -1
  998. package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.js.map +0 -1
  999. package/out/zero-cache/src/services/change-source/common/replica-schema.js.map +0 -1
  1000. package/out/zero-cache/src/services/change-source/custom/change-source.js +0 -176
  1001. package/out/zero-cache/src/services/change-source/custom/change-source.js.map +0 -1
  1002. package/out/zero-cache/src/services/change-source/pg/backfill-metadata.js.map +0 -1
  1003. package/out/zero-cache/src/services/change-source/pg/backfill-stream.js +0 -197
  1004. package/out/zero-cache/src/services/change-source/pg/backfill-stream.js.map +0 -1
  1005. package/out/zero-cache/src/services/change-source/pg/change-source.js +0 -920
  1006. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +0 -1
  1007. package/out/zero-cache/src/services/change-source/pg/decommission.js.map +0 -1
  1008. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +0 -545
  1009. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +0 -1
  1010. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +0 -1
  1011. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js.map +0 -1
  1012. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +0 -1
  1013. package/out/zero-cache/src/services/change-source/pg/lsn.js.map +0 -1
  1014. package/out/zero-cache/src/services/change-source/pg/replication-slots.js +0 -162
  1015. package/out/zero-cache/src/services/change-source/pg/replication-slots.js.map +0 -1
  1016. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +0 -334
  1017. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +0 -1
  1018. package/out/zero-cache/src/services/change-source/pg/schema/init.js +0 -155
  1019. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +0 -1
  1020. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +0 -1
  1021. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +0 -330
  1022. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +0 -1
  1023. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +0 -1
  1024. package/out/zero-cache/src/services/change-source/protocol/current/control.js.map +0 -1
  1025. package/out/zero-cache/src/services/change-source/protocol/current/data.js +0 -192
  1026. package/out/zero-cache/src/services/change-source/protocol/current/data.js.map +0 -1
  1027. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js.map +0 -1
  1028. package/out/zero-cache/src/services/change-source/protocol/current/json.js.map +0 -1
  1029. package/out/zero-cache/src/services/change-source/protocol/current/path.js.map +0 -1
  1030. package/out/zero-cache/src/services/change-source/protocol/current/status.js.map +0 -1
  1031. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js.map +0 -1
  1032. package/out/zero-cache/src/services/change-source/protocol/current.js +0 -56
  1033. package/out/zero-cache/src/services/change-source/protocol/current.js.map +0 -1
  1034. package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +0 -1
  1035. package/out/zero-cache/src/services/change-streamer/broadcast.js.map +0 -1
  1036. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +0 -158
  1037. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +0 -1
  1038. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +0 -1
  1039. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +0 -1
  1040. package/out/zero-cache/src/services/change-streamer/forwarder.js.map +0 -1
  1041. package/out/zero-cache/src/services/change-streamer/replica-monitor.js.map +0 -1
  1042. package/out/zero-cache/src/services/change-streamer/schema/init.js +0 -74
  1043. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +0 -1
  1044. package/out/zero-cache/src/services/change-streamer/schema/tables.js +0 -191
  1045. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +0 -1
  1046. package/out/zero-cache/src/services/change-streamer/snapshot.js +0 -27
  1047. package/out/zero-cache/src/services/change-streamer/snapshot.js.map +0 -1
  1048. package/out/zero-cache/src/services/change-streamer/storer.js.map +0 -1
  1049. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +0 -1
  1050. package/out/zero-cache/src/services/heapz.js.map +0 -1
  1051. package/out/zero-cache/src/services/http-service.js.map +0 -1
  1052. package/out/zero-cache/src/services/life-cycle.js +0 -195
  1053. package/out/zero-cache/src/services/life-cycle.js.map +0 -1
  1054. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js.map +0 -1
  1055. package/out/zero-cache/src/services/litestream/commands.js.map +0 -1
  1056. package/out/zero-cache/src/services/mutagen/error.js.map +0 -1
  1057. package/out/zero-cache/src/services/mutagen/mutagen.js.map +0 -1
  1058. package/out/zero-cache/src/services/mutagen/pusher.js.map +0 -1
  1059. package/out/zero-cache/src/services/replicator/change-processor.js.map +0 -1
  1060. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +0 -1
  1061. package/out/zero-cache/src/services/replicator/notifier.js.map +0 -1
  1062. package/out/zero-cache/src/services/replicator/replication-status.js.map +0 -1
  1063. package/out/zero-cache/src/services/replicator/replicator.js.map +0 -1
  1064. package/out/zero-cache/src/services/replicator/reporter/recorder.js.map +0 -1
  1065. package/out/zero-cache/src/services/replicator/reporter/report-schema.js.map +0 -1
  1066. package/out/zero-cache/src/services/replicator/schema/change-log.js.map +0 -1
  1067. package/out/zero-cache/src/services/replicator/schema/column-metadata.js.map +0 -1
  1068. package/out/zero-cache/src/services/replicator/schema/constants.js.map +0 -1
  1069. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +0 -1
  1070. package/out/zero-cache/src/services/replicator/schema/table-metadata.js.map +0 -1
  1071. package/out/zero-cache/src/services/replicator/write-worker-client.js.map +0 -1
  1072. package/out/zero-cache/src/services/replicator/write-worker.js.map +0 -1
  1073. package/out/zero-cache/src/services/run-ast.js +0 -87
  1074. package/out/zero-cache/src/services/run-ast.js.map +0 -1
  1075. package/out/zero-cache/src/services/runner.js.map +0 -1
  1076. package/out/zero-cache/src/services/running-state.js +0 -136
  1077. package/out/zero-cache/src/services/running-state.js.map +0 -1
  1078. package/out/zero-cache/src/services/shadow-sync/shadow-sync-service.js +0 -50
  1079. package/out/zero-cache/src/services/shadow-sync/shadow-sync-service.js.map +0 -1
  1080. package/out/zero-cache/src/services/statz.js.map +0 -1
  1081. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js.map +0 -1
  1082. package/out/zero-cache/src/services/view-syncer/client-handler.js +0 -270
  1083. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +0 -1
  1084. package/out/zero-cache/src/services/view-syncer/client-schema.js.map +0 -1
  1085. package/out/zero-cache/src/services/view-syncer/connection-context-manager.js.map +0 -1
  1086. package/out/zero-cache/src/services/view-syncer/cvr-purger.js +0 -109
  1087. package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +0 -1
  1088. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +0 -1
  1089. package/out/zero-cache/src/services/view-syncer/cvr.js.map +0 -1
  1090. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +0 -1
  1091. package/out/zero-cache/src/services/view-syncer/inspect-handler.js +0 -102
  1092. package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +0 -1
  1093. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +0 -628
  1094. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +0 -1
  1095. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +0 -1
  1096. package/out/zero-cache/src/services/view-syncer/row-set-signature.js.map +0 -1
  1097. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +0 -1
  1098. package/out/zero-cache/src/services/view-syncer/schema/init.js +0 -158
  1099. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +0 -1
  1100. package/out/zero-cache/src/services/view-syncer/schema/types.js +0 -176
  1101. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +0 -1
  1102. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +0 -1
  1103. package/out/zero-cache/src/services/view-syncer/tracer.js.map +0 -1
  1104. package/out/zero-cache/src/services/view-syncer/ttl-clock.js.map +0 -1
  1105. package/out/zero-cache/src/services/view-syncer/view-syncer.js +0 -1235
  1106. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +0 -1
  1107. package/out/zero-cache/src/types/error-with-level.js.map +0 -1
  1108. package/out/zero-cache/src/types/http.js.map +0 -1
  1109. package/out/zero-cache/src/types/lexi-version.js.map +0 -1
  1110. package/out/zero-cache/src/types/lite.js.map +0 -1
  1111. package/out/zero-cache/src/types/names.js.map +0 -1
  1112. package/out/zero-cache/src/types/pg-data-type.js.map +0 -1
  1113. package/out/zero-cache/src/types/pg-types.js.map +0 -1
  1114. package/out/zero-cache/src/types/pg-versions.js.map +0 -1
  1115. package/out/zero-cache/src/types/pg.js +0 -189
  1116. package/out/zero-cache/src/types/pg.js.map +0 -1
  1117. package/out/zero-cache/src/types/processes.js.map +0 -1
  1118. package/out/zero-cache/src/types/profiler.js.map +0 -1
  1119. package/out/zero-cache/src/types/row-key.js.map +0 -1
  1120. package/out/zero-cache/src/types/shards.js.map +0 -1
  1121. package/out/zero-cache/src/types/sql.js.map +0 -1
  1122. package/out/zero-cache/src/types/state-version.js.map +0 -1
  1123. package/out/zero-cache/src/types/streams.js.map +0 -1
  1124. package/out/zero-cache/src/types/strings.js.map +0 -1
  1125. package/out/zero-cache/src/types/subscription.js.map +0 -1
  1126. package/out/zero-cache/src/types/timeout.js.map +0 -1
  1127. package/out/zero-cache/src/types/url-params.js.map +0 -1
  1128. package/out/zero-cache/src/types/websocket-handoff.js.map +0 -1
  1129. package/out/zero-cache/src/types/ws.js.map +0 -1
  1130. package/out/zero-cache/src/workers/connect-params.js.map +0 -1
  1131. package/out/zero-cache/src/workers/connection.js +0 -229
  1132. package/out/zero-cache/src/workers/connection.js.map +0 -1
  1133. package/out/zero-cache/src/workers/mutator.js.map +0 -1
  1134. package/out/zero-cache/src/workers/replicator.js.map +0 -1
  1135. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +0 -1
  1136. package/out/zero-cache/src/workers/syncer.js.map +0 -1
  1137. package/out/zero-client/src/client/active-clients-manager.js.map +0 -1
  1138. package/out/zero-client/src/client/client-error-kind-enum.js.map +0 -1
  1139. package/out/zero-client/src/client/connection-manager.js +0 -295
  1140. package/out/zero-client/src/client/connection-manager.js.map +0 -1
  1141. package/out/zero-client/src/client/connection-status-enum.js +0 -20
  1142. package/out/zero-client/src/client/connection-status-enum.js.map +0 -1
  1143. package/out/zero-client/src/client/connection.js.map +0 -1
  1144. package/out/zero-client/src/client/context.js.map +0 -1
  1145. package/out/zero-client/src/client/crud-impl.js +0 -61
  1146. package/out/zero-client/src/client/crud-impl.js.map +0 -1
  1147. package/out/zero-client/src/client/crud.js.map +0 -1
  1148. package/out/zero-client/src/client/custom.js +0 -63
  1149. package/out/zero-client/src/client/custom.js.map +0 -1
  1150. package/out/zero-client/src/client/delete-clients-manager.js.map +0 -1
  1151. package/out/zero-client/src/client/enable-analytics.js.map +0 -1
  1152. package/out/zero-client/src/client/error.js.map +0 -1
  1153. package/out/zero-client/src/client/http-string.js.map +0 -1
  1154. package/out/zero-client/src/client/inspector/client-group.js.map +0 -1
  1155. package/out/zero-client/src/client/inspector/client.js.map +0 -1
  1156. package/out/zero-client/src/client/inspector/html-dialog-prompt.js.map +0 -1
  1157. package/out/zero-client/src/client/inspector/inspector.js.map +0 -1
  1158. package/out/zero-client/src/client/inspector/lazy-inspector.js.map +0 -1
  1159. package/out/zero-client/src/client/inspector/query.js.map +0 -1
  1160. package/out/zero-client/src/client/ivm-branch.js.map +0 -1
  1161. package/out/zero-client/src/client/keys.js.map +0 -1
  1162. package/out/zero-client/src/client/log-options.js.map +0 -1
  1163. package/out/zero-client/src/client/make-mutate-property.js.map +0 -1
  1164. package/out/zero-client/src/client/make-replicache-mutators.js.map +0 -1
  1165. package/out/zero-client/src/client/metric-name-enum.js.map +0 -1
  1166. package/out/zero-client/src/client/metrics.js.map +0 -1
  1167. package/out/zero-client/src/client/mutation-tracker.js.map +0 -1
  1168. package/out/zero-client/src/client/mutator-proxy.js.map +0 -1
  1169. package/out/zero-client/src/client/options.js.map +0 -1
  1170. package/out/zero-client/src/client/query-manager.js.map +0 -1
  1171. package/out/zero-client/src/client/reload-error-handler.js.map +0 -1
  1172. package/out/zero-client/src/client/server-option.js.map +0 -1
  1173. package/out/zero-client/src/client/update-needed-reason-type-enum.js +0 -27
  1174. package/out/zero-client/src/client/update-needed-reason-type-enum.js.map +0 -1
  1175. package/out/zero-client/src/client/version.js +0 -9
  1176. package/out/zero-client/src/client/version.js.map +0 -1
  1177. package/out/zero-client/src/client/zero-poke-handler.js.map +0 -1
  1178. package/out/zero-client/src/client/zero-rep.js.map +0 -1
  1179. package/out/zero-client/src/client/zero.js +0 -1443
  1180. package/out/zero-client/src/client/zero.js.map +0 -1
  1181. package/out/zero-client/src/util/nanoid.js.map +0 -1
  1182. package/out/zero-client/src/util/socket.d.ts +0 -3
  1183. package/out/zero-client/src/util/socket.d.ts.map +0 -1
  1184. package/out/zero-client/src/util/socket.js +0 -8
  1185. package/out/zero-client/src/util/socket.js.map +0 -1
  1186. package/out/zero-protocol/src/analyze-query-result.js +0 -120
  1187. package/out/zero-protocol/src/analyze-query-result.js.map +0 -1
  1188. package/out/zero-protocol/src/application-error.js.map +0 -1
  1189. package/out/zero-protocol/src/ast.js.map +0 -1
  1190. package/out/zero-protocol/src/change-desired-queries.js +0 -12
  1191. package/out/zero-protocol/src/change-desired-queries.js.map +0 -1
  1192. package/out/zero-protocol/src/client-schema.js.map +0 -1
  1193. package/out/zero-protocol/src/close-connection.js.map +0 -1
  1194. package/out/zero-protocol/src/connect.js +0 -47
  1195. package/out/zero-protocol/src/connect.js.map +0 -1
  1196. package/out/zero-protocol/src/custom-queries.js.map +0 -1
  1197. package/out/zero-protocol/src/data.js.map +0 -1
  1198. package/out/zero-protocol/src/delete-clients.js.map +0 -1
  1199. package/out/zero-protocol/src/down.js.map +0 -1
  1200. package/out/zero-protocol/src/error-kind-enum.js.map +0 -1
  1201. package/out/zero-protocol/src/error-origin-enum.js.map +0 -1
  1202. package/out/zero-protocol/src/error-reason-enum.js.map +0 -1
  1203. package/out/zero-protocol/src/error.js +0 -84
  1204. package/out/zero-protocol/src/error.js.map +0 -1
  1205. package/out/zero-protocol/src/inspect-down.js.map +0 -1
  1206. package/out/zero-protocol/src/inspect-up.js +0 -34
  1207. package/out/zero-protocol/src/inspect-up.js.map +0 -1
  1208. package/out/zero-protocol/src/mutate-server.js.map +0 -1
  1209. package/out/zero-protocol/src/mutation-id.js.map +0 -1
  1210. package/out/zero-protocol/src/mutation-type-enum.js.map +0 -1
  1211. package/out/zero-protocol/src/mutation.js.map +0 -1
  1212. package/out/zero-protocol/src/mutations-patch.js.map +0 -1
  1213. package/out/zero-protocol/src/ping.js.map +0 -1
  1214. package/out/zero-protocol/src/poke.js +0 -59
  1215. package/out/zero-protocol/src/poke.js.map +0 -1
  1216. package/out/zero-protocol/src/pong.js.map +0 -1
  1217. package/out/zero-protocol/src/primary-key.js.map +0 -1
  1218. package/out/zero-protocol/src/protocol-version.js.map +0 -1
  1219. package/out/zero-protocol/src/pull.js.map +0 -1
  1220. package/out/zero-protocol/src/push.js +0 -60
  1221. package/out/zero-protocol/src/push.js.map +0 -1
  1222. package/out/zero-protocol/src/queries-patch.js.map +0 -1
  1223. package/out/zero-protocol/src/query-hash.js.map +0 -1
  1224. package/out/zero-protocol/src/query-server.js.map +0 -1
  1225. package/out/zero-protocol/src/row-patch.js.map +0 -1
  1226. package/out/zero-protocol/src/up.js.map +0 -1
  1227. package/out/zero-protocol/src/update-auth.js.map +0 -1
  1228. package/out/zero-protocol/src/version.js.map +0 -1
  1229. package/out/zero-react/src/use-connection-state.js +0 -17
  1230. package/out/zero-react/src/use-connection-state.js.map +0 -1
  1231. package/out/zero-react/src/use-query.js +0 -299
  1232. package/out/zero-react/src/use-query.js.map +0 -1
  1233. package/out/zero-react/src/use-zero-online.js +0 -20
  1234. package/out/zero-react/src/use-zero-online.js.map +0 -1
  1235. package/out/zero-react/src/zero-provider.js +0 -87
  1236. package/out/zero-react/src/zero-provider.js.map +0 -1
  1237. package/out/zero-schema/src/builder/relationship-builder.js.map +0 -1
  1238. package/out/zero-schema/src/builder/schema-builder.js.map +0 -1
  1239. package/out/zero-schema/src/builder/table-builder.js.map +0 -1
  1240. package/out/zero-schema/src/compiled-permissions.js.map +0 -1
  1241. package/out/zero-schema/src/name-mapper.js.map +0 -1
  1242. package/out/zero-schema/src/permissions.js.map +0 -1
  1243. package/out/zero-schema/src/schema-config.js.map +0 -1
  1244. package/out/zero-server/src/adapters/drizzle.js.map +0 -1
  1245. package/out/zero-server/src/adapters/kysely.js.map +0 -1
  1246. package/out/zero-server/src/adapters/pg.js +0 -83
  1247. package/out/zero-server/src/adapters/pg.js.map +0 -1
  1248. package/out/zero-server/src/adapters/postgresjs.js.map +0 -1
  1249. package/out/zero-server/src/adapters/prisma.js.map +0 -1
  1250. package/out/zero-server/src/custom.js +0 -214
  1251. package/out/zero-server/src/custom.js.map +0 -1
  1252. package/out/zero-server/src/logging.js.map +0 -1
  1253. package/out/zero-server/src/pg-query-executor.js.map +0 -1
  1254. package/out/zero-server/src/process-mutations.js.map +0 -1
  1255. package/out/zero-server/src/push-processor.js.map +0 -1
  1256. package/out/zero-server/src/queries/process-queries.js.map +0 -1
  1257. package/out/zero-server/src/schema.js.map +0 -1
  1258. package/out/zero-server/src/zql-database.js.map +0 -1
  1259. package/out/zero-solid/src/solid-view.js +0 -145
  1260. package/out/zero-solid/src/solid-view.js.map +0 -1
  1261. package/out/zero-solid/src/use-connection-state.js +0 -21
  1262. package/out/zero-solid/src/use-connection-state.js.map +0 -1
  1263. package/out/zero-solid/src/use-query.js +0 -64
  1264. package/out/zero-solid/src/use-query.js.map +0 -1
  1265. package/out/zero-solid/src/use-zero-online.js +0 -21
  1266. package/out/zero-solid/src/use-zero-online.js.map +0 -1
  1267. package/out/zero-solid/src/use-zero.js +0 -93
  1268. package/out/zero-solid/src/use-zero.js.map +0 -1
  1269. package/out/zero-types/src/format.js.map +0 -1
  1270. package/out/zero-types/src/name-mapper.js.map +0 -1
  1271. package/out/zql/src/builder/builder.js +0 -380
  1272. package/out/zql/src/builder/builder.js.map +0 -1
  1273. package/out/zql/src/builder/debug-delegate.js +0 -72
  1274. package/out/zql/src/builder/debug-delegate.js.map +0 -1
  1275. package/out/zql/src/builder/filter.js.map +0 -1
  1276. package/out/zql/src/builder/like.js.map +0 -1
  1277. package/out/zql/src/error.js.map +0 -1
  1278. package/out/zql/src/ivm/array-view.js.map +0 -1
  1279. package/out/zql/src/ivm/cap.js.map +0 -1
  1280. package/out/zql/src/ivm/change.js.map +0 -1
  1281. package/out/zql/src/ivm/constraint.js +0 -82
  1282. package/out/zql/src/ivm/constraint.js.map +0 -1
  1283. package/out/zql/src/ivm/data.js.map +0 -1
  1284. package/out/zql/src/ivm/exists.js.map +0 -1
  1285. package/out/zql/src/ivm/fan-in.js.map +0 -1
  1286. package/out/zql/src/ivm/fan-out.js.map +0 -1
  1287. package/out/zql/src/ivm/filter-operators.js.map +0 -1
  1288. package/out/zql/src/ivm/filter-push.js.map +0 -1
  1289. package/out/zql/src/ivm/filter.js.map +0 -1
  1290. package/out/zql/src/ivm/flipped-join.js +0 -311
  1291. package/out/zql/src/ivm/flipped-join.js.map +0 -1
  1292. package/out/zql/src/ivm/join-utils.js.map +0 -1
  1293. package/out/zql/src/ivm/join.js.map +0 -1
  1294. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +0 -1
  1295. package/out/zql/src/ivm/memory-source.js.map +0 -1
  1296. package/out/zql/src/ivm/memory-storage.js.map +0 -1
  1297. package/out/zql/src/ivm/operator.js.map +0 -1
  1298. package/out/zql/src/ivm/push-accumulated.js.map +0 -1
  1299. package/out/zql/src/ivm/skip-yields.js.map +0 -1
  1300. package/out/zql/src/ivm/skip.js.map +0 -1
  1301. package/out/zql/src/ivm/source.js.map +0 -1
  1302. package/out/zql/src/ivm/stream.js.map +0 -1
  1303. package/out/zql/src/ivm/take.js.map +0 -1
  1304. package/out/zql/src/ivm/union-fan-in.js +0 -163
  1305. package/out/zql/src/ivm/union-fan-in.js.map +0 -1
  1306. package/out/zql/src/ivm/union-fan-out.js.map +0 -1
  1307. package/out/zql/src/ivm/view-apply-change.js.map +0 -1
  1308. package/out/zql/src/mutate/crud.js.map +0 -1
  1309. package/out/zql/src/mutate/custom.js.map +0 -1
  1310. package/out/zql/src/mutate/mutator-registry.js.map +0 -1
  1311. package/out/zql/src/mutate/mutator.js.map +0 -1
  1312. package/out/zql/src/planner/planner-builder.js.map +0 -1
  1313. package/out/zql/src/planner/planner-connection.js.map +0 -1
  1314. package/out/zql/src/planner/planner-constraint.js.map +0 -1
  1315. package/out/zql/src/planner/planner-debug.js.map +0 -1
  1316. package/out/zql/src/planner/planner-fan-in.js.map +0 -1
  1317. package/out/zql/src/planner/planner-fan-out.js.map +0 -1
  1318. package/out/zql/src/planner/planner-graph.js.map +0 -1
  1319. package/out/zql/src/planner/planner-join.js +0 -261
  1320. package/out/zql/src/planner/planner-join.js.map +0 -1
  1321. package/out/zql/src/planner/planner-node.js.map +0 -1
  1322. package/out/zql/src/planner/planner-source.js.map +0 -1
  1323. package/out/zql/src/planner/planner-terminus.js.map +0 -1
  1324. package/out/zql/src/query/complete-ordering.js.map +0 -1
  1325. package/out/zql/src/query/create-builder.js.map +0 -1
  1326. package/out/zql/src/query/error.js.map +0 -1
  1327. package/out/zql/src/query/escape-like.js.map +0 -1
  1328. package/out/zql/src/query/expression.js.map +0 -1
  1329. package/out/zql/src/query/measure-push-operator.js.map +0 -1
  1330. package/out/zql/src/query/metrics-delegate.js.map +0 -1
  1331. package/out/zql/src/query/named.js.map +0 -1
  1332. package/out/zql/src/query/query-delegate-base.js.map +0 -1
  1333. package/out/zql/src/query/query-impl.js +0 -290
  1334. package/out/zql/src/query/query-impl.js.map +0 -1
  1335. package/out/zql/src/query/query-internals.js.map +0 -1
  1336. package/out/zql/src/query/query-registry.js.map +0 -1
  1337. package/out/zql/src/query/runnable-query-impl.js.map +0 -1
  1338. package/out/zql/src/query/static-query.js.map +0 -1
  1339. package/out/zql/src/query/ttl.js.map +0 -1
  1340. package/out/zql/src/query/validate-input.js.map +0 -1
  1341. package/out/zqlite/src/database-storage.js.map +0 -1
  1342. package/out/zqlite/src/db.js.map +0 -1
  1343. package/out/zqlite/src/explain-queries.js.map +0 -1
  1344. package/out/zqlite/src/internal/sql-inline.js.map +0 -1
  1345. package/out/zqlite/src/internal/sql.js.map +0 -1
  1346. package/out/zqlite/src/internal/statement-cache.js.map +0 -1
  1347. package/out/zqlite/src/query-builder.js.map +0 -1
  1348. package/out/zqlite/src/query-delegate.js.map +0 -1
  1349. package/out/zqlite/src/resolve-scalar-subqueries.js.map +0 -1
  1350. package/out/zqlite/src/sqlite-cost-model.js.map +0 -1
  1351. package/out/zqlite/src/sqlite-stat-fanout.js.map +0 -1
  1352. package/out/zqlite/src/table-source.js +0 -313
  1353. package/out/zqlite/src/table-source.js.map +0 -1
  1354. /package/out/{analyze-query → packages/analyze-query}/src/bin-transform.js +0 -0
  1355. /package/out/{ast-to-zql → packages/ast-to-zql}/src/ast-to-zql.js +0 -0
  1356. /package/out/{ast-to-zql → packages/ast-to-zql}/src/bin.js +0 -0
  1357. /package/out/{ast-to-zql → packages/ast-to-zql}/src/format.js +0 -0
  1358. /package/out/{datadog → packages/datadog}/src/datadog-log-sink.js +0 -0
  1359. /package/out/{otel → packages/otel}/src/enabled.js +0 -0
  1360. /package/out/{otel → packages/otel}/src/log-options.js +0 -0
  1361. /package/out/{otel → packages/otel}/src/maybe-time.js +0 -0
  1362. /package/out/{otel → packages/otel}/src/span.js +0 -0
  1363. /package/out/{otel → packages/otel}/src/version.js +0 -0
  1364. /package/out/{replicache → packages/replicache}/src/async-iterable-to-array.js +0 -0
  1365. /package/out/{replicache → packages/replicache}/src/bg-interval.js +0 -0
  1366. /package/out/{replicache → packages/replicache}/src/btree/diff.js +0 -0
  1367. /package/out/{replicache → packages/replicache}/src/btree/node.js +0 -0
  1368. /package/out/{replicache → packages/replicache}/src/btree/read.js +0 -0
  1369. /package/out/{replicache → packages/replicache}/src/btree/splice.js +0 -0
  1370. /package/out/{replicache → packages/replicache}/src/call-default-fetch.js +0 -0
  1371. /package/out/{replicache → packages/replicache}/src/config.js +0 -0
  1372. /package/out/{replicache → packages/replicache}/src/connection-loop-delegates.js +0 -0
  1373. /package/out/{replicache → packages/replicache}/src/connection-loop.js +0 -0
  1374. /package/out/{replicache → packages/replicache}/src/cookies.js +0 -0
  1375. /package/out/{replicache → packages/replicache}/src/dag/chunk.js +0 -0
  1376. /package/out/{replicache → packages/replicache}/src/dag/gc.js +0 -0
  1377. /package/out/{replicache → packages/replicache}/src/dag/key.js +0 -0
  1378. /package/out/{replicache → packages/replicache}/src/dag/lazy-store.js +0 -0
  1379. /package/out/{replicache → packages/replicache}/src/dag/store.js +0 -0
  1380. /package/out/{replicache → packages/replicache}/src/dag/visitor.js +0 -0
  1381. /package/out/{replicache → packages/replicache}/src/db/commit.js +0 -0
  1382. /package/out/{replicache → packages/replicache}/src/db/index.js +0 -0
  1383. /package/out/{replicache → packages/replicache}/src/db/read.js +0 -0
  1384. /package/out/{replicache → packages/replicache}/src/db/rebase.js +0 -0
  1385. /package/out/{replicache → packages/replicache}/src/db/write.js +0 -0
  1386. /package/out/{replicache → packages/replicache}/src/deleted-clients.js +0 -0
  1387. /package/out/{replicache → packages/replicache}/src/error-responses.js +0 -0
  1388. /package/out/{replicache → packages/replicache}/src/expo-sqlite.js +0 -0
  1389. /package/out/{replicache → packages/replicache}/src/frozen-json.js +0 -0
  1390. /package/out/{replicache → packages/replicache}/src/get-default-puller.js +0 -0
  1391. /package/out/{replicache → packages/replicache}/src/get-default-pusher.js +0 -0
  1392. /package/out/{replicache → packages/replicache}/src/get-kv-store-provider.js +0 -0
  1393. /package/out/{replicache → packages/replicache}/src/hash.js +0 -0
  1394. /package/out/{replicache → packages/replicache}/src/http-request-info.js +0 -0
  1395. /package/out/{replicache → packages/replicache}/src/impl.js +0 -0
  1396. /package/out/{replicache → packages/replicache}/src/index-defs.js +0 -0
  1397. /package/out/{replicache → packages/replicache}/src/kv/idb-store-with-mem-fallback.js +0 -0
  1398. /package/out/{replicache → packages/replicache}/src/kv/idb-store.js +0 -0
  1399. /package/out/{replicache → packages/replicache}/src/kv/mem-store.js +0 -0
  1400. /package/out/{replicache → packages/replicache}/src/kv/op-sqlite/types.js +0 -0
  1401. /package/out/{replicache → packages/replicache}/src/kv/read-impl.js +0 -0
  1402. /package/out/{replicache → packages/replicache}/src/kv/write-impl-base.js +0 -0
  1403. /package/out/{replicache → packages/replicache}/src/kv/write-impl.js +0 -0
  1404. /package/out/{replicache → packages/replicache}/src/lazy.js +0 -0
  1405. /package/out/{replicache → packages/replicache}/src/log-options.js +0 -0
  1406. /package/out/{replicache → packages/replicache}/src/make-idb-name.js +0 -0
  1407. /package/out/{replicache → packages/replicache}/src/mutation-recovery.js +0 -0
  1408. /package/out/{replicache → packages/replicache}/src/new-client-channel.js +0 -0
  1409. /package/out/{replicache → packages/replicache}/src/on-persist-channel.js +0 -0
  1410. /package/out/{replicache → packages/replicache}/src/op-sqlite.js +0 -0
  1411. /package/out/{replicache → packages/replicache}/src/patch-operation.js +0 -0
  1412. /package/out/{replicache → packages/replicache}/src/pending-mutations.js +0 -0
  1413. /package/out/{replicache → packages/replicache}/src/persist/client-gc.js +0 -0
  1414. /package/out/{replicache → packages/replicache}/src/persist/client-group-gc.js +0 -0
  1415. /package/out/{replicache → packages/replicache}/src/persist/collect-idb-databases.js +0 -0
  1416. /package/out/{replicache → packages/replicache}/src/persist/gather-mem-only-visitor.js +0 -0
  1417. /package/out/{replicache → packages/replicache}/src/persist/gather-not-cached-visitor.js +0 -0
  1418. /package/out/{replicache → packages/replicache}/src/persist/heartbeat.js +0 -0
  1419. /package/out/{replicache → packages/replicache}/src/persist/idb-databases-store-db-name.js +0 -0
  1420. /package/out/{replicache → packages/replicache}/src/persist/idb-databases-store.js +0 -0
  1421. /package/out/{replicache → packages/replicache}/src/persist/make-client-id.js +0 -0
  1422. /package/out/{replicache → packages/replicache}/src/persist/refresh.js +0 -0
  1423. /package/out/{replicache → packages/replicache}/src/process-scheduler.js +0 -0
  1424. /package/out/{replicache → packages/replicache}/src/pusher.js +0 -0
  1425. /package/out/{replicache → packages/replicache}/src/replicache-impl.js +0 -0
  1426. /package/out/{replicache → packages/replicache}/src/report-error.js +0 -0
  1427. /package/out/{replicache → packages/replicache}/src/request-idle.js +0 -0
  1428. /package/out/{replicache → packages/replicache}/src/scan-iterator.js +0 -0
  1429. /package/out/{replicache → packages/replicache}/src/scan-options.js +0 -0
  1430. /package/out/{replicache → packages/replicache}/src/set-interval-with-signal.js +0 -0
  1431. /package/out/{replicache → packages/replicache}/src/sqlite.js +0 -0
  1432. /package/out/{replicache → packages/replicache}/src/subscriptions.js +0 -0
  1433. /package/out/{replicache → packages/replicache}/src/sync/diff.js +0 -0
  1434. /package/out/{replicache → packages/replicache}/src/sync/ids.js +0 -0
  1435. /package/out/{replicache → packages/replicache}/src/sync/patch.js +0 -0
  1436. /package/out/{replicache → packages/replicache}/src/sync/pull-error.js +0 -0
  1437. /package/out/{replicache → packages/replicache}/src/sync/push.js +0 -0
  1438. /package/out/{replicache → packages/replicache}/src/sync/request-id.js +0 -0
  1439. /package/out/{replicache → packages/replicache}/src/sync/sync-head-name.js +0 -0
  1440. /package/out/{replicache → packages/replicache}/src/to-error.js +0 -0
  1441. /package/out/{replicache → packages/replicache}/src/transaction-closed-error.js +0 -0
  1442. /package/out/{replicache → packages/replicache}/src/transactions.js +0 -0
  1443. /package/out/{replicache → packages/replicache}/src/version.js +0 -0
  1444. /package/out/{replicache → packages/replicache}/src/with-transactions.js +0 -0
  1445. /package/out/{shared → packages/shared}/src/abort-error.js +0 -0
  1446. /package/out/{shared → packages/shared}/src/arrays.js +0 -0
  1447. /package/out/{shared → packages/shared}/src/asserts.js +0 -0
  1448. /package/out/{shared → packages/shared}/src/bigint-json.js +0 -0
  1449. /package/out/{shared → packages/shared}/src/binary-search.js +0 -0
  1450. /package/out/{shared → packages/shared}/src/broadcast-channel.js +0 -0
  1451. /package/out/{shared → packages/shared}/src/browser-env.js +0 -0
  1452. /package/out/{shared → packages/shared}/src/btree-set.js +0 -0
  1453. /package/out/{shared → packages/shared}/src/cache.js +0 -0
  1454. /package/out/{shared → packages/shared}/src/centroid.js +0 -0
  1455. /package/out/{shared → packages/shared}/src/config.js +0 -0
  1456. /package/out/{shared → packages/shared}/src/custom-key-map.js +0 -0
  1457. /package/out/{shared → packages/shared}/src/custom-key-set.js +0 -0
  1458. /package/out/{shared → packages/shared}/src/deep-clone.js +0 -0
  1459. /package/out/{shared → packages/shared}/src/deep-merge.js +0 -0
  1460. /package/out/{shared → packages/shared}/src/document-visible.js +0 -0
  1461. /package/out/{shared → packages/shared}/src/dotenv.js +0 -0
  1462. /package/out/{shared → packages/shared}/src/error.js +0 -0
  1463. /package/out/{shared → packages/shared}/src/has-own.js +0 -0
  1464. /package/out/{shared → packages/shared}/src/hash.js +0 -0
  1465. /package/out/{shared → packages/shared}/src/iterables.js +0 -0
  1466. /package/out/{shared → packages/shared}/src/json-schema.js +0 -0
  1467. /package/out/{shared → packages/shared}/src/json.js +0 -0
  1468. /package/out/{shared → packages/shared}/src/logging-test-utils.js +0 -0
  1469. /package/out/{shared → packages/shared}/src/logging.js +0 -0
  1470. /package/out/{shared → packages/shared}/src/must.js +0 -0
  1471. /package/out/{shared → packages/shared}/src/navigator.js +0 -0
  1472. /package/out/{shared → packages/shared}/src/object-traversal.js +0 -0
  1473. /package/out/{shared → packages/shared}/src/objects.js +0 -0
  1474. /package/out/{shared → packages/shared}/src/options.js +0 -0
  1475. /package/out/{shared → packages/shared}/src/parse-big-int.js +0 -0
  1476. /package/out/{shared → packages/shared}/src/promise-race.js +0 -0
  1477. /package/out/{shared → packages/shared}/src/rand.js +0 -0
  1478. /package/out/{shared → packages/shared}/src/random-uint64.js +0 -0
  1479. /package/out/{shared → packages/shared}/src/random-values.js +0 -0
  1480. /package/out/{shared → packages/shared}/src/record-proxy.js +0 -0
  1481. /package/out/{shared → packages/shared}/src/resolved-promises.js +0 -0
  1482. /package/out/{shared → packages/shared}/src/sentinels.js +0 -0
  1483. /package/out/{shared → packages/shared}/src/set-utils.js +0 -0
  1484. /package/out/{shared → packages/shared}/src/size-of-value.js +0 -0
  1485. /package/out/{shared → packages/shared}/src/sleep.js +0 -0
  1486. /package/out/{shared → packages/shared}/src/sorted-entries.js +0 -0
  1487. /package/out/{shared → packages/shared}/src/string-compare.js +0 -0
  1488. /package/out/{shared → packages/shared}/src/subscribable.js +0 -0
  1489. /package/out/{shared → packages/shared}/src/tdigest-schema.js +0 -0
  1490. /package/out/{shared → packages/shared}/src/tdigest.js +0 -0
  1491. /package/out/{z2s → packages/z2s}/src/compiler.js +0 -0
  1492. /package/out/{z2s → packages/z2s}/src/sql.js +0 -0
  1493. /package/out/{zero → packages/zero}/src/server/runner/main.js +0 -0
  1494. /package/out/{zero-cache → packages/zero-cache}/src/auth/auth.js +0 -0
  1495. /package/out/{zero-cache → packages/zero-cache}/src/auth/jwt.js +0 -0
  1496. /package/out/{zero-cache → packages/zero-cache}/src/auth/load-permissions.js +0 -0
  1497. /package/out/{zero-cache → packages/zero-cache}/src/auth/read-authorizer.js +0 -0
  1498. /package/out/{zero-cache → packages/zero-cache}/src/auth/write-authorizer.js +0 -0
  1499. /package/out/{zero-cache → packages/zero-cache}/src/config/network.js +0 -0
  1500. /package/out/{zero-cache → packages/zero-cache}/src/config/normalize.js +0 -0
  1501. /package/out/{zero-cache → packages/zero-cache}/src/config/server-context.js +0 -0
  1502. /package/out/{zero-cache → packages/zero-cache}/src/custom/fetch.js +0 -0
  1503. /package/out/{zero-cache → packages/zero-cache}/src/custom-queries/transform-query.js +0 -0
  1504. /package/out/{zero-cache → packages/zero-cache}/src/db/create.js +0 -0
  1505. /package/out/{zero-cache → packages/zero-cache}/src/db/delete-lite-db.js +0 -0
  1506. /package/out/{zero-cache → packages/zero-cache}/src/db/lite-tables.js +0 -0
  1507. /package/out/{zero-cache → packages/zero-cache}/src/db/mode-enum.js +0 -0
  1508. /package/out/{zero-cache → packages/zero-cache}/src/db/pg-copy-binary.js +0 -0
  1509. /package/out/{zero-cache → packages/zero-cache}/src/db/pg-copy.js +0 -0
  1510. /package/out/{zero-cache → packages/zero-cache}/src/db/pg-to-lite.js +0 -0
  1511. /package/out/{zero-cache → packages/zero-cache}/src/db/pg-type-parser.js +0 -0
  1512. /package/out/{zero-cache → packages/zero-cache}/src/db/run-transaction.js +0 -0
  1513. /package/out/{zero-cache → packages/zero-cache}/src/db/specs.js +0 -0
  1514. /package/out/{zero-cache → packages/zero-cache}/src/db/statements.js +0 -0
  1515. /package/out/{zero-cache → packages/zero-cache}/src/db/transaction-pool.js +0 -0
  1516. /package/out/{zero-cache → packages/zero-cache}/src/db/warmup.js +0 -0
  1517. /package/out/{zero-cache → packages/zero-cache}/src/observability/events.js +0 -0
  1518. /package/out/{zero-cache → packages/zero-cache}/src/observability/metrics.js +0 -0
  1519. /package/out/{zero-cache → packages/zero-cache}/src/scripts/decommission.js +0 -0
  1520. /package/out/{zero-cache → packages/zero-cache}/src/scripts/deploy-permissions.js +0 -0
  1521. /package/out/{zero-cache → packages/zero-cache}/src/scripts/permissions.js +0 -0
  1522. /package/out/{zero-cache → packages/zero-cache}/src/server/inspector-delegate.js +0 -0
  1523. /package/out/{zero-cache → packages/zero-cache}/src/server/logging.js +0 -0
  1524. /package/out/{zero-cache → packages/zero-cache}/src/server/otel-diag-logger.js +0 -0
  1525. /package/out/{zero-cache → packages/zero-cache}/src/server/otel-log-sink.js +0 -0
  1526. /package/out/{zero-cache → packages/zero-cache}/src/server/priority-op.js +0 -0
  1527. /package/out/{zero-cache → packages/zero-cache}/src/server/runner/run-worker.js +0 -0
  1528. /package/out/{zero-cache → packages/zero-cache}/src/server/runner/runtime.js +0 -0
  1529. /package/out/{zero-cache → packages/zero-cache}/src/server/runner/zero-dispatcher.js +0 -0
  1530. /package/out/{zero-cache → packages/zero-cache}/src/server/worker-dispatcher.js +0 -0
  1531. /package/out/{zero-cache → packages/zero-cache}/src/server/worker-urls.js +0 -0
  1532. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/common/backfill-manager.js +0 -0
  1533. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/common/change-stream-multiplexer.js +0 -0
  1534. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/common/replica-schema.js +0 -0
  1535. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/backfill-metadata.js +0 -0
  1536. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/decommission.js +0 -0
  1537. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/logical-replication/binary-reader.js +0 -0
  1538. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/logical-replication/pgoutput-parser.js +0 -0
  1539. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/logical-replication/stream.js +0 -0
  1540. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/lsn.js +0 -0
  1541. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/schema/published.js +0 -0
  1542. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/schema/validation.js +0 -0
  1543. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/control.js +0 -0
  1544. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/downstream.js +0 -0
  1545. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/json.js +0 -0
  1546. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/path.js +0 -0
  1547. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/status.js +0 -0
  1548. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/upstream.js +0 -0
  1549. /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/mod.js +0 -0
  1550. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/backup-monitor.js +0 -0
  1551. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/broadcast.js +0 -0
  1552. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/change-streamer-service.js +0 -0
  1553. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/change-streamer.js +0 -0
  1554. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/forwarder.js +0 -0
  1555. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/replica-monitor.js +0 -0
  1556. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/storer.js +0 -0
  1557. /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/subscriber.js +0 -0
  1558. /package/out/{zero-cache → packages/zero-cache}/src/services/heapz.js +0 -0
  1559. /package/out/{zero-cache → packages/zero-cache}/src/services/http-service.js +0 -0
  1560. /package/out/{zero-cache → packages/zero-cache}/src/services/limiter/sliding-window-limiter.js +0 -0
  1561. /package/out/{zero-cache → packages/zero-cache}/src/services/litestream/commands.js +0 -0
  1562. /package/out/{zero-cache → packages/zero-cache}/src/services/mutagen/error.js +0 -0
  1563. /package/out/{zero-cache → packages/zero-cache}/src/services/mutagen/mutagen.js +0 -0
  1564. /package/out/{zero-cache → packages/zero-cache}/src/services/mutagen/pusher.js +0 -0
  1565. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/change-processor.js +0 -0
  1566. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/incremental-sync.js +0 -0
  1567. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/notifier.js +0 -0
  1568. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/replication-status.js +0 -0
  1569. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/replicator.js +0 -0
  1570. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/reporter/recorder.js +0 -0
  1571. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/reporter/report-schema.js +0 -0
  1572. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/change-log.js +0 -0
  1573. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/column-metadata.js +0 -0
  1574. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/constants.js +0 -0
  1575. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/replication-state.js +0 -0
  1576. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/table-metadata.js +0 -0
  1577. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/write-worker-client.js +0 -0
  1578. /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/write-worker.js +0 -0
  1579. /package/out/{zero-cache → packages/zero-cache}/src/services/runner.js +0 -0
  1580. /package/out/{zero-cache → packages/zero-cache}/src/services/statz.js +0 -0
  1581. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/active-users-gauge.js +0 -0
  1582. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/client-schema.js +0 -0
  1583. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/connection-context-manager.js +0 -0
  1584. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/cvr-store.js +0 -0
  1585. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/cvr.js +0 -0
  1586. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/drain-coordinator.js +0 -0
  1587. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/row-record-cache.js +0 -0
  1588. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/row-set-signature.js +0 -0
  1589. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/schema/cvr.js +0 -0
  1590. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/snapshotter.js +0 -0
  1591. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/tracer.js +0 -0
  1592. /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/ttl-clock.js +0 -0
  1593. /package/out/{zero-cache → packages/zero-cache}/src/types/error-with-level.js +0 -0
  1594. /package/out/{zero-cache → packages/zero-cache}/src/types/http.js +0 -0
  1595. /package/out/{zero-cache → packages/zero-cache}/src/types/lexi-version.js +0 -0
  1596. /package/out/{zero-cache → packages/zero-cache}/src/types/lite.js +0 -0
  1597. /package/out/{zero-cache → packages/zero-cache}/src/types/names.js +0 -0
  1598. /package/out/{zero-cache → packages/zero-cache}/src/types/pg-data-type.js +0 -0
  1599. /package/out/{zero-cache → packages/zero-cache}/src/types/pg-types.js +0 -0
  1600. /package/out/{zero-cache → packages/zero-cache}/src/types/pg-versions.js +0 -0
  1601. /package/out/{zero-cache → packages/zero-cache}/src/types/processes.js +0 -0
  1602. /package/out/{zero-cache → packages/zero-cache}/src/types/profiler.js +0 -0
  1603. /package/out/{zero-cache → packages/zero-cache}/src/types/row-key.js +0 -0
  1604. /package/out/{zero-cache → packages/zero-cache}/src/types/shards.js +0 -0
  1605. /package/out/{zero-cache → packages/zero-cache}/src/types/sql.js +0 -0
  1606. /package/out/{zero-cache → packages/zero-cache}/src/types/state-version.js +0 -0
  1607. /package/out/{zero-cache → packages/zero-cache}/src/types/streams.js +0 -0
  1608. /package/out/{zero-cache → packages/zero-cache}/src/types/strings.js +0 -0
  1609. /package/out/{zero-cache → packages/zero-cache}/src/types/subscription.js +0 -0
  1610. /package/out/{zero-cache → packages/zero-cache}/src/types/timeout.js +0 -0
  1611. /package/out/{zero-cache → packages/zero-cache}/src/types/url-params.js +0 -0
  1612. /package/out/{zero-cache → packages/zero-cache}/src/types/websocket-handoff.js +0 -0
  1613. /package/out/{zero-cache → packages/zero-cache}/src/types/ws.js +0 -0
  1614. /package/out/{zero-cache → packages/zero-cache}/src/workers/connect-params.js +0 -0
  1615. /package/out/{zero-cache → packages/zero-cache}/src/workers/mutator.js +0 -0
  1616. /package/out/{zero-cache → packages/zero-cache}/src/workers/replicator.js +0 -0
  1617. /package/out/{zero-cache → packages/zero-cache}/src/workers/syncer-ws-message-handler.js +0 -0
  1618. /package/out/{zero-cache → packages/zero-cache}/src/workers/syncer.js +0 -0
  1619. /package/out/{zero-client → packages/zero-client}/src/client/active-clients-manager.js +0 -0
  1620. /package/out/{zero-client → packages/zero-client}/src/client/bindings.js +0 -0
  1621. /package/out/{zero-client → packages/zero-client}/src/client/client-error-kind-enum.js +0 -0
  1622. /package/out/{zero-client → packages/zero-client}/src/client/connection.js +0 -0
  1623. /package/out/{zero-client → packages/zero-client}/src/client/context.js +0 -0
  1624. /package/out/{zero-client → packages/zero-client}/src/client/crud.js +0 -0
  1625. /package/out/{zero-client → packages/zero-client}/src/client/delete-clients-manager.js +0 -0
  1626. /package/out/{zero-client → packages/zero-client}/src/client/enable-analytics.js +0 -0
  1627. /package/out/{zero-client → packages/zero-client}/src/client/error.js +0 -0
  1628. /package/out/{zero-client → packages/zero-client}/src/client/http-string.js +0 -0
  1629. /package/out/{zero-client → packages/zero-client}/src/client/inspector/client-group.js +0 -0
  1630. /package/out/{zero-client → packages/zero-client}/src/client/inspector/client.js +0 -0
  1631. /package/out/{zero-client → packages/zero-client}/src/client/inspector/html-dialog-prompt.js +0 -0
  1632. /package/out/{zero-client → packages/zero-client}/src/client/inspector/inspector.js +0 -0
  1633. /package/out/{zero-client → packages/zero-client}/src/client/inspector/lazy-inspector.js +0 -0
  1634. /package/out/{zero-client → packages/zero-client}/src/client/inspector/query.js +0 -0
  1635. /package/out/{zero-client → packages/zero-client}/src/client/ivm-branch.js +0 -0
  1636. /package/out/{zero-client → packages/zero-client}/src/client/keys.js +0 -0
  1637. /package/out/{zero-client → packages/zero-client}/src/client/log-options.js +0 -0
  1638. /package/out/{zero-client → packages/zero-client}/src/client/make-mutate-property.js +0 -0
  1639. /package/out/{zero-client → packages/zero-client}/src/client/make-replicache-mutators.js +0 -0
  1640. /package/out/{zero-client → packages/zero-client}/src/client/metric-name-enum.js +0 -0
  1641. /package/out/{zero-client → packages/zero-client}/src/client/metrics.js +0 -0
  1642. /package/out/{zero-client → packages/zero-client}/src/client/mutation-tracker.js +0 -0
  1643. /package/out/{zero-client → packages/zero-client}/src/client/mutator-proxy.js +0 -0
  1644. /package/out/{zero-client → packages/zero-client}/src/client/options.js +0 -0
  1645. /package/out/{zero-client → packages/zero-client}/src/client/query-manager.js +0 -0
  1646. /package/out/{zero-client → packages/zero-client}/src/client/reload-error-handler.js +0 -0
  1647. /package/out/{zero-client → packages/zero-client}/src/client/server-option.js +0 -0
  1648. /package/out/{zero-client → packages/zero-client}/src/client/zero-poke-handler.js +0 -0
  1649. /package/out/{zero-client → packages/zero-client}/src/client/zero-rep.js +0 -0
  1650. /package/out/{zero-client → packages/zero-client}/src/mod.js +0 -0
  1651. /package/out/{zero-client → packages/zero-client}/src/util/nanoid.js +0 -0
  1652. /package/out/{zero-pg → packages/zero-pg}/src/mod.js +0 -0
  1653. /package/out/{zero-protocol → packages/zero-protocol}/src/application-error.js +0 -0
  1654. /package/out/{zero-protocol → packages/zero-protocol}/src/ast.js +0 -0
  1655. /package/out/{zero-protocol → packages/zero-protocol}/src/client-schema.js +0 -0
  1656. /package/out/{zero-protocol → packages/zero-protocol}/src/close-connection.js +0 -0
  1657. /package/out/{zero-protocol → packages/zero-protocol}/src/custom-queries.js +0 -0
  1658. /package/out/{zero-protocol → packages/zero-protocol}/src/data.js +0 -0
  1659. /package/out/{zero-protocol → packages/zero-protocol}/src/delete-clients.js +0 -0
  1660. /package/out/{zero-protocol → packages/zero-protocol}/src/down.js +0 -0
  1661. /package/out/{zero-protocol → packages/zero-protocol}/src/error-kind-enum.js +0 -0
  1662. /package/out/{zero-protocol → packages/zero-protocol}/src/error-origin-enum.js +0 -0
  1663. /package/out/{zero-protocol → packages/zero-protocol}/src/error-reason-enum.js +0 -0
  1664. /package/out/{zero-protocol → packages/zero-protocol}/src/inspect-down.js +0 -0
  1665. /package/out/{zero-protocol → packages/zero-protocol}/src/mutate-server.js +0 -0
  1666. /package/out/{zero-protocol → packages/zero-protocol}/src/mutation-id.js +0 -0
  1667. /package/out/{zero-protocol → packages/zero-protocol}/src/mutation-type-enum.js +0 -0
  1668. /package/out/{zero-protocol → packages/zero-protocol}/src/mutation.js +0 -0
  1669. /package/out/{zero-protocol → packages/zero-protocol}/src/mutations-patch.js +0 -0
  1670. /package/out/{zero-protocol → packages/zero-protocol}/src/ping.js +0 -0
  1671. /package/out/{zero-protocol → packages/zero-protocol}/src/pong.js +0 -0
  1672. /package/out/{zero-protocol → packages/zero-protocol}/src/primary-key.js +0 -0
  1673. /package/out/{zero-protocol → packages/zero-protocol}/src/protocol-version.js +0 -0
  1674. /package/out/{zero-protocol → packages/zero-protocol}/src/pull.js +0 -0
  1675. /package/out/{zero-protocol → packages/zero-protocol}/src/queries-patch.js +0 -0
  1676. /package/out/{zero-protocol → packages/zero-protocol}/src/query-hash.js +0 -0
  1677. /package/out/{zero-protocol → packages/zero-protocol}/src/query-server.js +0 -0
  1678. /package/out/{zero-protocol → packages/zero-protocol}/src/row-patch.js +0 -0
  1679. /package/out/{zero-protocol → packages/zero-protocol}/src/up.js +0 -0
  1680. /package/out/{zero-protocol → packages/zero-protocol}/src/update-auth.js +0 -0
  1681. /package/out/{zero-protocol → packages/zero-protocol}/src/version.js +0 -0
  1682. /package/out/{zero-react → packages/zero-react}/src/bindings.js +0 -0
  1683. /package/out/{zero-react → packages/zero-react}/src/mod.js +0 -0
  1684. /package/out/{zero-react → packages/zero-react}/src/zero.js +0 -0
  1685. /package/out/{zero-schema → packages/zero-schema}/src/builder/relationship-builder.js +0 -0
  1686. /package/out/{zero-schema → packages/zero-schema}/src/builder/schema-builder.js +0 -0
  1687. /package/out/{zero-schema → packages/zero-schema}/src/builder/table-builder.js +0 -0
  1688. /package/out/{zero-schema → packages/zero-schema}/src/compiled-permissions.js +0 -0
  1689. /package/out/{zero-schema → packages/zero-schema}/src/name-mapper.js +0 -0
  1690. /package/out/{zero-schema → packages/zero-schema}/src/permissions.js +0 -0
  1691. /package/out/{zero-schema → packages/zero-schema}/src/schema-config.js +0 -0
  1692. /package/out/{zero-server → packages/zero-server}/src/adapters/drizzle.js +0 -0
  1693. /package/out/{zero-server → packages/zero-server}/src/adapters/kysely.js +0 -0
  1694. /package/out/{zero-server → packages/zero-server}/src/adapters/postgresjs.js +0 -0
  1695. /package/out/{zero-server → packages/zero-server}/src/adapters/prisma.js +0 -0
  1696. /package/out/{zero-server → packages/zero-server}/src/logging.js +0 -0
  1697. /package/out/{zero-server → packages/zero-server}/src/mod.js +0 -0
  1698. /package/out/{zero-server → packages/zero-server}/src/pg-query-executor.js +0 -0
  1699. /package/out/{zero-server → packages/zero-server}/src/process-mutations.js +0 -0
  1700. /package/out/{zero-server → packages/zero-server}/src/push-processor.js +0 -0
  1701. /package/out/{zero-server → packages/zero-server}/src/queries/process-queries.js +0 -0
  1702. /package/out/{zero-server → packages/zero-server}/src/schema.js +0 -0
  1703. /package/out/{zero-server → packages/zero-server}/src/zql-database.js +0 -0
  1704. /package/out/{zero-solid → packages/zero-solid}/src/bindings.js +0 -0
  1705. /package/out/{zero-solid → packages/zero-solid}/src/mod.js +0 -0
  1706. /package/out/{zero-solid → packages/zero-solid}/src/zero.js +0 -0
  1707. /package/out/{zero-types → packages/zero-types}/src/format.js +0 -0
  1708. /package/out/{zero-types → packages/zero-types}/src/name-mapper.js +0 -0
  1709. /package/out/{zql → packages/zql}/src/builder/filter.js +0 -0
  1710. /package/out/{zql → packages/zql}/src/builder/like.js +0 -0
  1711. /package/out/{zql → packages/zql}/src/error.js +0 -0
  1712. /package/out/{zql → packages/zql}/src/ivm/array-view.js +0 -0
  1713. /package/out/{zql → packages/zql}/src/ivm/cap.js +0 -0
  1714. /package/out/{zql → packages/zql}/src/ivm/change.js +0 -0
  1715. /package/out/{zql → packages/zql}/src/ivm/data.js +0 -0
  1716. /package/out/{zql → packages/zql}/src/ivm/exists.js +0 -0
  1717. /package/out/{zql → packages/zql}/src/ivm/fan-in.js +0 -0
  1718. /package/out/{zql → packages/zql}/src/ivm/fan-out.js +0 -0
  1719. /package/out/{zql → packages/zql}/src/ivm/filter-operators.js +0 -0
  1720. /package/out/{zql → packages/zql}/src/ivm/filter-push.js +0 -0
  1721. /package/out/{zql → packages/zql}/src/ivm/filter.js +0 -0
  1722. /package/out/{zql → packages/zql}/src/ivm/join-utils.js +0 -0
  1723. /package/out/{zql → packages/zql}/src/ivm/join.js +0 -0
  1724. /package/out/{zql → packages/zql}/src/ivm/maybe-split-and-push-edit-change.js +0 -0
  1725. /package/out/{zql → packages/zql}/src/ivm/memory-source.js +0 -0
  1726. /package/out/{zql → packages/zql}/src/ivm/memory-storage.js +0 -0
  1727. /package/out/{zql → packages/zql}/src/ivm/operator.js +0 -0
  1728. /package/out/{zql → packages/zql}/src/ivm/push-accumulated.js +0 -0
  1729. /package/out/{zql → packages/zql}/src/ivm/skip-yields.js +0 -0
  1730. /package/out/{zql → packages/zql}/src/ivm/skip.js +0 -0
  1731. /package/out/{zql → packages/zql}/src/ivm/source.js +0 -0
  1732. /package/out/{zql → packages/zql}/src/ivm/stream.js +0 -0
  1733. /package/out/{zql → packages/zql}/src/ivm/take.js +0 -0
  1734. /package/out/{zql → packages/zql}/src/ivm/union-fan-out.js +0 -0
  1735. /package/out/{zql → packages/zql}/src/ivm/view-apply-change.js +0 -0
  1736. /package/out/{zql → packages/zql}/src/mutate/crud.js +0 -0
  1737. /package/out/{zql → packages/zql}/src/mutate/custom.js +0 -0
  1738. /package/out/{zql → packages/zql}/src/mutate/mutator-registry.js +0 -0
  1739. /package/out/{zql → packages/zql}/src/mutate/mutator.js +0 -0
  1740. /package/out/{zql → packages/zql}/src/planner/planner-builder.js +0 -0
  1741. /package/out/{zql → packages/zql}/src/planner/planner-connection.js +0 -0
  1742. /package/out/{zql → packages/zql}/src/planner/planner-constraint.js +0 -0
  1743. /package/out/{zql → packages/zql}/src/planner/planner-debug.js +0 -0
  1744. /package/out/{zql → packages/zql}/src/planner/planner-fan-in.js +0 -0
  1745. /package/out/{zql → packages/zql}/src/planner/planner-fan-out.js +0 -0
  1746. /package/out/{zql → packages/zql}/src/planner/planner-graph.js +0 -0
  1747. /package/out/{zql → packages/zql}/src/planner/planner-node.js +0 -0
  1748. /package/out/{zql → packages/zql}/src/planner/planner-source.js +0 -0
  1749. /package/out/{zql → packages/zql}/src/planner/planner-terminus.js +0 -0
  1750. /package/out/{zql → packages/zql}/src/query/complete-ordering.js +0 -0
  1751. /package/out/{zql → packages/zql}/src/query/create-builder.js +0 -0
  1752. /package/out/{zql → packages/zql}/src/query/error.js +0 -0
  1753. /package/out/{zql → packages/zql}/src/query/escape-like.js +0 -0
  1754. /package/out/{zql → packages/zql}/src/query/expression.js +0 -0
  1755. /package/out/{zql → packages/zql}/src/query/measure-push-operator.js +0 -0
  1756. /package/out/{zql → packages/zql}/src/query/metrics-delegate.js +0 -0
  1757. /package/out/{zql → packages/zql}/src/query/named.js +0 -0
  1758. /package/out/{zql → packages/zql}/src/query/query-delegate-base.js +0 -0
  1759. /package/out/{zql → packages/zql}/src/query/query-internals.js +0 -0
  1760. /package/out/{zql → packages/zql}/src/query/query-registry.js +0 -0
  1761. /package/out/{zql → packages/zql}/src/query/query.js +0 -0
  1762. /package/out/{zql → packages/zql}/src/query/runnable-query-impl.js +0 -0
  1763. /package/out/{zql → packages/zql}/src/query/static-query.js +0 -0
  1764. /package/out/{zql → packages/zql}/src/query/ttl.js +0 -0
  1765. /package/out/{zql → packages/zql}/src/query/validate-input.js +0 -0
  1766. /package/out/{zqlite → packages/zqlite}/src/database-storage.js +0 -0
  1767. /package/out/{zqlite → packages/zqlite}/src/db.js +0 -0
  1768. /package/out/{zqlite → packages/zqlite}/src/explain-queries.js +0 -0
  1769. /package/out/{zqlite → packages/zqlite}/src/internal/sql-inline.js +0 -0
  1770. /package/out/{zqlite → packages/zqlite}/src/internal/sql.js +0 -0
  1771. /package/out/{zqlite → packages/zqlite}/src/internal/statement-cache.js +0 -0
  1772. /package/out/{zqlite → packages/zqlite}/src/mod.js +0 -0
  1773. /package/out/{zqlite → packages/zqlite}/src/query-builder.js +0 -0
  1774. /package/out/{zqlite → packages/zqlite}/src/query-delegate.js +0 -0
  1775. /package/out/{zqlite → packages/zqlite}/src/resolve-scalar-subqueries.js +0 -0
  1776. /package/out/{zqlite → packages/zqlite}/src/sqlite-cost-model.js +0 -0
  1777. /package/out/{zqlite → packages/zqlite}/src/sqlite-stat-fanout.js +0 -0
@@ -1,545 +0,0 @@
1
- import { assert } from "../../../../../shared/src/asserts.js";
2
- import { must } from "../../../../../shared/src/must.js";
3
- import { equals } from "../../../../../shared/src/set-utils.js";
4
- import { ALLOWED_APP_ID_CHARACTERS } from "../../../types/shards.js";
5
- import { Database } from "../../../../../zqlite/src/db.js";
6
- import { liteValue } from "../../../types/lite.js";
7
- import { liteTableName } from "../../../types/names.js";
8
- import { mapPostgresToLite, mapPostgresToLiteIndex } from "../../../db/pg-to-lite.js";
9
- import { ColumnMetadataStore } from "../../replicator/schema/column-metadata.js";
10
- import { computeZqlSpecs, listIndexes, listTables } from "../../../db/lite-tables.js";
11
- import { initReplicationState } from "../../replicator/schema/replication-state.js";
12
- import { id } from "../../../types/sql.js";
13
- import { pgClient } from "../../../types/pg.js";
14
- import { toStateVersionString } from "./lsn.js";
15
- import { READONLY } from "../../../db/mode-enum.js";
16
- import { runTx } from "../../../db/run-transaction.js";
17
- import { getPublicationInfo } from "./schema/published.js";
18
- import { dropShard, getInternalShardConfig, initReplica, validatePublications } from "./schema/shard.js";
19
- import { createLiteIndexStatement, createLiteTableStatement } from "../../../db/create.js";
20
- import { ReplicationStatusPublisher } from "../../replicator/replication-status.js";
21
- import "../../../types/pg-versions.js";
22
- import { BinaryCopyParser, hasBinaryDecoder, makeBinaryDecoder, textCastDecoder } from "../../../db/pg-copy-binary.js";
23
- import { TsvParser } from "../../../db/pg-copy.js";
24
- import { getTypeParsers } from "../../../db/pg-type-parser.js";
25
- import { TransactionPool, importSnapshot } from "../../../db/transaction-pool.js";
26
- import { CpuProfiler } from "../../../types/profiler.js";
27
- import { createReplicaAndSlot } from "./replication-slots.js";
28
- import { ensureShardSchema } from "./schema/init.js";
29
- import { resolver } from "@rocicorp/resolver";
30
- import { platform, tmpdir } from "node:os";
31
- import { join } from "node:path";
32
- import { mkdtemp, rm } from "node:fs/promises";
33
- import { Writable } from "node:stream";
34
- import { pipeline as pipeline$1 } from "node:stream/promises";
35
- //#region ../zero-cache/src/services/change-source/pg/initial-sync.ts
36
- async function initialSync(lc, shard, tx, upstreamURI, syncOptions, context) {
37
- if (!ALLOWED_APP_ID_CHARACTERS.test(shard.appID)) throw new Error("The App ID may only consist of lower-case letters, numbers, and the underscore character");
38
- const { tableCopyWorkers, profileCopy, textCopy = false, replicationSlotFailover = false, shadow } = syncOptions;
39
- const copyProfiler = profileCopy ? await CpuProfiler.connect() : null;
40
- const sql = pgClient(lc, upstreamURI, "initial-sync");
41
- const replicationSession = shadow ? void 0 : pgClient(lc, upstreamURI, "initial-sync-replication-session", {
42
- ["fetch_types"]: false,
43
- connection: { replication: "database" }
44
- });
45
- const replicaID = Date.now().toString();
46
- let slotName;
47
- const statusPublisher = ReplicationStatusPublisher.forRunningTransaction(tx, shadow ? async () => {} : void 0).publish(lc, "Initializing");
48
- let releaseShadowSnapshot;
49
- try {
50
- const pgVersion = await checkUpstreamConfig(sql);
51
- const { publications } = shadow ? await getInternalShardConfig(sql, shard) : await ensurePublishedTables(lc, sql, shard);
52
- lc.info?.(`Upstream is setup with publications [${publications}]`);
53
- const { database, host } = sql.options;
54
- lc.info?.(shadow ? `acquiring exported snapshot on ${database}@${host} (shadow mode)` : `opening replication session to ${database}@${host}`);
55
- let snapshot;
56
- let lsn;
57
- if (shadow) {
58
- const acquired = await acquireExportedSnapshotForShadowSync(lc, upstreamURI);
59
- snapshot = acquired.snapshot;
60
- lsn = acquired.lsn;
61
- releaseShadowSnapshot = acquired.release;
62
- } else {
63
- const slot = await createReplicaAndSlot(lc, sql, must(replicationSession), shard, replicaID, replicationSlotFailover && pgVersion >= 17e4);
64
- snapshot = slot.snapshot_name;
65
- lsn = slot.consistent_point;
66
- slotName = slot.slot_name;
67
- }
68
- const initialVersion = toStateVersionString(lsn);
69
- initReplicationState(tx, publications, initialVersion, context);
70
- const start = performance.now();
71
- const published = await runTx(sql, async (tx) => {
72
- await tx.unsafe(`SET TRANSACTION SNAPSHOT '${snapshot}'`);
73
- return getPublicationInfo(tx, publications);
74
- }, { mode: READONLY });
75
- validatePublications(lc, published);
76
- const { tables, indexes } = published;
77
- const numTables = tables.length;
78
- if (platform() === "win32" && tableCopyWorkers < numTables) lc.warn?.(`Increasing the number of copy workers from ${tableCopyWorkers} to ${numTables} to work around a Node/Postgres connection bug`);
79
- const numWorkers = platform() === "win32" ? numTables : Math.min(tableCopyWorkers, numTables);
80
- const copyPool = pgClient(lc, upstreamURI, "initial-sync-copy-worker", {
81
- max: numWorkers,
82
- ["max_lifetime"]: 7200
83
- });
84
- const copiers = startTableCopyWorkers(lc, copyPool, snapshot, numWorkers, numTables);
85
- try {
86
- createLiteTables(tx, tables, initialVersion);
87
- const sampleRate = shadow?.sampleRate;
88
- const maxRowsPerTable = shadow?.maxRowsPerTable;
89
- const downloads = await Promise.all(tables.map((spec) => copiers.processReadTask((db, lc) => getInitialDownloadState(lc, db, spec, shadow !== void 0))));
90
- statusPublisher.publish(lc, "Initializing", `Copying ${numTables} upstream tables at version ${initialVersion}`, 5e3, () => ({ downloadStatus: downloads.map(({ status }) => status) }));
91
- copyProfiler?.start();
92
- const rowCounts = await Promise.all(downloads.map((table) => copiers.processReadTask((db, lc) => copy(lc, table, copyPool, db, tx, textCopy, sampleRate, maxRowsPerTable))));
93
- copyProfiler?.stopAndDispose(lc, "initial-copy");
94
- copiers.setDone();
95
- const total = rowCounts.reduce((acc, curr) => ({
96
- rows: acc.rows + curr.rows,
97
- flushTime: acc.flushTime + curr.flushTime
98
- }), {
99
- rows: 0,
100
- flushTime: 0
101
- });
102
- statusPublisher.publish(lc, "Indexing", `Creating ${indexes.length} indexes`, 5e3);
103
- const indexStart = performance.now();
104
- createLiteIndices(tx, indexes);
105
- const index = performance.now() - indexStart;
106
- lc.info?.(`Created indexes (${index.toFixed(3)} ms)`);
107
- if (slotName && replicaID) await initReplica(sql, shard, replicaID, published, context);
108
- else {
109
- assert(shadow, "expected to be in shadow sync if there is no slotName");
110
- const rowsByTable = /* @__PURE__ */ new Map();
111
- for (let i = 0; i < downloads.length; i++) rowsByTable.set(downloads[i].status.table, rowCounts[i].rows);
112
- verifyShadowReplica(lc, tx, published, rowsByTable);
113
- }
114
- const elapsed = performance.now() - start;
115
- lc.info?.(`Synced ${total.rows.toLocaleString()} rows of ${numTables} tables in ${publications} up to ${lsn} (flush: ${total.flushTime.toFixed(3)}, index: ${index.toFixed(3)}, total: ${elapsed.toFixed(3)} ms)`);
116
- } finally {
117
- copyPool.end().catch((e) => lc.warn?.(`Error closing copyPool`, e));
118
- }
119
- } catch (e) {
120
- if (slotName) {
121
- lc.warn?.(`dropping replication slot ${slotName}`, e);
122
- await sql`
123
- SELECT pg_drop_replication_slot(slot_name) FROM pg_replication_slots
124
- WHERE slot_name = ${slotName};
125
- `.catch((e) => lc.warn?.(`Unable to drop replication slot ${slotName}`, e));
126
- }
127
- await statusPublisher.publishAndThrowError(lc, "Initializing", e);
128
- } finally {
129
- statusPublisher.stop();
130
- if (releaseShadowSnapshot) await releaseShadowSnapshot().catch((e) => lc.warn?.(`Error releasing shadow snapshot`, e));
131
- if (replicationSession) await replicationSession.end();
132
- await sql.end();
133
- }
134
- }
135
- /**
136
- * Exercises the initial-sync code path against a sample of rows from every
137
- * published table, writing into a throwaway SQLite database that is deleted
138
- * when the run ends. Produces zero upstream mutations: no replication slot,
139
- * no `addReplica`, no `dropShard`, no status events.
140
- *
141
- * Intended to be invoked periodically so that if a customer ever needs a
142
- * full reset, we have recent confidence that `initialSync` still works.
143
- * The shard must already be initialized upstream.
144
- */
145
- async function shadowInitialSync(lc, shard, upstreamURI, shadow, context, syncOptions) {
146
- const dir = await mkdtemp(join(shadow.parentDir ?? tmpdir(), "zero-shadow-sync-"));
147
- const db = new Database(lc, join(dir, "shadow-replica.db"));
148
- try {
149
- await initialSync(lc, shard, db, upstreamURI, {
150
- tableCopyWorkers: 1,
151
- textCopy: syncOptions?.textCopy,
152
- shadow
153
- }, context);
154
- } finally {
155
- try {
156
- db.close();
157
- } catch (e) {
158
- lc.warn?.(`Error closing shadow replica db`, e);
159
- }
160
- await rm(dir, {
161
- recursive: true,
162
- force: true
163
- }).catch((e) => lc.warn?.(`Error cleaning up shadow replica dir ${dir}`, e));
164
- }
165
- }
166
- async function checkUpstreamConfig(sql) {
167
- const { walLevel, version } = (await sql`
168
- SELECT current_setting('wal_level') as "walLevel",
169
- current_setting('server_version_num') as "version";
170
- `)[0];
171
- if (walLevel !== "logical") throw new Error(`Postgres must be configured with "wal_level = logical" (currently: "${walLevel})`);
172
- if (version < 15e4) throw new Error(`Must be running Postgres 15 or higher (currently: "${version}")`);
173
- return version;
174
- }
175
- async function ensurePublishedTables(lc, sql, shard, validate = true) {
176
- const { database, host } = sql.options;
177
- lc.info?.(`Ensuring upstream PUBLICATION on ${database}@${host}`);
178
- await ensureShardSchema(lc, sql, shard);
179
- const { publications } = await getInternalShardConfig(sql, shard);
180
- if (validate) {
181
- let valid = false;
182
- const nonInternalPublications = publications.filter((p) => !p.startsWith("_"));
183
- const exists = await sql`
184
- SELECT pubname FROM pg_publication WHERE pubname IN ${sql(publications)}
185
- `.values();
186
- if (exists.length !== publications.length) lc.warn?.(`some configured publications [${publications}] are missing: [${exists.flat()}]. resyncing`);
187
- else if (!equals(new Set(shard.publications), new Set(nonInternalPublications))) lc.warn?.(`requested publications [${shard.publications}] differ from previouspublications [${nonInternalPublications}]. resyncing`);
188
- else valid = true;
189
- if (!valid) {
190
- await sql.unsafe(dropShard(shard.appID, shard.shardNum));
191
- return ensurePublishedTables(lc, sql, shard, false);
192
- }
193
- }
194
- return { publications };
195
- }
196
- function startTableCopyWorkers(lc, db, snapshot, numWorkers, numTables) {
197
- const { init } = importSnapshot(snapshot);
198
- const tableCopiers = new TransactionPool(lc, {
199
- mode: READONLY,
200
- init,
201
- initialWorkers: numWorkers
202
- });
203
- tableCopiers.run(db);
204
- lc.info?.(`Started ${numWorkers} workers to copy ${numTables} tables`);
205
- if (parseInt(process.versions.node) < 22) lc.warn?.("\n\n\nOlder versions of Node have a bug that results in an unresponsive\nPostgres connection after running certain combinations of COPY commands.\nIf initial sync hangs, run zero-cache with Node v22+. This has the additional\nbenefit of being consistent with the Node version run in the production container image.\n\n\n");
206
- return tableCopiers;
207
- }
208
- /**
209
- * Shadow-mode alternative to `createReplicationSlot`: opens a dedicated
210
- * READ ONLY REPEATABLE READ transaction on a normal connection, exports the
211
- * snapshot and captures the current WAL LSN, then holds the transaction
212
- * open until `release()` is called. The held transaction keeps the snapshot
213
- * importable by the table-copy workers for the duration of the COPY phase.
214
- *
215
- * Idle-in-transaction timeout is disabled locally so the exporter doesn't
216
- * get killed while workers are still importing.
217
- */
218
- async function acquireExportedSnapshotForShadowSync(lc, upstreamURI) {
219
- const holder = pgClient(lc, upstreamURI, "shadow-initial-sync-snapshot", { max: 1 });
220
- const ready = resolver();
221
- const release = resolver();
222
- const held = holder.begin(READONLY, async (tx) => {
223
- await tx`SET LOCAL idle_in_transaction_session_timeout = 0`.execute();
224
- const [row] = await tx`
225
- SELECT pg_export_snapshot() AS snapshot,
226
- pg_current_wal_lsn()::text AS lsn`;
227
- ready.resolve(row);
228
- await release.promise;
229
- }).catch((e) => ready.reject(e));
230
- let snapshot;
231
- let lsn;
232
- try {
233
- ({snapshot, lsn} = await ready.promise);
234
- } catch (e) {
235
- await holder.end().catch((err) => lc.warn?.(`Error ending shadow snapshot holder after failure`, err));
236
- throw e;
237
- }
238
- lc.info?.(`Exported snapshot ${snapshot} at LSN ${lsn} (shadow initial sync)`);
239
- return {
240
- snapshot,
241
- lsn,
242
- release: async () => {
243
- release.resolve();
244
- try {
245
- await held;
246
- } catch (e) {
247
- lc.warn?.(`snapshot holder transaction ended with error`, e);
248
- }
249
- await holder.end();
250
- }
251
- };
252
- }
253
- function createLiteTables(tx, tables, initialVersion) {
254
- const columnMetadata = must(ColumnMetadataStore.getInstance(tx));
255
- for (const t of tables) {
256
- tx.exec(createLiteTableStatement(mapPostgresToLite(t, initialVersion)));
257
- const tableName = liteTableName(t);
258
- for (const [colName, colSpec] of Object.entries(t.columns)) columnMetadata.insert(tableName, colName, colSpec);
259
- }
260
- }
261
- function createLiteIndices(tx, indices) {
262
- for (const index of indices) tx.exec(createLiteIndexStatement(mapPostgresToLiteIndex(index)));
263
- }
264
- /**
265
- * Runs structural assertions over a just-synced replica and throws if any
266
- * fail. Only called in shadow mode — a successful return means the replica
267
- * is schema-complete, row-count consistent, ZQL-queryable, and its column
268
- * metadata is in sync with its lite schema.
269
- *
270
- * Exported for testing.
271
- */
272
- function verifyShadowReplica(lc, db, published, rowsByTable) {
273
- const issues = [];
274
- const liteTables = listTables(db);
275
- const liteTableByName = new Map(liteTables.map((t) => [t.name, t]));
276
- for (const pt of published.tables) {
277
- const name = liteTableName(pt);
278
- const lite = liteTableByName.get(name);
279
- if (!lite) {
280
- issues.push(`missing table in replica: ${name}`);
281
- continue;
282
- }
283
- for (const col of Object.keys(pt.columns)) if (!(col in lite.columns)) issues.push(`column missing in replica table ${name}: ${col}`);
284
- }
285
- const liteIndexNames = new Set(listIndexes(db).map((i) => i.name));
286
- for (const ix of published.indexes) {
287
- const mapped = mapPostgresToLiteIndex(ix);
288
- if (!liteIndexNames.has(mapped.name)) issues.push(`missing index in replica: ${mapped.name} on ${mapped.tableName}`);
289
- }
290
- for (const [table, expected] of rowsByTable) try {
291
- const [row] = db.prepare(`SELECT COUNT(*) as count FROM "${table}"`).all();
292
- if (row.count !== expected) issues.push(`row count mismatch for table ${table}: copy counter reported ${expected}, replica has ${row.count}`);
293
- } catch (e) {
294
- issues.push(`could not count rows in table ${table}: ${String(e)}`);
295
- }
296
- const tableSpecs = computeZqlSpecs(lc, db, { includeBackfillingColumns: false });
297
- for (const pt of published.tables) {
298
- const name = liteTableName(pt);
299
- if (!tableSpecs.has(name)) issues.push(`table not queryable via ZQL (dropped by computeZqlSpecs): ${name}`);
300
- }
301
- const meta = must(ColumnMetadataStore.getInstance(db));
302
- for (const pt of published.tables) {
303
- const name = liteTableName(pt);
304
- const rows = meta.getTable(name);
305
- for (const col of Object.keys(pt.columns)) if (!rows.has(col)) issues.push(`missing column_metadata row for ${name}.${col}`);
306
- }
307
- if (issues.length) throw new Error(`Shadow replica verification failed (${issues.length} issue(s)):\n` + issues.map((i) => ` - ${i}`).join("\n"));
308
- }
309
- var MB = 1024 * 1024;
310
- var MAX_BUFFERED_ROWS = 1e4;
311
- var BUFFERED_SIZE_THRESHOLD = 8 * MB;
312
- /**
313
- * Produces ` TABLESAMPLE BERNOULLI(n)` when `sampleRate` is < 1, else `''`.
314
- * Row-level Bernoulli sampling is used (rather than SYSTEM) because it
315
- * produces a more uniform sample and, unlike SYSTEM, still returns rows
316
- * for small tables at low rates.
317
- */
318
- function tableSampleClause(sampleRate) {
319
- if (sampleRate === void 0 || sampleRate >= 1) return "";
320
- return ` TABLESAMPLE BERNOULLI(${parseFloat((sampleRate * 100).toFixed(6))})`;
321
- }
322
- function limitClause(maxRowsPerTable) {
323
- return maxRowsPerTable !== void 0 ? ` LIMIT ${maxRowsPerTable}` : "";
324
- }
325
- /**
326
- * Returns the SELECT column expressions for binary COPY, casting columns
327
- * without a known binary decoder to `::text`.
328
- */
329
- function makeBinarySelectExprs(table, cols) {
330
- return cols.map((col) => {
331
- const spec = table.columns[col];
332
- return hasBinaryDecoder(spec) ? id(col) : `${id(col)}::text`;
333
- });
334
- }
335
- function makeDownloadStatements(table, cols, sampleRate, maxRowsPerTable, selectExprs) {
336
- const filterConditions = Object.values(table.publications).map(({ rowFilter }) => rowFilter).filter((f) => !!f);
337
- const where = filterConditions.length === 0 ? "" : `WHERE ${filterConditions.join(" OR ")}`;
338
- const sample = tableSampleClause(sampleRate);
339
- const limit = limitClause(maxRowsPerTable);
340
- const fromTable = `FROM ${id(table.schema)}.${id(table.name)}${sample} ${where}`;
341
- const select = `SELECT ${(selectExprs ?? cols.map(id)).join(",")} ${fromTable}${limit}`;
342
- if (limit) {
343
- const bytesExpr = cols.map((col) => `COALESCE(pg_column_size(${id(col)}), 0)`).join(" + ");
344
- return {
345
- select,
346
- getTotalRows: `SELECT COUNT(*)::bigint AS "totalRows" FROM (SELECT 1 AS _ ${fromTable}${limit}) s`,
347
- getTotalBytes: `SELECT COALESCE(SUM(b), 0)::bigint AS "totalBytes" FROM (SELECT (${bytesExpr}) AS b ${fromTable}${limit}) s`
348
- };
349
- }
350
- const totalBytes = `(${cols.map((col) => `SUM(COALESCE(pg_column_size(${id(col)}), 0))`).join(" + ")})`;
351
- return {
352
- select,
353
- getTotalRows: `SELECT COUNT(*) AS "totalRows" ${fromTable}`,
354
- getTotalBytes: `SELECT ${totalBytes} AS "totalBytes" ${fromTable}`
355
- };
356
- }
357
- async function getInitialDownloadState(lc, sql, spec, skipTotals) {
358
- const start = performance.now();
359
- const table = liteTableName(spec);
360
- const columns = Object.keys(spec.columns);
361
- if (skipTotals) return {
362
- spec,
363
- status: {
364
- table,
365
- columns,
366
- rows: 0,
367
- totalRows: 0,
368
- totalBytes: 0
369
- }
370
- };
371
- const { totalRows, totalBytes } = (await sql`SELECT GREATEST(reltuples, 0)::float8 AS "totalRows",
372
- pg_table_size(oid)::float8 AS "totalBytes"
373
- FROM pg_class
374
- WHERE oid = ${`${id(spec.schema)}.${id(spec.name)}`}::regclass`)[0] ?? {
375
- totalRows: 0,
376
- totalBytes: 0
377
- };
378
- const state = {
379
- spec,
380
- status: {
381
- table,
382
- columns,
383
- rows: 0,
384
- totalRows,
385
- totalBytes
386
- }
387
- };
388
- const elapsed = (performance.now() - start).toFixed(3);
389
- lc.info?.(`Computed initial download state for ${table} (${elapsed} ms)`, { state: state.status });
390
- return state;
391
- }
392
- function copy(lc, { spec: table, status }, dbClient, from, to, textCopy, sampleRate, maxRowsPerTable) {
393
- if (textCopy) return copyText(lc, table, status, dbClient, from, to, sampleRate, maxRowsPerTable);
394
- return copyBinary(lc, table, status, from, to, sampleRate, maxRowsPerTable);
395
- }
396
- async function copyBinary(lc, table, status, from, to, sampleRate, maxRowsPerTable) {
397
- const start = performance.now();
398
- let flushTime = 0;
399
- const tableName = liteTableName(table);
400
- const orderedColumns = Object.entries(table.columns);
401
- const columnNames = orderedColumns.map(([c]) => c);
402
- const columnSpecs = orderedColumns.map(([_name, spec]) => spec);
403
- const insertColumnList = columnNames.map((c) => id(c)).join(",");
404
- const valuesSql = columnNames.length > 0 ? `(${"?,".repeat(columnNames.length - 1)}?)` : "()";
405
- const insertSql = `
406
- INSERT INTO "${tableName}" (${insertColumnList}) VALUES ${valuesSql}`;
407
- const insertStmt = to.prepare(insertSql);
408
- const insertBatchStmt = to.prepare(insertSql + `,${valuesSql}`.repeat(49));
409
- const select = makeDownloadStatements(table, columnNames, sampleRate, maxRowsPerTable, makeBinarySelectExprs(table, columnNames)).select;
410
- const decoders = orderedColumns.map(([, spec]) => hasBinaryDecoder(spec) ? makeBinaryDecoder(spec) : textCastDecoder);
411
- const valuesPerRow = columnSpecs.length;
412
- const valuesPerBatch = valuesPerRow * 50;
413
- const pendingValues = Array.from({ length: MAX_BUFFERED_ROWS * valuesPerRow });
414
- let pendingRows = 0;
415
- let pendingSize = 0;
416
- function flush() {
417
- const start = performance.now();
418
- const flushedRows = pendingRows;
419
- const flushedSize = pendingSize;
420
- let l = 0;
421
- for (; pendingRows > 50; pendingRows -= 50) insertBatchStmt.run(pendingValues.slice(l, l += valuesPerBatch));
422
- for (; pendingRows > 0; pendingRows--) insertStmt.run(pendingValues.slice(l, l += valuesPerRow));
423
- const flushedValues = flushedRows * valuesPerRow;
424
- for (let i = 0; i < flushedValues; i++) pendingValues[i] = void 0;
425
- pendingSize = 0;
426
- status.rows += flushedRows;
427
- const elapsed = performance.now() - start;
428
- flushTime += elapsed;
429
- lc.debug?.(`flushed ${flushedRows} ${tableName} rows (${flushedSize} bytes) in ${elapsed.toFixed(3)} ms`);
430
- }
431
- const binaryParser = new BinaryCopyParser();
432
- let col = 0;
433
- lc.info?.(`Starting binary copy stream of ${tableName}:`, select);
434
- await pipeline$1(await from.unsafe(`COPY (${select}) TO STDOUT WITH (FORMAT binary)`).readable(), new Writable({
435
- highWaterMark: BUFFERED_SIZE_THRESHOLD,
436
- write(chunk, _encoding, callback) {
437
- try {
438
- for (const fieldBuf of binaryParser.parse(chunk)) {
439
- pendingSize += fieldBuf === null ? 4 : fieldBuf.length;
440
- pendingValues[pendingRows * valuesPerRow + col] = fieldBuf === null ? null : decoders[col](fieldBuf);
441
- if (++col === decoders.length) {
442
- col = 0;
443
- if (++pendingRows >= MAX_BUFFERED_ROWS - valuesPerRow || pendingSize >= BUFFERED_SIZE_THRESHOLD) flush();
444
- }
445
- }
446
- callback();
447
- } catch (e) {
448
- callback(e instanceof Error ? e : new Error(String(e)));
449
- }
450
- },
451
- final: (callback) => {
452
- try {
453
- flush();
454
- callback();
455
- } catch (e) {
456
- callback(e instanceof Error ? e : new Error(String(e)));
457
- }
458
- }
459
- }));
460
- const elapsed = performance.now() - start;
461
- lc.info?.(`Finished copying ${status.rows} rows into ${tableName} (flush: ${flushTime.toFixed(3)} ms) (total: ${elapsed.toFixed(3)} ms) `);
462
- return {
463
- rows: status.rows,
464
- flushTime
465
- };
466
- }
467
- async function copyText(lc, table, status, dbClient, from, to, sampleRate, maxRowsPerTable) {
468
- const start = performance.now();
469
- let flushTime = 0;
470
- const tableName = liteTableName(table);
471
- const orderedColumns = Object.entries(table.columns);
472
- const columnNames = orderedColumns.map(([c]) => c);
473
- const columnSpecs = orderedColumns.map(([_name, spec]) => spec);
474
- const insertColumnList = columnNames.map((c) => id(c)).join(",");
475
- const valuesSql = columnNames.length > 0 ? `(${"?,".repeat(columnNames.length - 1)}?)` : "()";
476
- const insertSql = `
477
- INSERT INTO "${tableName}" (${insertColumnList}) VALUES ${valuesSql}`;
478
- const insertStmt = to.prepare(insertSql);
479
- const insertBatchStmt = to.prepare(insertSql + `,${valuesSql}`.repeat(49));
480
- const { select } = makeDownloadStatements(table, columnNames, sampleRate, maxRowsPerTable);
481
- const valuesPerRow = columnSpecs.length;
482
- const valuesPerBatch = valuesPerRow * 50;
483
- const pendingValues = Array.from({ length: MAX_BUFFERED_ROWS * valuesPerRow });
484
- let pendingRows = 0;
485
- let pendingSize = 0;
486
- function flush() {
487
- const start = performance.now();
488
- const flushedRows = pendingRows;
489
- const flushedSize = pendingSize;
490
- let l = 0;
491
- for (; pendingRows > 50; pendingRows -= 50) insertBatchStmt.run(pendingValues.slice(l, l += valuesPerBatch));
492
- for (; pendingRows > 0; pendingRows--) insertStmt.run(pendingValues.slice(l, l += valuesPerRow));
493
- const flushedValues = flushedRows * valuesPerRow;
494
- for (let i = 0; i < flushedValues; i++) pendingValues[i] = void 0;
495
- pendingSize = 0;
496
- status.rows += flushedRows;
497
- const elapsed = performance.now() - start;
498
- flushTime += elapsed;
499
- lc.debug?.(`flushed ${flushedRows} ${tableName} rows (${flushedSize} bytes) in ${elapsed.toFixed(3)} ms`);
500
- }
501
- lc.info?.(`Starting text copy stream of ${tableName}:`, select);
502
- const pgParsers = await getTypeParsers(dbClient, { returnJsonAsString: true });
503
- const parsers = columnSpecs.map((c) => {
504
- const pgParse = pgParsers.getTypeParser(c.typeOID);
505
- return (val) => liteValue(pgParse(val), c.dataType, "s");
506
- });
507
- const tsvParser = new TsvParser();
508
- let col = 0;
509
- await pipeline$1(await from.unsafe(`COPY (${select}) TO STDOUT`).readable(), new Writable({
510
- highWaterMark: BUFFERED_SIZE_THRESHOLD,
511
- write(chunk, _encoding, callback) {
512
- try {
513
- for (const text of tsvParser.parse(chunk)) {
514
- pendingSize += text === null ? 4 : text.length;
515
- pendingValues[pendingRows * valuesPerRow + col] = text === null ? null : parsers[col](text);
516
- if (++col === parsers.length) {
517
- col = 0;
518
- if (++pendingRows >= MAX_BUFFERED_ROWS - valuesPerRow || pendingSize >= BUFFERED_SIZE_THRESHOLD) flush();
519
- }
520
- }
521
- callback();
522
- } catch (e) {
523
- callback(e instanceof Error ? e : new Error(String(e)));
524
- }
525
- },
526
- final: (callback) => {
527
- try {
528
- flush();
529
- callback();
530
- } catch (e) {
531
- callback(e instanceof Error ? e : new Error(String(e)));
532
- }
533
- }
534
- }));
535
- const elapsed = performance.now() - start;
536
- lc.info?.(`Finished copying ${status.rows} rows into ${tableName} (flush: ${flushTime.toFixed(3)} ms) (total: ${elapsed.toFixed(3)} ms) `);
537
- return {
538
- rows: status.rows,
539
- flushTime
540
- };
541
- }
542
- //#endregion
543
- export { initialSync, makeBinarySelectExprs, makeDownloadStatements, shadowInitialSync };
544
-
545
- //# sourceMappingURL=initial-sync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initial-sync.js","names":[],"sources":["../../../../../../../zero-cache/src/services/change-source/pg/initial-sync.ts"],"sourcesContent":["import {mkdtemp, rm} from 'node:fs/promises';\nimport {platform, tmpdir} from 'node:os';\nimport {join} from 'node:path';\nimport {Writable} from 'node:stream';\nimport {pipeline} from 'node:stream/promises';\nimport type {LogContext} from '@rocicorp/logger';\nimport {resolver} from '@rocicorp/resolver';\nimport {assert} from '../../../../../shared/src/asserts.ts';\nimport type {JSONObject} from '../../../../../shared/src/bigint-json.ts';\nimport {must} from '../../../../../shared/src/must.ts';\nimport {equals} from '../../../../../shared/src/set-utils.ts';\nimport type {DownloadStatus} from '../../../../../zero-events/src/status.ts';\nimport {Database} from '../../../../../zqlite/src/db.ts';\nimport {\n createLiteIndexStatement,\n createLiteTableStatement,\n} from '../../../db/create.ts';\nimport {\n computeZqlSpecs,\n listIndexes,\n listTables,\n} from '../../../db/lite-tables.ts';\nimport * as Mode from '../../../db/mode-enum.ts';\nimport {\n BinaryCopyParser,\n hasBinaryDecoder,\n makeBinaryDecoder,\n textCastDecoder,\n} from '../../../db/pg-copy-binary.ts';\nimport {TsvParser} from '../../../db/pg-copy.ts';\nimport {\n mapPostgresToLite,\n mapPostgresToLiteIndex,\n} from '../../../db/pg-to-lite.ts';\nimport {getTypeParsers} from '../../../db/pg-type-parser.ts';\nimport {runTx} from '../../../db/run-transaction.ts';\nimport type {IndexSpec, PublishedTableSpec} from '../../../db/specs.ts';\nimport {importSnapshot, TransactionPool} from '../../../db/transaction-pool.ts';\nimport {\n JSON_STRINGIFIED,\n liteValue,\n type LiteValueType,\n} from '../../../types/lite.ts';\nimport {liteTableName} from '../../../types/names.ts';\nimport {PG_15, PG_17} from '../../../types/pg-versions.ts';\nimport {\n pgClient,\n type PostgresDB,\n type PostgresTransaction,\n type PostgresValueType,\n} from '../../../types/pg.ts';\nimport {CpuProfiler} from '../../../types/profiler.ts';\nimport type {ShardConfig} from '../../../types/shards.ts';\nimport {ALLOWED_APP_ID_CHARACTERS} from '../../../types/shards.ts';\nimport {id} from '../../../types/sql.ts';\nimport {ReplicationStatusPublisher} from '../../replicator/replication-status.ts';\nimport {ColumnMetadataStore} from '../../replicator/schema/column-metadata.ts';\nimport {initReplicationState} from '../../replicator/schema/replication-state.ts';\nimport {toStateVersionString} from './lsn.ts';\nimport {createReplicaAndSlot} from './replication-slots.ts';\nimport {ensureShardSchema} from './schema/init.ts';\nimport {getPublicationInfo} from './schema/published.ts';\nimport {\n dropShard,\n getInternalShardConfig,\n initReplica,\n validatePublications,\n} from './schema/shard.ts';\n\nexport type InitialSyncOptions = {\n tableCopyWorkers: number;\n profileCopy?: boolean | undefined;\n textCopy?: boolean | undefined;\n replicationSlotFailover?: boolean | undefined;\n /**\n * When set, run initial sync in \"shadow\" mode for verification: skip all\n * upstream mutations (no replication slot, no addReplica, no dropShard, no\n * slot drop on failure), suppress status events, and optionally sample\n * rows from each table via TABLESAMPLE BERNOULLI + LIMIT. The caller is\n * responsible for providing (and discarding) a throwaway SQLite `tx`.\n */\n shadow?:\n | {\n /** 0 < rate <= 1. When 1, no TABLESAMPLE clause is added. */\n sampleRate: number;\n /**\n * LIMIT N cap appended after TABLESAMPLE. Required: shadow sync is\n * for verification only, so every run must commit to a row budget.\n */\n maxRowsPerTable: number;\n }\n | undefined;\n};\n\n/** Server context to store with the initial sync metadata for debugging. */\nexport type ServerContext = JSONObject;\n\nexport async function initialSync(\n lc: LogContext,\n shard: ShardConfig,\n tx: Database,\n upstreamURI: string,\n syncOptions: InitialSyncOptions,\n context: ServerContext,\n) {\n if (!ALLOWED_APP_ID_CHARACTERS.test(shard.appID)) {\n throw new Error(\n 'The App ID may only consist of lower-case letters, numbers, and the underscore character',\n );\n }\n const {\n tableCopyWorkers,\n profileCopy,\n textCopy = false,\n replicationSlotFailover = false,\n shadow,\n } = syncOptions;\n const copyProfiler = profileCopy ? await CpuProfiler.connect() : null;\n const sql = pgClient(lc, upstreamURI, 'initial-sync');\n // Replication session is only needed to create a replication slot in the\n // real path. In shadow mode we export a snapshot on a normal connection\n // instead, so no replication session is opened.\n const replicationSession = shadow\n ? undefined\n : pgClient(lc, upstreamURI, 'initial-sync-replication-session', {\n ['fetch_types']: false, // Necessary for the streaming protocol\n connection: {replication: 'database'}, // https://www.postgresql.org/docs/current/protocol-replication.html\n });\n\n const replicaID = Date.now().toString();\n let slotName: string | undefined; // undefined === shadow\n const statusPublisher = ReplicationStatusPublisher.forRunningTransaction(\n tx,\n shadow ? async () => {} : undefined,\n ).publish(lc, 'Initializing');\n let releaseShadowSnapshot: (() => Promise<void>) | undefined;\n try {\n const pgVersion = await checkUpstreamConfig(sql);\n\n // In shadow mode we assume the shard is already initialized and just\n // read back the existing publications. `ensurePublishedTables` would\n // otherwise run DDL and potentially call `dropShard`, which must never\n // happen during a shadow run.\n const {publications} = shadow\n ? await getInternalShardConfig(sql, shard)\n : await ensurePublishedTables(lc, sql, shard);\n lc.info?.(`Upstream is setup with publications [${publications}]`);\n\n const {database, host} = sql.options;\n lc.info?.(\n shadow\n ? `acquiring exported snapshot on ${database}@${host} (shadow mode)`\n : `opening replication session to ${database}@${host}`,\n );\n\n let snapshot: string;\n let lsn: string;\n\n if (shadow) {\n const acquired = await acquireExportedSnapshotForShadowSync(\n lc,\n upstreamURI,\n );\n snapshot = acquired.snapshot;\n lsn = acquired.lsn;\n releaseShadowSnapshot = acquired.release;\n } else {\n const slot = await createReplicaAndSlot(\n lc,\n sql,\n must(replicationSession),\n shard,\n replicaID,\n replicationSlotFailover && pgVersion >= PG_17,\n );\n snapshot = slot.snapshot_name;\n lsn = slot.consistent_point;\n slotName = slot.slot_name;\n }\n\n const initialVersion = toStateVersionString(lsn);\n\n initReplicationState(tx, publications, initialVersion, context);\n\n // Run up to MAX_WORKERS to copy of tables at the replication slot's snapshot.\n const start = performance.now();\n // Retrieve the published schema at the consistent_point.\n const published = await runTx(\n sql,\n async tx => {\n await tx.unsafe(/* sql*/ `SET TRANSACTION SNAPSHOT '${snapshot}'`);\n return getPublicationInfo(tx, publications);\n },\n {mode: Mode.READONLY},\n );\n // Note: If this throws, initial-sync is aborted.\n validatePublications(lc, published);\n\n // Now that tables have been validated, kick off the copiers.\n const {tables, indexes} = published;\n const numTables = tables.length;\n if (platform() === 'win32' && tableCopyWorkers < numTables) {\n lc.warn?.(\n `Increasing the number of copy workers from ${tableCopyWorkers} to ` +\n `${numTables} to work around a Node/Postgres connection bug`,\n );\n }\n const numWorkers =\n platform() === 'win32'\n ? numTables\n : Math.min(tableCopyWorkers, numTables);\n\n const copyPool = pgClient(lc, upstreamURI, 'initial-sync-copy-worker', {\n max: numWorkers,\n ['max_lifetime']: 120 * 60, // set a long (2h) limit for COPY streaming\n });\n const copiers = startTableCopyWorkers(\n lc,\n copyPool,\n snapshot,\n numWorkers,\n numTables,\n );\n try {\n createLiteTables(tx, tables, initialVersion);\n const sampleRate = shadow?.sampleRate;\n const maxRowsPerTable = shadow?.maxRowsPerTable;\n const downloads = await Promise.all(\n tables.map(spec =>\n copiers.processReadTask((db, lc) =>\n getInitialDownloadState(lc, db, spec, shadow !== undefined),\n ),\n ),\n );\n statusPublisher.publish(\n lc,\n 'Initializing',\n `Copying ${numTables} upstream tables at version ${initialVersion}`,\n 5000,\n () => ({downloadStatus: downloads.map(({status}) => status)}),\n );\n\n void copyProfiler?.start();\n const rowCounts = await Promise.all(\n downloads.map(table =>\n copiers.processReadTask((db, lc) =>\n copy(\n lc,\n table,\n copyPool,\n db,\n tx,\n textCopy,\n sampleRate,\n maxRowsPerTable,\n ),\n ),\n ),\n );\n void copyProfiler?.stopAndDispose(lc, 'initial-copy');\n copiers.setDone();\n\n const total = rowCounts.reduce(\n (acc, curr) => ({\n rows: acc.rows + curr.rows,\n flushTime: acc.flushTime + curr.flushTime,\n }),\n {rows: 0, flushTime: 0},\n );\n\n statusPublisher.publish(\n lc,\n 'Indexing',\n `Creating ${indexes.length} indexes`,\n 5000,\n );\n const indexStart = performance.now();\n createLiteIndices(tx, indexes);\n const index = performance.now() - indexStart;\n lc.info?.(`Created indexes (${index.toFixed(3)} ms)`);\n\n if (slotName && replicaID) {\n await initReplica(sql, shard, replicaID, published, context);\n } else {\n assert(shadow, 'expected to be in shadow sync if there is no slotName');\n const rowsByTable = new Map<string, number>();\n for (let i = 0; i < downloads.length; i++) {\n rowsByTable.set(downloads[i].status.table, rowCounts[i].rows);\n }\n verifyShadowReplica(lc, tx, published, rowsByTable);\n }\n\n const elapsed = performance.now() - start;\n lc.info?.(\n `Synced ${total.rows.toLocaleString()} rows of ${numTables} tables in ${publications} up to ${lsn} ` +\n `(flush: ${total.flushTime.toFixed(3)}, index: ${index.toFixed(3)}, total: ${elapsed.toFixed(3)} ms)`,\n );\n } finally {\n // All meaningful errors are handled at the processReadTask() call site.\n void copyPool.end().catch(e => lc.warn?.(`Error closing copyPool`, e));\n }\n } catch (e) {\n if (slotName) {\n // If initial-sync did not succeed, make a best effort to drop the\n // orphaned replication slot to avoid running out of slots in\n // pathological cases that result in repeated failures.\n lc.warn?.(`dropping replication slot ${slotName}`, e);\n await sql`\n SELECT pg_drop_replication_slot(slot_name) FROM pg_replication_slots\n WHERE slot_name = ${slotName};\n `.catch(e => lc.warn?.(`Unable to drop replication slot ${slotName}`, e));\n }\n await statusPublisher.publishAndThrowError(lc, 'Initializing', e);\n } finally {\n statusPublisher.stop();\n if (releaseShadowSnapshot) {\n await releaseShadowSnapshot().catch(e =>\n lc.warn?.(`Error releasing shadow snapshot`, e),\n );\n }\n if (replicationSession) {\n await replicationSession.end();\n }\n await sql.end();\n }\n}\n\nexport type ShadowSyncOptions = {\n sampleRate: number;\n maxRowsPerTable: number;\n /**\n * Parent directory for the throwaway SQLite replica. Defaults to the OS\n * tmpdir. Primarily for tests that need to isolate the scratch directory.\n */\n parentDir?: string | undefined;\n};\n\n/**\n * Exercises the initial-sync code path against a sample of rows from every\n * published table, writing into a throwaway SQLite database that is deleted\n * when the run ends. Produces zero upstream mutations: no replication slot,\n * no `addReplica`, no `dropShard`, no status events.\n *\n * Intended to be invoked periodically so that if a customer ever needs a\n * full reset, we have recent confidence that `initialSync` still works.\n * The shard must already be initialized upstream.\n */\nexport async function shadowInitialSync(\n lc: LogContext,\n shard: ShardConfig,\n upstreamURI: string,\n shadow: ShadowSyncOptions,\n context: ServerContext,\n syncOptions?: Pick<InitialSyncOptions, 'textCopy'>,\n): Promise<void> {\n const dir = await mkdtemp(\n join(shadow.parentDir ?? tmpdir(), 'zero-shadow-sync-'),\n );\n const dbPath = join(dir, 'shadow-replica.db');\n const db = new Database(lc, dbPath);\n try {\n await initialSync(\n lc,\n shard,\n db,\n upstreamURI,\n {\n // Shadow sync copies small samples, so one worker is plenty —\n // no reason to burn additional upstream connections.\n tableCopyWorkers: 1,\n textCopy: syncOptions?.textCopy,\n shadow,\n },\n context,\n );\n } finally {\n try {\n db.close();\n } catch (e) {\n lc.warn?.(`Error closing shadow replica db`, e);\n }\n await rm(dir, {recursive: true, force: true}).catch(e =>\n lc.warn?.(`Error cleaning up shadow replica dir ${dir}`, e),\n );\n }\n}\n\nasync function checkUpstreamConfig(sql: PostgresDB) {\n const {walLevel, version} = (\n await sql<{walLevel: string; version: number}[]>`\n SELECT current_setting('wal_level') as \"walLevel\", \n current_setting('server_version_num') as \"version\";\n `\n )[0];\n\n if (walLevel !== 'logical') {\n throw new Error(\n `Postgres must be configured with \"wal_level = logical\" (currently: \"${walLevel})`,\n );\n }\n if (version < PG_15) {\n throw new Error(\n `Must be running Postgres 15 or higher (currently: \"${version}\")`,\n );\n }\n return version;\n}\n\nasync function ensurePublishedTables(\n lc: LogContext,\n sql: PostgresDB,\n shard: ShardConfig,\n validate = true,\n): Promise<{publications: string[]}> {\n const {database, host} = sql.options;\n lc.info?.(`Ensuring upstream PUBLICATION on ${database}@${host}`);\n\n await ensureShardSchema(lc, sql, shard);\n const {publications} = await getInternalShardConfig(sql, shard);\n\n if (validate) {\n let valid = false;\n const nonInternalPublications = publications.filter(\n p => !p.startsWith('_'),\n );\n const exists = await sql`\n SELECT pubname FROM pg_publication WHERE pubname IN ${sql(publications)}\n `.values();\n if (exists.length !== publications.length) {\n lc.warn?.(\n `some configured publications [${publications}] are missing: ` +\n `[${exists.flat()}]. resyncing`,\n );\n } else if (\n !equals(new Set(shard.publications), new Set(nonInternalPublications))\n ) {\n lc.warn?.(\n `requested publications [${shard.publications}] differ from previous` +\n `publications [${nonInternalPublications}]. resyncing`,\n );\n } else {\n valid = true;\n }\n if (!valid) {\n await sql.unsafe(dropShard(shard.appID, shard.shardNum));\n return ensurePublishedTables(lc, sql, shard, false);\n }\n }\n return {publications};\n}\n\nfunction startTableCopyWorkers(\n lc: LogContext,\n db: PostgresDB,\n snapshot: string,\n numWorkers: number,\n numTables: number,\n): TransactionPool {\n const {init} = importSnapshot(snapshot);\n const tableCopiers = new TransactionPool(lc, {\n mode: Mode.READONLY,\n init,\n initialWorkers: numWorkers,\n });\n tableCopiers.run(db);\n\n lc.info?.(`Started ${numWorkers} workers to copy ${numTables} tables`);\n\n if (parseInt(process.versions.node) < 22) {\n lc.warn?.(\n `\\n\\n\\n` +\n `Older versions of Node have a bug that results in an unresponsive\\n` +\n `Postgres connection after running certain combinations of COPY commands.\\n` +\n `If initial sync hangs, run zero-cache with Node v22+. This has the additional\\n` +\n `benefit of being consistent with the Node version run in the production container image.` +\n `\\n\\n\\n`,\n );\n }\n return tableCopiers;\n}\n\n/**\n * Shadow-mode alternative to `createReplicationSlot`: opens a dedicated\n * READ ONLY REPEATABLE READ transaction on a normal connection, exports the\n * snapshot and captures the current WAL LSN, then holds the transaction\n * open until `release()` is called. The held transaction keeps the snapshot\n * importable by the table-copy workers for the duration of the COPY phase.\n *\n * Idle-in-transaction timeout is disabled locally so the exporter doesn't\n * get killed while workers are still importing.\n */\nasync function acquireExportedSnapshotForShadowSync(\n lc: LogContext,\n upstreamURI: string,\n): Promise<{\n snapshot: string;\n lsn: string;\n release: () => Promise<void>;\n}> {\n const holder = pgClient(lc, upstreamURI, 'shadow-initial-sync-snapshot', {\n max: 1,\n });\n const ready = resolver<{snapshot: string; lsn: string}>();\n const release = resolver<void>();\n const held = holder\n .begin(Mode.READONLY, async tx => {\n await tx`SET LOCAL idle_in_transaction_session_timeout = 0`.execute();\n const [row] = await tx<{snapshot: string; lsn: string}[]>`\n SELECT pg_export_snapshot() AS snapshot,\n pg_current_wal_lsn()::text AS lsn`;\n ready.resolve(row);\n await release.promise;\n })\n .catch(e => ready.reject(e));\n\n let snapshot: string;\n let lsn: string;\n try {\n ({snapshot, lsn} = await ready.promise);\n } catch (e) {\n await holder\n .end()\n .catch(err =>\n lc.warn?.(`Error ending shadow snapshot holder after failure`, err),\n );\n throw e;\n }\n lc.info?.(\n `Exported snapshot ${snapshot} at LSN ${lsn} (shadow initial sync)`,\n );\n return {\n snapshot,\n lsn,\n release: async () => {\n release.resolve();\n try {\n await held;\n } catch (e) {\n lc.warn?.(`snapshot holder transaction ended with error`, e);\n }\n await holder.end();\n },\n };\n}\n\nfunction createLiteTables(\n tx: Database,\n tables: PublishedTableSpec[],\n initialVersion: string,\n) {\n // TODO: Figure out how to reuse the ChangeProcessor here to avoid\n // duplicating the ColumnMetadata logic.\n const columnMetadata = must(ColumnMetadataStore.getInstance(tx));\n for (const t of tables) {\n tx.exec(createLiteTableStatement(mapPostgresToLite(t, initialVersion)));\n const tableName = liteTableName(t);\n for (const [colName, colSpec] of Object.entries(t.columns)) {\n columnMetadata.insert(tableName, colName, colSpec);\n }\n }\n}\n\nfunction createLiteIndices(tx: Database, indices: IndexSpec[]) {\n for (const index of indices) {\n tx.exec(createLiteIndexStatement(mapPostgresToLiteIndex(index)));\n }\n}\n\n/**\n * Runs structural assertions over a just-synced replica and throws if any\n * fail. Only called in shadow mode — a successful return means the replica\n * is schema-complete, row-count consistent, ZQL-queryable, and its column\n * metadata is in sync with its lite schema.\n *\n * Exported for testing.\n */\nexport function verifyShadowReplica(\n lc: LogContext,\n db: Database,\n published: {tables: PublishedTableSpec[]; indexes: IndexSpec[]},\n rowsByTable: ReadonlyMap<string, number>,\n): void {\n const issues: string[] = [];\n\n // 1. Schema completeness: every published table exists in the replica\n // with at least the expected column set.\n const liteTables = listTables(db);\n const liteTableByName = new Map(liteTables.map(t => [t.name, t]));\n for (const pt of published.tables) {\n const name = liteTableName(pt);\n const lite = liteTableByName.get(name);\n if (!lite) {\n issues.push(`missing table in replica: ${name}`);\n continue;\n }\n for (const col of Object.keys(pt.columns)) {\n if (!(col in lite.columns)) {\n issues.push(`column missing in replica table ${name}: ${col}`);\n }\n }\n }\n\n // Every published index exists in the replica.\n const liteIndexNames = new Set(listIndexes(db).map(i => i.name));\n for (const ix of published.indexes) {\n const mapped = mapPostgresToLiteIndex(ix);\n if (!liteIndexNames.has(mapped.name)) {\n issues.push(\n `missing index in replica: ${mapped.name} on ${mapped.tableName}`,\n );\n }\n }\n\n // 2. Row counts: SQLite COUNT(*) matches the in-memory copy counter.\n for (const [table, expected] of rowsByTable) {\n try {\n const [row] = db\n .prepare(`SELECT COUNT(*) as count FROM \"${table}\"`)\n .all<{count: number}>();\n if (row.count !== expected) {\n issues.push(\n `row count mismatch for table ${table}: ` +\n `copy counter reported ${expected}, replica has ${row.count}`,\n );\n }\n } catch (e) {\n issues.push(`could not count rows in table ${table}: ${String(e)}`);\n }\n }\n\n // 3. ZQL-queryability: every published table survives computeZqlSpecs's\n // filtering (primary-key candidate, ZQL-typed columns, etc.).\n const tableSpecs = computeZqlSpecs(lc, db, {\n includeBackfillingColumns: false,\n });\n for (const pt of published.tables) {\n const name = liteTableName(pt);\n if (!tableSpecs.has(name)) {\n issues.push(\n `table not queryable via ZQL (dropped by computeZqlSpecs): ${name}`,\n );\n }\n }\n\n // 4. Column metadata: every published column has a _zero.column_metadata row.\n const meta = must(ColumnMetadataStore.getInstance(db));\n for (const pt of published.tables) {\n const name = liteTableName(pt);\n const rows = meta.getTable(name);\n for (const col of Object.keys(pt.columns)) {\n if (!rows.has(col)) {\n issues.push(`missing column_metadata row for ${name}.${col}`);\n }\n }\n }\n\n if (issues.length) {\n throw new Error(\n `Shadow replica verification failed (${issues.length} issue(s)):\\n` +\n issues.map(i => ` - ${i}`).join('\\n'),\n );\n }\n}\n\n// Verified empirically that batches of 50 seem to be the sweet spot,\n// similar to the report in https://sqlite.org/forum/forumpost/8878a512d3652655\n//\n// Exported for testing.\nexport const INSERT_BATCH_SIZE = 50;\n\nconst MB = 1024 * 1024;\nconst MAX_BUFFERED_ROWS = 10_000;\nconst BUFFERED_SIZE_THRESHOLD = 8 * MB;\n\nexport type DownloadStatements = {\n select: string;\n getTotalRows: string;\n getTotalBytes: string;\n};\n\n/**\n * Produces ` TABLESAMPLE BERNOULLI(n)` when `sampleRate` is < 1, else `''`.\n * Row-level Bernoulli sampling is used (rather than SYSTEM) because it\n * produces a more uniform sample and, unlike SYSTEM, still returns rows\n * for small tables at low rates.\n */\nfunction tableSampleClause(sampleRate: number | undefined): string {\n if (sampleRate === undefined || sampleRate >= 1) {\n return '';\n }\n // Round away float noise (e.g. 0.3 * 100 = 30.000000000000004) while still\n // preserving sub-integer rates like 0.001 (= 0.1%).\n const pct = parseFloat((sampleRate * 100).toFixed(6));\n return /*sql*/ ` TABLESAMPLE BERNOULLI(${pct})`;\n}\n\nfunction limitClause(maxRowsPerTable: number | undefined): string {\n return maxRowsPerTable !== undefined\n ? /*sql*/ ` LIMIT ${maxRowsPerTable}`\n : '';\n}\n\n/**\n * Returns the SELECT column expressions for binary COPY, casting columns\n * without a known binary decoder to `::text`.\n */\nexport function makeBinarySelectExprs(\n table: PublishedTableSpec,\n cols: string[],\n): string[] {\n return cols.map(col => {\n const spec = table.columns[col];\n return hasBinaryDecoder(spec) ? id(col) : `${id(col)}::text`;\n });\n}\n\nexport function makeDownloadStatements(\n table: PublishedTableSpec,\n cols: string[],\n sampleRate?: number | undefined,\n maxRowsPerTable?: number | undefined,\n selectExprs?: string[] | undefined,\n): DownloadStatements {\n const filterConditions = Object.values(table.publications)\n .map(({rowFilter}) => rowFilter)\n .filter(f => !!f); // remove nulls\n const where =\n filterConditions.length === 0\n ? ''\n : /*sql*/ `WHERE ${filterConditions.join(' OR ')}`;\n const sample = tableSampleClause(sampleRate);\n const limit = limitClause(maxRowsPerTable);\n const fromTable = /*sql*/ `FROM ${id(table.schema)}.${id(table.name)}${sample} ${where}`;\n const select = /*sql*/ `SELECT ${(selectExprs ?? cols.map(id)).join(',')} ${fromTable}${limit}`;\n if (limit) {\n // With LIMIT, wrap counts/sums in a subquery so they reflect the\n // capped rowset rather than the full (sampled) table.\n const bytesExpr = cols\n .map(col => `COALESCE(pg_column_size(${id(col)}), 0)`)\n .join(' + ');\n return {\n select,\n getTotalRows: /*sql*/ `SELECT COUNT(*)::bigint AS \"totalRows\" FROM (SELECT 1 AS _ ${fromTable}${limit}) s`,\n getTotalBytes: /*sql*/ `SELECT COALESCE(SUM(b), 0)::bigint AS \"totalBytes\" FROM (SELECT (${bytesExpr}) AS b ${fromTable}${limit}) s`,\n };\n }\n const totalBytes = `(${cols.map(col => `SUM(COALESCE(pg_column_size(${id(col)}), 0))`).join(' + ')})`;\n return {\n select,\n getTotalRows: /*sql*/ `SELECT COUNT(*) AS \"totalRows\" ${fromTable}`,\n getTotalBytes: /*sql*/ `SELECT ${totalBytes} AS \"totalBytes\" ${fromTable}`,\n };\n}\n\ntype DownloadState = {\n spec: PublishedTableSpec;\n status: DownloadStatus;\n};\n\n// Exported for testing.\nexport async function getInitialDownloadState(\n lc: LogContext,\n sql: PostgresDB,\n spec: PublishedTableSpec,\n skipTotals: boolean,\n): Promise<DownloadState> {\n const start = performance.now();\n const table = liteTableName(spec);\n const columns = Object.keys(spec.columns);\n if (skipTotals) {\n // Shadow sync suppresses status events, so the pg_class\n // estimates would be computed and thrown away.\n return {\n spec,\n status: {table, columns, rows: 0, totalRows: 0, totalBytes: 0},\n };\n }\n // Use pg_class estimates instead of expensive COUNT(*) and\n // SUM(pg_column_size(...)) full table scans. The exact values are only\n // used for progress reporting, so estimates are sufficient.\n const qualifiedName = `${id(spec.schema)}.${id(spec.name)}`;\n const estimateResult = await sql<\n {totalRows: number; totalBytes: number}[]\n >`SELECT GREATEST(reltuples, 0)::float8 AS \"totalRows\",\n pg_table_size(oid)::float8 AS \"totalBytes\"\n FROM pg_class\n WHERE oid = ${qualifiedName}::regclass`;\n\n const {totalRows, totalBytes} = estimateResult[0] ?? {\n totalRows: 0,\n totalBytes: 0,\n };\n\n const state: DownloadState = {\n spec,\n status: {\n table,\n columns,\n rows: 0,\n totalRows,\n totalBytes,\n },\n };\n const elapsed = (performance.now() - start).toFixed(3);\n lc.info?.(`Computed initial download state for ${table} (${elapsed} ms)`, {\n state: state.status,\n });\n return state;\n}\n\nfunction copy(\n lc: LogContext,\n {spec: table, status}: DownloadState,\n dbClient: PostgresDB,\n from: PostgresTransaction,\n to: Database,\n textCopy: boolean,\n sampleRate?: number | undefined,\n maxRowsPerTable?: number | undefined,\n) {\n if (textCopy) {\n return copyText(\n lc,\n table,\n status,\n dbClient,\n from,\n to,\n sampleRate,\n maxRowsPerTable,\n );\n }\n return copyBinary(lc, table, status, from, to, sampleRate, maxRowsPerTable);\n}\n\nasync function copyBinary(\n lc: LogContext,\n table: PublishedTableSpec,\n status: DownloadStatus,\n from: PostgresTransaction,\n to: Database,\n sampleRate?: number | undefined,\n maxRowsPerTable?: number | undefined,\n) {\n const start = performance.now();\n let flushTime = 0;\n\n const tableName = liteTableName(table);\n const orderedColumns = Object.entries(table.columns);\n\n const columnNames = orderedColumns.map(([c]) => c);\n const columnSpecs = orderedColumns.map(([_name, spec]) => spec);\n const insertColumnList = columnNames.map(c => id(c)).join(',');\n\n const valuesSql =\n columnNames.length > 0 ? `(${'?,'.repeat(columnNames.length - 1)}?)` : '()';\n const insertSql = /*sql*/ `\n INSERT INTO \"${tableName}\" (${insertColumnList}) VALUES ${valuesSql}`;\n const insertStmt = to.prepare(insertSql);\n const insertBatchStmt = to.prepare(\n insertSql + `,${valuesSql}`.repeat(INSERT_BATCH_SIZE - 1),\n );\n\n // Build SELECT with ::text casts for columns without a known binary decoder.\n const select = makeDownloadStatements(\n table,\n columnNames,\n sampleRate,\n maxRowsPerTable,\n makeBinarySelectExprs(table, columnNames),\n ).select;\n\n const decoders = orderedColumns.map(([, spec]) =>\n hasBinaryDecoder(spec) ? makeBinaryDecoder(spec) : textCastDecoder,\n );\n\n const valuesPerRow = columnSpecs.length;\n const valuesPerBatch = valuesPerRow * INSERT_BATCH_SIZE;\n\n const pendingValues: LiteValueType[] = Array.from({\n length: MAX_BUFFERED_ROWS * valuesPerRow,\n });\n let pendingRows = 0;\n let pendingSize = 0;\n\n function flush() {\n const start = performance.now();\n const flushedRows = pendingRows;\n const flushedSize = pendingSize;\n\n let l = 0;\n for (; pendingRows > INSERT_BATCH_SIZE; pendingRows -= INSERT_BATCH_SIZE) {\n insertBatchStmt.run(pendingValues.slice(l, (l += valuesPerBatch)));\n }\n for (; pendingRows > 0; pendingRows--) {\n insertStmt.run(pendingValues.slice(l, (l += valuesPerRow)));\n }\n const flushedValues = flushedRows * valuesPerRow;\n for (let i = 0; i < flushedValues; i++) {\n pendingValues[i] = undefined as unknown as LiteValueType;\n }\n pendingSize = 0;\n status.rows += flushedRows;\n\n const elapsed = performance.now() - start;\n flushTime += elapsed;\n lc.debug?.(\n `flushed ${flushedRows} ${tableName} rows (${flushedSize} bytes) in ${elapsed.toFixed(3)} ms`,\n );\n }\n\n const binaryParser = new BinaryCopyParser();\n let col = 0;\n\n lc.info?.(`Starting binary copy stream of ${tableName}:`, select);\n\n await pipeline(\n await from\n .unsafe(`COPY (${select}) TO STDOUT WITH (FORMAT binary)`)\n .readable(),\n new Writable({\n highWaterMark: BUFFERED_SIZE_THRESHOLD,\n\n write(\n chunk: Buffer,\n _encoding: string,\n callback: (error?: Error) => void,\n ) {\n try {\n for (const fieldBuf of binaryParser.parse(chunk)) {\n pendingSize += fieldBuf === null ? 4 : fieldBuf.length;\n pendingValues[pendingRows * valuesPerRow + col] =\n fieldBuf === null ? null : decoders[col](fieldBuf);\n\n if (++col === decoders.length) {\n col = 0;\n if (\n ++pendingRows >= MAX_BUFFERED_ROWS - valuesPerRow ||\n pendingSize >= BUFFERED_SIZE_THRESHOLD\n ) {\n flush();\n }\n }\n }\n callback();\n } catch (e) {\n callback(e instanceof Error ? e : new Error(String(e)));\n }\n },\n\n final: (callback: (error?: Error) => void) => {\n try {\n flush();\n callback();\n } catch (e) {\n callback(e instanceof Error ? e : new Error(String(e)));\n }\n },\n }),\n );\n\n const elapsed = performance.now() - start;\n lc.info?.(\n `Finished copying ${status.rows} rows into ${tableName} ` +\n `(flush: ${flushTime.toFixed(3)} ms) (total: ${elapsed.toFixed(3)} ms) `,\n );\n return {rows: status.rows, flushTime};\n}\n\nasync function copyText(\n lc: LogContext,\n table: PublishedTableSpec,\n status: DownloadStatus,\n dbClient: PostgresDB,\n from: PostgresTransaction,\n to: Database,\n sampleRate?: number | undefined,\n maxRowsPerTable?: number | undefined,\n) {\n const start = performance.now();\n let flushTime = 0;\n\n const tableName = liteTableName(table);\n const orderedColumns = Object.entries(table.columns);\n\n const columnNames = orderedColumns.map(([c]) => c);\n const columnSpecs = orderedColumns.map(([_name, spec]) => spec);\n const insertColumnList = columnNames.map(c => id(c)).join(',');\n\n const valuesSql =\n columnNames.length > 0 ? `(${'?,'.repeat(columnNames.length - 1)}?)` : '()';\n const insertSql = /*sql*/ `\n INSERT INTO \"${tableName}\" (${insertColumnList}) VALUES ${valuesSql}`;\n const insertStmt = to.prepare(insertSql);\n const insertBatchStmt = to.prepare(\n insertSql + `,${valuesSql}`.repeat(INSERT_BATCH_SIZE - 1),\n );\n\n const {select} = makeDownloadStatements(\n table,\n columnNames,\n sampleRate,\n maxRowsPerTable,\n );\n const valuesPerRow = columnSpecs.length;\n const valuesPerBatch = valuesPerRow * INSERT_BATCH_SIZE;\n\n const pendingValues: LiteValueType[] = Array.from({\n length: MAX_BUFFERED_ROWS * valuesPerRow,\n });\n let pendingRows = 0;\n let pendingSize = 0;\n\n function flush() {\n const start = performance.now();\n const flushedRows = pendingRows;\n const flushedSize = pendingSize;\n\n let l = 0;\n for (; pendingRows > INSERT_BATCH_SIZE; pendingRows -= INSERT_BATCH_SIZE) {\n insertBatchStmt.run(pendingValues.slice(l, (l += valuesPerBatch)));\n }\n for (; pendingRows > 0; pendingRows--) {\n insertStmt.run(pendingValues.slice(l, (l += valuesPerRow)));\n }\n const flushedValues = flushedRows * valuesPerRow;\n for (let i = 0; i < flushedValues; i++) {\n pendingValues[i] = undefined as unknown as LiteValueType;\n }\n pendingSize = 0;\n status.rows += flushedRows;\n\n const elapsed = performance.now() - start;\n flushTime += elapsed;\n lc.debug?.(\n `flushed ${flushedRows} ${tableName} rows (${flushedSize} bytes) in ${elapsed.toFixed(3)} ms`,\n );\n }\n\n lc.info?.(`Starting text copy stream of ${tableName}:`, select);\n const pgParsers = await getTypeParsers(dbClient, {returnJsonAsString: true});\n const parsers = columnSpecs.map(c => {\n const pgParse = pgParsers.getTypeParser(c.typeOID);\n return (val: string) =>\n liteValue(\n pgParse(val) as PostgresValueType,\n c.dataType,\n JSON_STRINGIFIED,\n );\n });\n\n const tsvParser = new TsvParser();\n let col = 0;\n\n await pipeline(\n await from.unsafe(`COPY (${select}) TO STDOUT`).readable(),\n new Writable({\n highWaterMark: BUFFERED_SIZE_THRESHOLD,\n\n write(\n chunk: Buffer,\n _encoding: string,\n callback: (error?: Error) => void,\n ) {\n try {\n for (const text of tsvParser.parse(chunk)) {\n pendingSize += text === null ? 4 : text.length;\n pendingValues[pendingRows * valuesPerRow + col] =\n text === null ? null : parsers[col](text);\n\n if (++col === parsers.length) {\n col = 0;\n if (\n ++pendingRows >= MAX_BUFFERED_ROWS - valuesPerRow ||\n pendingSize >= BUFFERED_SIZE_THRESHOLD\n ) {\n flush();\n }\n }\n }\n callback();\n } catch (e) {\n callback(e instanceof Error ? e : new Error(String(e)));\n }\n },\n\n final: (callback: (error?: Error) => void) => {\n try {\n flush();\n callback();\n } catch (e) {\n callback(e instanceof Error ? e : new Error(String(e)));\n }\n },\n }),\n );\n\n const elapsed = performance.now() - start;\n lc.info?.(\n `Finished copying ${status.rows} rows into ${tableName} ` +\n `(flush: ${flushTime.toFixed(3)} ms) (total: ${elapsed.toFixed(3)} ms) `,\n );\n return {rows: status.rows, flushTime};\n}\n"],"mappings":"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"}