@rocicorp/zero 1.6.0-canary.10 → 1.6.0-canary.12

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 (1655) hide show
  1. package/out/_virtual/_rolldown/runtime.js +1 -12
  2. package/out/analyze-query/src/analyze-cli.js +288 -0
  3. package/out/analyze-query/src/analyze-cli.js.map +1 -0
  4. package/out/analyze-query/src/bin-analyze.js.map +1 -0
  5. package/out/analyze-query/src/bin-transform.js.map +1 -0
  6. package/out/ast-to-zql/src/ast-to-zql.js.map +1 -0
  7. package/out/ast-to-zql/src/bin.js.map +1 -0
  8. package/out/ast-to-zql/src/format.js.map +1 -0
  9. package/out/datadog/src/datadog-log-sink.js.map +1 -0
  10. package/out/otel/src/enabled.js.map +1 -0
  11. package/out/otel/src/log-options.js.map +1 -0
  12. package/out/otel/src/maybe-time.js.map +1 -0
  13. package/out/otel/src/span.js.map +1 -0
  14. package/out/otel/src/version.js.map +1 -0
  15. package/out/replicache/src/async-iterable-to-array.js.map +1 -0
  16. package/out/replicache/src/bg-interval.js.map +1 -0
  17. package/out/replicache/src/btree/diff.js.map +1 -0
  18. package/out/replicache/src/btree/node.js.map +1 -0
  19. package/out/replicache/src/btree/read.js.map +1 -0
  20. package/out/replicache/src/btree/splice.js.map +1 -0
  21. package/out/replicache/src/btree/write.js.map +1 -0
  22. package/out/replicache/src/call-default-fetch.js.map +1 -0
  23. package/out/replicache/src/connection-loop-delegates.js.map +1 -0
  24. package/out/replicache/src/connection-loop.js.map +1 -0
  25. package/out/replicache/src/cookies.js.map +1 -0
  26. package/out/replicache/src/dag/chunk.js.map +1 -0
  27. package/out/replicache/src/dag/gc.js.map +1 -0
  28. package/out/replicache/src/dag/key.js.map +1 -0
  29. package/out/replicache/src/dag/lazy-store.js.map +1 -0
  30. package/out/replicache/src/dag/store-impl.js.map +1 -0
  31. package/out/replicache/src/dag/store.js.map +1 -0
  32. package/out/replicache/src/dag/visitor.js.map +1 -0
  33. package/out/replicache/src/db/commit.js.map +1 -0
  34. package/out/replicache/src/db/index.js.map +1 -0
  35. package/out/replicache/src/db/read.js.map +1 -0
  36. package/out/replicache/src/db/rebase.js.map +1 -0
  37. package/out/replicache/src/db/write.js.map +1 -0
  38. package/out/replicache/src/deleted-clients.js.map +1 -0
  39. package/out/replicache/src/error-responses.js.map +1 -0
  40. package/out/replicache/src/frozen-json.js.map +1 -0
  41. package/out/replicache/src/get-default-puller.js.map +1 -0
  42. package/out/replicache/src/get-default-pusher.js.map +1 -0
  43. package/out/replicache/src/get-kv-store-provider.js.map +1 -0
  44. package/out/replicache/src/hash.js.map +1 -0
  45. package/out/replicache/src/http-request-info.js.map +1 -0
  46. package/out/replicache/src/index-defs.js.map +1 -0
  47. package/out/replicache/src/kv/expo-sqlite/store.js.map +1 -0
  48. package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +1 -0
  49. package/out/replicache/src/kv/idb-store.js.map +1 -0
  50. package/out/replicache/src/kv/mem-store.js.map +1 -0
  51. package/out/replicache/src/kv/op-sqlite/store.js.map +1 -0
  52. package/out/replicache/src/kv/op-sqlite/types.js.map +1 -0
  53. package/out/replicache/src/kv/read-impl.js.map +1 -0
  54. package/out/replicache/src/kv/sqlite-store.js.map +1 -0
  55. package/out/replicache/src/kv/throw-if-closed.js.map +1 -0
  56. package/out/replicache/src/kv/write-impl-base.js.map +1 -0
  57. package/out/replicache/src/kv/write-impl.js.map +1 -0
  58. package/out/replicache/src/lazy.js.map +1 -0
  59. package/out/replicache/src/log-options.js.map +1 -0
  60. package/out/replicache/src/make-idb-name.js.map +1 -0
  61. package/out/replicache/src/new-client-channel.js.map +1 -0
  62. package/out/replicache/src/on-persist-channel.js.map +1 -0
  63. package/out/replicache/src/patch-operation.js.map +1 -0
  64. package/out/replicache/src/pending-mutations.js.map +1 -0
  65. package/out/replicache/src/persist/client-gc.js.map +1 -0
  66. package/out/replicache/src/persist/client-group-gc.js.map +1 -0
  67. package/out/replicache/src/persist/client-groups.js.map +1 -0
  68. package/out/replicache/src/persist/clients.js.map +1 -0
  69. package/out/replicache/src/persist/collect-idb-databases.js.map +1 -0
  70. package/out/replicache/src/persist/gather-mem-only-visitor.js.map +1 -0
  71. package/out/replicache/src/persist/gather-not-cached-visitor.js.map +1 -0
  72. package/out/replicache/src/persist/heartbeat.js.map +1 -0
  73. package/out/replicache/src/persist/idb-databases-store-db-name.js.map +1 -0
  74. package/out/replicache/src/persist/idb-databases-store.js.map +1 -0
  75. package/out/replicache/src/persist/make-client-id.js.map +1 -0
  76. package/out/replicache/src/persist/persist.js.map +1 -0
  77. package/out/replicache/src/persist/refresh.js.map +1 -0
  78. package/out/replicache/src/process-scheduler.js.map +1 -0
  79. package/out/replicache/src/pusher.js.map +1 -0
  80. package/out/replicache/src/replicache-impl.js.map +1 -0
  81. package/out/replicache/src/report-error.js.map +1 -0
  82. package/out/replicache/src/request-idle.js.map +1 -0
  83. package/out/replicache/src/scan-iterator.js.map +1 -0
  84. package/out/replicache/src/scan-options.js.map +1 -0
  85. package/out/replicache/src/set-interval-with-signal.js.map +1 -0
  86. package/out/replicache/src/subscriptions.js.map +1 -0
  87. package/out/replicache/src/sync/diff.js.map +1 -0
  88. package/out/replicache/src/sync/ids.js.map +1 -0
  89. package/out/replicache/src/sync/patch.js.map +1 -0
  90. package/out/replicache/src/sync/pull-error.js.map +1 -0
  91. package/out/replicache/src/sync/pull.js.map +1 -0
  92. package/out/replicache/src/sync/push.js.map +1 -0
  93. package/out/replicache/src/sync/request-id.js.map +1 -0
  94. package/out/replicache/src/sync/sync-head-name.js.map +1 -0
  95. package/out/replicache/src/to-error.js.map +1 -0
  96. package/out/replicache/src/transaction-closed-error.js.map +1 -0
  97. package/out/replicache/src/transactions.js.map +1 -0
  98. package/out/replicache/src/version.js.map +1 -0
  99. package/out/replicache/src/with-transactions.js.map +1 -0
  100. package/out/shared/src/abort-error.js.map +1 -0
  101. package/out/shared/src/arrays.js.map +1 -0
  102. package/out/shared/src/asserts.js.map +1 -0
  103. package/out/shared/src/bigint-json.js.map +1 -0
  104. package/out/shared/src/binary-search.js.map +1 -0
  105. package/out/shared/src/broadcast-channel.js.map +1 -0
  106. package/out/shared/src/browser-env.js.map +1 -0
  107. package/out/shared/src/btree-set.js.map +1 -0
  108. package/out/shared/src/cache.js.map +1 -0
  109. package/out/shared/src/centroid.js.map +1 -0
  110. package/out/shared/src/config.js.map +1 -0
  111. package/out/shared/src/custom-key-map.js.map +1 -0
  112. package/out/shared/src/custom-key-set.js.map +1 -0
  113. package/out/shared/src/deep-clone.js.map +1 -0
  114. package/out/shared/src/deep-merge.js.map +1 -0
  115. package/out/shared/src/document-visible.js.map +1 -0
  116. package/out/shared/src/dotenv.js.map +1 -0
  117. package/out/shared/src/error.js.map +1 -0
  118. package/out/shared/src/has-own.js.map +1 -0
  119. package/out/shared/src/hash.js.map +1 -0
  120. package/out/shared/src/iterables.d.ts +2 -0
  121. package/out/shared/src/iterables.d.ts.map +1 -1
  122. package/out/shared/src/iterables.js +61 -0
  123. package/out/shared/src/iterables.js.map +1 -0
  124. package/out/shared/src/json-schema.js.map +1 -0
  125. package/out/shared/src/json.js.map +1 -0
  126. package/out/shared/src/logging-test-utils.js.map +1 -0
  127. package/out/shared/src/logging.js.map +1 -0
  128. package/out/shared/src/map.js.map +1 -0
  129. package/out/shared/src/must.js.map +1 -0
  130. package/out/shared/src/navigator.js.map +1 -0
  131. package/out/shared/src/object-traversal.js.map +1 -0
  132. package/out/shared/src/objects.js.map +1 -0
  133. package/out/shared/src/options.js.map +1 -0
  134. package/out/shared/src/parse-big-int.js.map +1 -0
  135. package/out/shared/src/promise-race.js.map +1 -0
  136. package/out/shared/src/queue.js.map +1 -0
  137. package/out/shared/src/rand.js.map +1 -0
  138. package/out/shared/src/random-uint64.js.map +1 -0
  139. package/out/shared/src/random-values.js.map +1 -0
  140. package/out/shared/src/record-proxy.js.map +1 -0
  141. package/out/shared/src/resolved-promises.js.map +1 -0
  142. package/out/shared/src/ring-buffer.js.map +1 -0
  143. package/out/shared/src/sentinels.js.map +1 -0
  144. package/out/shared/src/set-utils.js.map +1 -0
  145. package/out/shared/src/size-of-value.js.map +1 -0
  146. package/out/shared/src/sleep.js.map +1 -0
  147. package/out/shared/src/sorted-entries.js.map +1 -0
  148. package/out/shared/src/string-compare.js.map +1 -0
  149. package/out/shared/src/subscribable.js.map +1 -0
  150. package/out/shared/src/tdigest-schema.js.map +1 -0
  151. package/out/shared/src/tdigest.js.map +1 -0
  152. package/out/shared/src/valita.js +172 -0
  153. package/out/shared/src/valita.js.map +1 -0
  154. package/out/z2s/src/compiler.js.map +1 -0
  155. package/out/z2s/src/sql.js.map +1 -0
  156. package/out/zero/package.js +213 -0
  157. package/out/zero/package.js.map +1 -0
  158. package/out/zero/src/adapters/drizzle.js +1 -1
  159. package/out/zero/src/adapters/kysely.js +1 -1
  160. package/out/zero/src/adapters/pg.js +1 -1
  161. package/out/zero/src/adapters/postgresjs.js +1 -1
  162. package/out/zero/src/adapters/prisma.js +1 -1
  163. package/out/zero/src/analyze-query.js +1 -1
  164. package/out/zero/src/analyze.js +1 -1
  165. package/out/zero/src/ast-to-zql.js +1 -1
  166. package/out/zero/src/bindings.js +11 -11
  167. package/out/zero/src/change-protocol/v0.js +2 -2
  168. package/out/zero/src/cli.js +1 -1
  169. package/out/zero/src/deploy-permissions.js +1 -1
  170. package/out/zero/src/expo-sqlite.js +2 -2
  171. package/out/zero/src/op-sqlite.js +2 -2
  172. package/out/zero/src/pg.js +9 -9
  173. package/out/zero/src/react-native.js +2 -2
  174. package/out/zero/src/react.js +5 -5
  175. package/out/zero/src/server.js +8 -8
  176. package/out/zero/src/solid.js +5 -5
  177. package/out/zero/src/sqlite.js +2 -2
  178. package/out/zero/src/transform-query.js +1 -1
  179. package/out/zero/src/zero-cache-dev.js +6 -6
  180. package/out/zero/src/zero-out.js +5 -5
  181. package/out/zero/src/zero.js +22 -22
  182. package/out/zero/src/zqlite.js +5 -5
  183. package/out/zero-cache/src/auth/auth.js.map +1 -0
  184. package/out/zero-cache/src/auth/jwt.js.map +1 -0
  185. package/out/zero-cache/src/auth/load-permissions.js.map +1 -0
  186. package/out/zero-cache/src/auth/read-authorizer.js.map +1 -0
  187. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -0
  188. package/out/zero-cache/src/config/network.js.map +1 -0
  189. package/out/zero-cache/src/config/normalize.js.map +1 -0
  190. package/out/zero-cache/src/config/server-context.js.map +1 -0
  191. package/out/zero-cache/src/config/zero-config.js.map +1 -0
  192. package/out/zero-cache/src/custom/fetch.js.map +1 -0
  193. package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -0
  194. package/out/zero-cache/src/db/create.js.map +1 -0
  195. package/out/zero-cache/src/db/delete-lite-db.js.map +1 -0
  196. package/out/zero-cache/src/db/lite-tables.js.map +1 -0
  197. package/out/zero-cache/src/db/migration-lite.js.map +1 -0
  198. package/out/zero-cache/src/db/migration.js.map +1 -0
  199. package/out/zero-cache/src/db/mode-enum.js.map +1 -0
  200. package/out/zero-cache/src/db/pg-copy-binary.js.map +1 -0
  201. package/out/zero-cache/src/db/pg-copy.js.map +1 -0
  202. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -0
  203. package/out/zero-cache/src/db/pg-type-parser.js.map +1 -0
  204. package/out/zero-cache/src/db/run-transaction.js.map +1 -0
  205. package/out/zero-cache/src/db/specs.js.map +1 -0
  206. package/out/zero-cache/src/db/statements.js.map +1 -0
  207. package/out/zero-cache/src/db/transaction-pool.js.map +1 -0
  208. package/out/zero-cache/src/db/warmup.js.map +1 -0
  209. package/out/zero-cache/src/observability/events.js.map +1 -0
  210. package/out/zero-cache/src/observability/metrics.js.map +1 -0
  211. package/out/zero-cache/src/scripts/decommission.js.map +1 -0
  212. package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -0
  213. package/out/zero-cache/src/scripts/permissions.d.ts.map +1 -1
  214. package/out/zero-cache/src/scripts/permissions.js +92 -0
  215. package/out/zero-cache/src/scripts/permissions.js.map +1 -0
  216. package/out/zero-cache/src/server/anonymous-otel-start.js +306 -0
  217. package/out/zero-cache/src/server/anonymous-otel-start.js.map +1 -0
  218. package/out/zero-cache/src/server/change-streamer.js +26 -26
  219. package/out/zero-cache/src/server/inspector-delegate.js.map +1 -0
  220. package/out/zero-cache/src/server/logging.js.map +1 -0
  221. package/out/zero-cache/src/server/main.js +11 -11
  222. package/out/zero-cache/src/server/mutator.js +8 -8
  223. package/out/zero-cache/src/server/otel-diag-logger.js.map +1 -0
  224. package/out/zero-cache/src/server/otel-log-sink.js.map +1 -0
  225. package/out/zero-cache/src/server/otel-start.js +53 -0
  226. package/out/zero-cache/src/server/otel-start.js.map +1 -0
  227. package/out/zero-cache/src/server/priority-op.js.map +1 -0
  228. package/out/zero-cache/src/server/reaper.js +13 -13
  229. package/out/zero-cache/src/server/replicator.js +16 -16
  230. package/out/zero-cache/src/server/runner/main.js.map +1 -0
  231. package/out/zero-cache/src/server/runner/run-worker.js.map +1 -0
  232. package/out/zero-cache/src/server/runner/runtime.js.map +1 -0
  233. package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -0
  234. package/out/zero-cache/src/server/shadow-syncer.js +10 -10
  235. package/out/zero-cache/src/server/syncer.js +29 -29
  236. package/out/zero-cache/src/server/worker-dispatcher.js.map +1 -0
  237. package/out/zero-cache/src/server/worker-urls.js.map +1 -0
  238. package/out/zero-cache/src/server/write-worker.js +1 -1
  239. package/out/zero-cache/src/services/analyze.js +72 -0
  240. package/out/zero-cache/src/services/analyze.js.map +1 -0
  241. package/out/zero-cache/src/services/change-source/common/backfill-manager.js.map +1 -0
  242. package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.js.map +1 -0
  243. package/out/zero-cache/src/services/change-source/common/replica-schema.js.map +1 -0
  244. package/out/zero-cache/src/services/change-source/custom/change-source.js.map +1 -0
  245. package/out/zero-cache/src/services/change-source/pg/backfill-metadata.js.map +1 -0
  246. package/out/zero-cache/src/services/change-source/pg/backfill-stream.js.map +1 -0
  247. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -0
  248. package/out/zero-cache/src/services/change-source/pg/decommission.js.map +1 -0
  249. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -0
  250. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -0
  251. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js.map +1 -0
  252. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +1 -0
  253. package/out/zero-cache/src/services/change-source/pg/lsn.js.map +1 -0
  254. package/out/zero-cache/src/services/change-source/pg/replication-slots.js.map +1 -0
  255. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -0
  256. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -0
  257. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -0
  258. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -0
  259. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -0
  260. package/out/zero-cache/src/services/change-source/protocol/current/control.js.map +1 -0
  261. package/out/zero-cache/src/services/change-source/protocol/current/data.js.map +1 -0
  262. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js.map +1 -0
  263. package/out/zero-cache/src/services/change-source/protocol/current/json.js.map +1 -0
  264. package/out/zero-cache/src/services/change-source/protocol/current/path.js.map +1 -0
  265. package/out/zero-cache/src/services/change-source/protocol/current/status.js.map +1 -0
  266. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js.map +1 -0
  267. package/out/zero-cache/src/services/change-source/protocol/current.js +56 -0
  268. package/out/zero-cache/src/services/change-source/protocol/current.js.map +1 -0
  269. package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -0
  270. package/out/zero-cache/src/services/change-streamer/broadcast.js.map +1 -0
  271. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -0
  272. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -0
  273. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -0
  274. package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -0
  275. package/out/zero-cache/src/services/change-streamer/replica-monitor.js.map +1 -0
  276. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -0
  277. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -0
  278. package/out/zero-cache/src/services/change-streamer/snapshot.js.map +1 -0
  279. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -0
  280. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -0
  281. package/out/zero-cache/src/services/heapz.js.map +1 -0
  282. package/out/zero-cache/src/services/http-service.js.map +1 -0
  283. package/out/zero-cache/src/services/life-cycle.js.map +1 -0
  284. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js.map +1 -0
  285. package/out/zero-cache/src/services/litestream/commands.js.map +1 -0
  286. package/out/zero-cache/src/services/mutagen/error.js.map +1 -0
  287. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -0
  288. package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -0
  289. package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -0
  290. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -0
  291. package/out/zero-cache/src/services/replicator/notifier.js.map +1 -0
  292. package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -0
  293. package/out/zero-cache/src/services/replicator/replicator.js.map +1 -0
  294. package/out/zero-cache/src/services/replicator/reporter/recorder.js.map +1 -0
  295. package/out/zero-cache/src/services/replicator/reporter/report-schema.js.map +1 -0
  296. package/out/zero-cache/src/services/replicator/schema/change-log.js.map +1 -0
  297. package/out/zero-cache/src/services/replicator/schema/column-metadata.js.map +1 -0
  298. package/out/zero-cache/src/services/replicator/schema/constants.js.map +1 -0
  299. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -0
  300. package/out/zero-cache/src/services/replicator/schema/table-metadata.js.map +1 -0
  301. package/out/zero-cache/src/services/replicator/write-worker-client.js.map +1 -0
  302. package/out/zero-cache/src/services/replicator/write-worker.js.map +1 -0
  303. package/out/zero-cache/src/services/run-ast.js.map +1 -0
  304. package/out/zero-cache/src/services/runner.js.map +1 -0
  305. package/out/zero-cache/src/services/running-state.js.map +1 -0
  306. package/out/zero-cache/src/services/shadow-sync/shadow-sync-service.js.map +1 -0
  307. package/out/zero-cache/src/services/statz.js.map +1 -0
  308. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js.map +1 -0
  309. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -0
  310. package/out/zero-cache/src/services/view-syncer/client-schema.js.map +1 -0
  311. package/out/zero-cache/src/services/view-syncer/connection-context-manager.js.map +1 -0
  312. package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -0
  313. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  314. package/out/zero-cache/src/services/view-syncer/cvr-store.js +870 -0
  315. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -0
  316. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -0
  317. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -0
  318. package/out/zero-cache/src/services/view-syncer/inspect-handler.js +102 -0
  319. package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -0
  320. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -0
  321. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -0
  322. package/out/zero-cache/src/services/view-syncer/row-set-signature.js.map +1 -0
  323. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -0
  324. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -0
  325. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -0
  326. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -0
  327. package/out/zero-cache/src/services/view-syncer/tracer.js.map +1 -0
  328. package/out/zero-cache/src/services/view-syncer/ttl-clock.js.map +1 -0
  329. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -0
  330. package/out/zero-cache/src/types/configuration-error.js.map +1 -0
  331. package/out/zero-cache/src/types/error-with-level.js.map +1 -0
  332. package/out/zero-cache/src/types/http.js.map +1 -0
  333. package/out/zero-cache/src/types/lexi-version.js.map +1 -0
  334. package/out/zero-cache/src/types/lite.js.map +1 -0
  335. package/out/zero-cache/src/types/names.js.map +1 -0
  336. package/out/zero-cache/src/types/pg-data-type.js.map +1 -0
  337. package/out/zero-cache/src/types/pg-types.js.map +1 -0
  338. package/out/zero-cache/src/types/pg-versions.js.map +1 -0
  339. package/out/zero-cache/src/types/pg.js.map +1 -0
  340. package/out/zero-cache/src/types/processes.js.map +1 -0
  341. package/out/zero-cache/src/types/profiler.js.map +1 -0
  342. package/out/zero-cache/src/types/row-key.js.map +1 -0
  343. package/out/zero-cache/src/types/shards.js.map +1 -0
  344. package/out/zero-cache/src/types/sql.js.map +1 -0
  345. package/out/zero-cache/src/types/state-version.js.map +1 -0
  346. package/out/zero-cache/src/types/streams.js.map +1 -0
  347. package/out/zero-cache/src/types/strings.js.map +1 -0
  348. package/out/zero-cache/src/types/subscription.js.map +1 -0
  349. package/out/zero-cache/src/types/timeout.js.map +1 -0
  350. package/out/zero-cache/src/types/url-params.js.map +1 -0
  351. package/out/zero-cache/src/types/websocket-handoff.js.map +1 -0
  352. package/out/zero-cache/src/types/ws.js.map +1 -0
  353. package/out/zero-cache/src/workers/connect-params.js.map +1 -0
  354. package/out/zero-cache/src/workers/connection.js.map +1 -0
  355. package/out/zero-cache/src/workers/mutator.js.map +1 -0
  356. package/out/zero-cache/src/workers/replicator.js.map +1 -0
  357. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -0
  358. package/out/zero-cache/src/workers/syncer.js.map +1 -0
  359. package/out/zero-client/src/client/active-clients-manager.js.map +1 -0
  360. package/out/zero-client/src/client/client-error-kind-enum.js.map +1 -0
  361. package/out/zero-client/src/client/connection-manager.js.map +1 -0
  362. package/out/zero-client/src/client/connection-status-enum.js +20 -0
  363. package/out/zero-client/src/client/connection-status-enum.js.map +1 -0
  364. package/out/zero-client/src/client/connection.js.map +1 -0
  365. package/out/zero-client/src/client/context.js.map +1 -0
  366. package/out/zero-client/src/client/crud-impl.js +61 -0
  367. package/out/zero-client/src/client/crud-impl.js.map +1 -0
  368. package/out/zero-client/src/client/crud.js.map +1 -0
  369. package/out/zero-client/src/client/custom.js.map +1 -0
  370. package/out/zero-client/src/client/delete-clients-manager.js.map +1 -0
  371. package/out/zero-client/src/client/enable-analytics.js.map +1 -0
  372. package/out/zero-client/src/client/error.js.map +1 -0
  373. package/out/zero-client/src/client/http-string.js.map +1 -0
  374. package/out/zero-client/src/client/inspector/client-group.js.map +1 -0
  375. package/out/zero-client/src/client/inspector/client.js.map +1 -0
  376. package/out/zero-client/src/client/inspector/html-dialog-prompt.js.map +1 -0
  377. package/out/zero-client/src/client/inspector/inspector.js.map +1 -0
  378. package/out/zero-client/src/client/inspector/lazy-inspector.js.map +1 -0
  379. package/out/zero-client/src/client/inspector/query.js.map +1 -0
  380. package/out/zero-client/src/client/ivm-branch.js.map +1 -0
  381. package/out/zero-client/src/client/keys.js.map +1 -0
  382. package/out/zero-client/src/client/log-options.js.map +1 -0
  383. package/out/zero-client/src/client/make-mutate-property.js.map +1 -0
  384. package/out/zero-client/src/client/make-replicache-mutators.js.map +1 -0
  385. package/out/zero-client/src/client/metric-name-enum.js.map +1 -0
  386. package/out/zero-client/src/client/metrics.js.map +1 -0
  387. package/out/zero-client/src/client/mutation-tracker.js.map +1 -0
  388. package/out/zero-client/src/client/mutator-proxy.js.map +1 -0
  389. package/out/zero-client/src/client/options.js.map +1 -0
  390. package/out/zero-client/src/client/query-manager.js.map +1 -0
  391. package/out/zero-client/src/client/reload-error-handler.js.map +1 -0
  392. package/out/zero-client/src/client/server-option.js.map +1 -0
  393. package/out/zero-client/src/client/update-needed-reason-type-enum.js +27 -0
  394. package/out/zero-client/src/client/update-needed-reason-type-enum.js.map +1 -0
  395. package/out/zero-client/src/client/version.js +9 -0
  396. package/out/zero-client/src/client/version.js.map +1 -0
  397. package/out/zero-client/src/client/zero-poke-handler.js.map +1 -0
  398. package/out/zero-client/src/client/zero-rep.js.map +1 -0
  399. package/out/zero-client/src/client/zero.js.map +1 -0
  400. package/out/zero-client/src/util/nanoid.js.map +1 -0
  401. package/out/zero-protocol/src/analyze-query-result.js.map +1 -0
  402. package/out/zero-protocol/src/application-error.js.map +1 -0
  403. package/out/zero-protocol/src/ast.js.map +1 -0
  404. package/out/zero-protocol/src/change-desired-queries.js.map +1 -0
  405. package/out/zero-protocol/src/client-schema.js.map +1 -0
  406. package/out/zero-protocol/src/close-connection.js.map +1 -0
  407. package/out/zero-protocol/src/connect.js.map +1 -0
  408. package/out/zero-protocol/src/custom-queries.js.map +1 -0
  409. package/out/zero-protocol/src/data.js.map +1 -0
  410. package/out/zero-protocol/src/delete-clients.js.map +1 -0
  411. package/out/zero-protocol/src/down.js.map +1 -0
  412. package/out/zero-protocol/src/error-kind-enum.js.map +1 -0
  413. package/out/zero-protocol/src/error-origin-enum.js.map +1 -0
  414. package/out/zero-protocol/src/error-reason-enum.js.map +1 -0
  415. package/out/zero-protocol/src/error.js.map +1 -0
  416. package/out/zero-protocol/src/inspect-down.js.map +1 -0
  417. package/out/zero-protocol/src/inspect-up.js.map +1 -0
  418. package/out/zero-protocol/src/mutate-server.js.map +1 -0
  419. package/out/zero-protocol/src/mutation-id.js.map +1 -0
  420. package/out/zero-protocol/src/mutation-type-enum.js.map +1 -0
  421. package/out/zero-protocol/src/mutation.js.map +1 -0
  422. package/out/zero-protocol/src/mutations-patch.js.map +1 -0
  423. package/out/zero-protocol/src/ping.js.map +1 -0
  424. package/out/zero-protocol/src/poke.js.map +1 -0
  425. package/out/zero-protocol/src/pong.js.map +1 -0
  426. package/out/zero-protocol/src/primary-key.js.map +1 -0
  427. package/out/zero-protocol/src/protocol-version.js.map +1 -0
  428. package/out/zero-protocol/src/pull.js.map +1 -0
  429. package/out/zero-protocol/src/push.js.map +1 -0
  430. package/out/zero-protocol/src/queries-patch.js.map +1 -0
  431. package/out/zero-protocol/src/query-hash.js.map +1 -0
  432. package/out/zero-protocol/src/query-server.js.map +1 -0
  433. package/out/zero-protocol/src/row-patch.js.map +1 -0
  434. package/out/zero-protocol/src/up.js.map +1 -0
  435. package/out/zero-protocol/src/update-auth.js.map +1 -0
  436. package/out/zero-protocol/src/version.js.map +1 -0
  437. package/out/zero-react/src/use-connection-state.js +17 -0
  438. package/out/zero-react/src/use-connection-state.js.map +1 -0
  439. package/out/zero-react/src/use-query.js +299 -0
  440. package/out/zero-react/src/use-query.js.map +1 -0
  441. package/out/zero-react/src/use-zero-online.js +20 -0
  442. package/out/zero-react/src/use-zero-online.js.map +1 -0
  443. package/out/zero-react/src/zero-provider.js +87 -0
  444. package/out/zero-react/src/zero-provider.js.map +1 -0
  445. package/out/zero-schema/src/builder/relationship-builder.js.map +1 -0
  446. package/out/zero-schema/src/builder/schema-builder.js.map +1 -0
  447. package/out/zero-schema/src/builder/table-builder.js.map +1 -0
  448. package/out/zero-schema/src/compiled-permissions.js.map +1 -0
  449. package/out/zero-schema/src/name-mapper.js.map +1 -0
  450. package/out/zero-schema/src/permissions.js.map +1 -0
  451. package/out/zero-schema/src/schema-config.js.map +1 -0
  452. package/out/zero-server/src/adapters/drizzle.js.map +1 -0
  453. package/out/zero-server/src/adapters/kysely.js.map +1 -0
  454. package/out/zero-server/src/adapters/pg.js +83 -0
  455. package/out/zero-server/src/adapters/pg.js.map +1 -0
  456. package/out/zero-server/src/adapters/postgresjs.js.map +1 -0
  457. package/out/zero-server/src/adapters/prisma.js.map +1 -0
  458. package/out/zero-server/src/custom.js.map +1 -0
  459. package/out/zero-server/src/logging.js.map +1 -0
  460. package/out/zero-server/src/pg-query-executor.js.map +1 -0
  461. package/out/zero-server/src/process-mutations.js.map +1 -0
  462. package/out/zero-server/src/push-processor.js.map +1 -0
  463. package/out/zero-server/src/queries/process-queries.js.map +1 -0
  464. package/out/zero-server/src/schema.js.map +1 -0
  465. package/out/zero-server/src/zql-database.js.map +1 -0
  466. package/out/zero-solid/src/solid-view.js +145 -0
  467. package/out/zero-solid/src/solid-view.js.map +1 -0
  468. package/out/zero-solid/src/use-connection-state.js +21 -0
  469. package/out/zero-solid/src/use-connection-state.js.map +1 -0
  470. package/out/zero-solid/src/use-query.js +64 -0
  471. package/out/zero-solid/src/use-query.js.map +1 -0
  472. package/out/zero-solid/src/use-zero-online.js +21 -0
  473. package/out/zero-solid/src/use-zero-online.js.map +1 -0
  474. package/out/zero-solid/src/use-zero.js +93 -0
  475. package/out/zero-solid/src/use-zero.js.map +1 -0
  476. package/out/zero-types/src/format.js.map +1 -0
  477. package/out/zero-types/src/name-mapper.js.map +1 -0
  478. package/out/zql/src/builder/builder.js.map +1 -0
  479. package/out/zql/src/builder/debug-delegate.js.map +1 -0
  480. package/out/zql/src/builder/filter.js.map +1 -0
  481. package/out/zql/src/builder/like.js.map +1 -0
  482. package/out/zql/src/error.js.map +1 -0
  483. package/out/zql/src/ivm/array-view.js.map +1 -0
  484. package/out/zql/src/ivm/cap.js.map +1 -0
  485. package/out/zql/src/ivm/change.js.map +1 -0
  486. package/out/zql/src/ivm/constraint.js.map +1 -0
  487. package/out/zql/src/ivm/data.js.map +1 -0
  488. package/out/zql/src/ivm/exists.js.map +1 -0
  489. package/out/zql/src/ivm/fan-in.js.map +1 -0
  490. package/out/zql/src/ivm/fan-out.js.map +1 -0
  491. package/out/zql/src/ivm/filter-operators.js.map +1 -0
  492. package/out/zql/src/ivm/filter-push.js.map +1 -0
  493. package/out/zql/src/ivm/filter.js.map +1 -0
  494. package/out/zql/src/ivm/flipped-join.js.map +1 -0
  495. package/out/zql/src/ivm/join-utils.js.map +1 -0
  496. package/out/zql/src/ivm/join.js.map +1 -0
  497. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -0
  498. package/out/zql/src/ivm/memory-source.js.map +1 -0
  499. package/out/zql/src/ivm/memory-storage.js.map +1 -0
  500. package/out/zql/src/ivm/operator.js.map +1 -0
  501. package/out/zql/src/ivm/push-accumulated.js.map +1 -0
  502. package/out/zql/src/ivm/skip-yields.js.map +1 -0
  503. package/out/zql/src/ivm/skip.js.map +1 -0
  504. package/out/zql/src/ivm/source.js.map +1 -0
  505. package/out/zql/src/ivm/stream.js.map +1 -0
  506. package/out/zql/src/ivm/take.js.map +1 -0
  507. package/out/zql/src/ivm/union-fan-in.js.map +1 -0
  508. package/out/zql/src/ivm/union-fan-out.js.map +1 -0
  509. package/out/zql/src/ivm/view-apply-change.js.map +1 -0
  510. package/out/zql/src/mutate/crud.js.map +1 -0
  511. package/out/zql/src/mutate/custom.js.map +1 -0
  512. package/out/zql/src/mutate/mutator-registry.js.map +1 -0
  513. package/out/zql/src/mutate/mutator.js.map +1 -0
  514. package/out/zql/src/planner/planner-builder.js.map +1 -0
  515. package/out/zql/src/planner/planner-connection.js.map +1 -0
  516. package/out/zql/src/planner/planner-constraint.js.map +1 -0
  517. package/out/zql/src/planner/planner-debug.js.map +1 -0
  518. package/out/zql/src/planner/planner-fan-in.js.map +1 -0
  519. package/out/zql/src/planner/planner-fan-out.js.map +1 -0
  520. package/out/zql/src/planner/planner-graph.js.map +1 -0
  521. package/out/zql/src/planner/planner-join.js.map +1 -0
  522. package/out/zql/src/planner/planner-node.js.map +1 -0
  523. package/out/zql/src/planner/planner-source.js.map +1 -0
  524. package/out/zql/src/planner/planner-terminus.js.map +1 -0
  525. package/out/zql/src/query/complete-ordering.js.map +1 -0
  526. package/out/zql/src/query/create-builder.js.map +1 -0
  527. package/out/zql/src/query/error.js.map +1 -0
  528. package/out/zql/src/query/escape-like.js.map +1 -0
  529. package/out/zql/src/query/expression.js.map +1 -0
  530. package/out/zql/src/query/measure-push-operator.js.map +1 -0
  531. package/out/zql/src/query/metrics-delegate.js.map +1 -0
  532. package/out/zql/src/query/named.js.map +1 -0
  533. package/out/zql/src/query/query-delegate-base.js.map +1 -0
  534. package/out/zql/src/query/query-impl.js.map +1 -0
  535. package/out/zql/src/query/query-internals.js.map +1 -0
  536. package/out/zql/src/query/query-registry.js.map +1 -0
  537. package/out/zql/src/query/runnable-query-impl.js.map +1 -0
  538. package/out/zql/src/query/static-query.js.map +1 -0
  539. package/out/zql/src/query/ttl.js.map +1 -0
  540. package/out/zql/src/query/validate-input.js.map +1 -0
  541. package/out/zqlite/src/database-storage.js.map +1 -0
  542. package/out/zqlite/src/db.js.map +1 -0
  543. package/out/zqlite/src/explain-queries.js.map +1 -0
  544. package/out/zqlite/src/internal/sql-inline.js.map +1 -0
  545. package/out/zqlite/src/internal/sql.js.map +1 -0
  546. package/out/zqlite/src/internal/statement-cache.js.map +1 -0
  547. package/out/zqlite/src/query-builder.js.map +1 -0
  548. package/out/zqlite/src/query-delegate.js.map +1 -0
  549. package/out/zqlite/src/resolve-scalar-subqueries.js.map +1 -0
  550. package/out/zqlite/src/sqlite-cost-model.js.map +1 -0
  551. package/out/zqlite/src/sqlite-stat-fanout.js.map +1 -0
  552. package/out/zqlite/src/table-source.js.map +1 -0
  553. package/package.json +21 -5
  554. package/out/_virtual/__vite-optional-peer-dep_pg-native_pg.js +0 -13
  555. package/out/_virtual/__vite-optional-peer-dep_pg-native_pg.js.map +0 -1
  556. package/out/node_modules/.pnpm/@opentelemetry_semantic-conventions@1.41.1/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js +0 -12
  557. package/out/node_modules/.pnpm/@opentelemetry_semantic-conventions@1.41.1/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js.map +0 -1
  558. package/out/node_modules/.pnpm/pg-cloudflare@1.3.0/node_modules/pg-cloudflare/dist/empty.js +0 -11
  559. package/out/node_modules/.pnpm/pg-cloudflare@1.3.0/node_modules/pg-cloudflare/dist/empty.js.map +0 -1
  560. package/out/node_modules/.pnpm/pg-connection-string@2.12.0/node_modules/pg-connection-string/index.js +0 -130
  561. package/out/node_modules/.pnpm/pg-connection-string@2.12.0/node_modules/pg-connection-string/index.js.map +0 -1
  562. package/out/node_modules/.pnpm/pg-int8@1.0.1/node_modules/pg-int8/index.js +0 -62
  563. package/out/node_modules/.pnpm/pg-int8@1.0.1/node_modules/pg-int8/index.js.map +0 -1
  564. package/out/node_modules/.pnpm/pg-pool@3.13.0_pg@8.20.0/node_modules/pg-pool/index.js +0 -353
  565. package/out/node_modules/.pnpm/pg-pool@3.13.0_pg@8.20.0/node_modules/pg-pool/index.js.map +0 -1
  566. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/buffer-reader.js +0 -60
  567. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/buffer-reader.js.map +0 -1
  568. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/buffer-writer.js +0 -81
  569. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/buffer-writer.js.map +0 -1
  570. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.js +0 -35
  571. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.js.map +0 -1
  572. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.js +0 -167
  573. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.js.map +0 -1
  574. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.js +0 -288
  575. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.js.map +0 -1
  576. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.js +0 -177
  577. package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.js.map +0 -1
  578. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.js +0 -46
  579. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.js.map +0 -1
  580. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/arrayParser.js +0 -16
  581. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/arrayParser.js.map +0 -1
  582. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/binaryParsers.js +0 -165
  583. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/binaryParsers.js.map +0 -1
  584. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/builtins.js +0 -81
  585. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/builtins.js.map +0 -1
  586. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/textParsers.js +0 -167
  587. package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/textParsers.js.map +0 -1
  588. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/esm/index.js +0 -19
  589. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/esm/index.js.map +0 -1
  590. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/client.js +0 -508
  591. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/client.js.map +0 -1
  592. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/connection-parameters.js +0 -104
  593. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/connection-parameters.js.map +0 -1
  594. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/connection.js +0 -160
  595. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/connection.js.map +0 -1
  596. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/cert-signatures.js +0 -97
  597. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/cert-signatures.js.map +0 -1
  598. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/sasl.js +0 -131
  599. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/sasl.js.map +0 -1
  600. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils-legacy.js +0 -39
  601. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils-legacy.js.map +0 -1
  602. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils-webcrypto.js +0 -89
  603. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils-webcrypto.js.map +0 -1
  604. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils.js +0 -13
  605. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils.js.map +0 -1
  606. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/defaults.js +0 -46
  607. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/defaults.js.map +0 -1
  608. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/index.js +0 -71
  609. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/index.js.map +0 -1
  610. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/client.js +0 -226
  611. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/client.js.map +0 -1
  612. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/index.js +0 -11
  613. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/index.js.map +0 -1
  614. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/query.js +0 -117
  615. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/query.js.map +0 -1
  616. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/query.js +0 -151
  617. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/query.js.map +0 -1
  618. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/result.js +0 -76
  619. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/result.js.map +0 -1
  620. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/stream.js +0 -73
  621. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/stream.js.map +0 -1
  622. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/type-overrides.js +0 -35
  623. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/type-overrides.js.map +0 -1
  624. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/utils.js +0 -118
  625. package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/utils.js.map +0 -1
  626. package/out/node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/helper.js +0 -147
  627. package/out/node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/helper.js.map +0 -1
  628. package/out/node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/index.js +0 -21
  629. package/out/node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/index.js.map +0 -1
  630. package/out/node_modules/.pnpm/postgres-array@2.0.0/node_modules/postgres-array/index.js +0 -84
  631. package/out/node_modules/.pnpm/postgres-array@2.0.0/node_modules/postgres-array/index.js.map +0 -1
  632. package/out/node_modules/.pnpm/postgres-bytea@1.0.1/node_modules/postgres-bytea/index.js +0 -28
  633. package/out/node_modules/.pnpm/postgres-bytea@1.0.1/node_modules/postgres-bytea/index.js.map +0 -1
  634. package/out/node_modules/.pnpm/postgres-date@1.0.7/node_modules/postgres-date/index.js +0 -65
  635. package/out/node_modules/.pnpm/postgres-date@1.0.7/node_modules/postgres-date/index.js.map +0 -1
  636. package/out/node_modules/.pnpm/postgres-interval@1.2.0/node_modules/postgres-interval/index.js +0 -107
  637. package/out/node_modules/.pnpm/postgres-interval@1.2.0/node_modules/postgres-interval/index.js.map +0 -1
  638. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js +0 -696
  639. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js.map +0 -1
  640. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -44
  641. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +0 -1
  642. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js +0 -1585
  643. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js.map +0 -1
  644. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js +0 -329
  645. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js.map +0 -1
  646. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js +0 -13
  647. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js.map +0 -1
  648. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js +0 -13
  649. package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js.map +0 -1
  650. package/out/node_modules/.pnpm/solid-js@1.9.13/node_modules/solid-js/dist/server.js +0 -131
  651. package/out/node_modules/.pnpm/solid-js@1.9.13/node_modules/solid-js/dist/server.js.map +0 -1
  652. package/out/node_modules/.pnpm/solid-js@1.9.13/node_modules/solid-js/store/dist/server.js +0 -96
  653. package/out/node_modules/.pnpm/solid-js@1.9.13/node_modules/solid-js/store/dist/server.js.map +0 -1
  654. package/out/node_modules/.pnpm/split2@4.2.0/node_modules/split2/index.js +0 -95
  655. package/out/node_modules/.pnpm/split2@4.2.0/node_modules/split2/index.js.map +0 -1
  656. package/out/node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/mutable.js +0 -18
  657. package/out/node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/mutable.js.map +0 -1
  658. package/out/packages/analyze-query/src/analyze-cli.js +0 -288
  659. package/out/packages/analyze-query/src/analyze-cli.js.map +0 -1
  660. package/out/packages/analyze-query/src/bin-analyze.js.map +0 -1
  661. package/out/packages/analyze-query/src/bin-transform.js.map +0 -1
  662. package/out/packages/ast-to-zql/src/ast-to-zql.js.map +0 -1
  663. package/out/packages/ast-to-zql/src/bin.js.map +0 -1
  664. package/out/packages/ast-to-zql/src/format.js.map +0 -1
  665. package/out/packages/datadog/src/datadog-log-sink.js.map +0 -1
  666. package/out/packages/otel/src/enabled.js.map +0 -1
  667. package/out/packages/otel/src/log-options.js.map +0 -1
  668. package/out/packages/otel/src/maybe-time.js.map +0 -1
  669. package/out/packages/otel/src/span.js.map +0 -1
  670. package/out/packages/otel/src/version.js.map +0 -1
  671. package/out/packages/replicache/src/async-iterable-to-array.js.map +0 -1
  672. package/out/packages/replicache/src/bg-interval.js.map +0 -1
  673. package/out/packages/replicache/src/btree/diff.js.map +0 -1
  674. package/out/packages/replicache/src/btree/node.js.map +0 -1
  675. package/out/packages/replicache/src/btree/read.js.map +0 -1
  676. package/out/packages/replicache/src/btree/splice.js.map +0 -1
  677. package/out/packages/replicache/src/btree/write.js.map +0 -1
  678. package/out/packages/replicache/src/call-default-fetch.js.map +0 -1
  679. package/out/packages/replicache/src/connection-loop-delegates.js.map +0 -1
  680. package/out/packages/replicache/src/connection-loop.js.map +0 -1
  681. package/out/packages/replicache/src/cookies.js.map +0 -1
  682. package/out/packages/replicache/src/dag/chunk.js.map +0 -1
  683. package/out/packages/replicache/src/dag/gc.js.map +0 -1
  684. package/out/packages/replicache/src/dag/key.js.map +0 -1
  685. package/out/packages/replicache/src/dag/lazy-store.js.map +0 -1
  686. package/out/packages/replicache/src/dag/store-impl.js.map +0 -1
  687. package/out/packages/replicache/src/dag/store.js.map +0 -1
  688. package/out/packages/replicache/src/dag/visitor.js.map +0 -1
  689. package/out/packages/replicache/src/db/commit.js.map +0 -1
  690. package/out/packages/replicache/src/db/index.js.map +0 -1
  691. package/out/packages/replicache/src/db/read.js.map +0 -1
  692. package/out/packages/replicache/src/db/rebase.js.map +0 -1
  693. package/out/packages/replicache/src/db/write.js.map +0 -1
  694. package/out/packages/replicache/src/deleted-clients.js.map +0 -1
  695. package/out/packages/replicache/src/error-responses.js.map +0 -1
  696. package/out/packages/replicache/src/frozen-json.js.map +0 -1
  697. package/out/packages/replicache/src/get-default-puller.js.map +0 -1
  698. package/out/packages/replicache/src/get-default-pusher.js.map +0 -1
  699. package/out/packages/replicache/src/get-kv-store-provider.js.map +0 -1
  700. package/out/packages/replicache/src/hash.js.map +0 -1
  701. package/out/packages/replicache/src/http-request-info.js.map +0 -1
  702. package/out/packages/replicache/src/index-defs.js.map +0 -1
  703. package/out/packages/replicache/src/kv/expo-sqlite/store.js.map +0 -1
  704. package/out/packages/replicache/src/kv/idb-store-with-mem-fallback.js.map +0 -1
  705. package/out/packages/replicache/src/kv/idb-store.js.map +0 -1
  706. package/out/packages/replicache/src/kv/mem-store.js.map +0 -1
  707. package/out/packages/replicache/src/kv/op-sqlite/store.js.map +0 -1
  708. package/out/packages/replicache/src/kv/op-sqlite/types.js.map +0 -1
  709. package/out/packages/replicache/src/kv/read-impl.js.map +0 -1
  710. package/out/packages/replicache/src/kv/sqlite-store.js.map +0 -1
  711. package/out/packages/replicache/src/kv/throw-if-closed.js.map +0 -1
  712. package/out/packages/replicache/src/kv/write-impl-base.js.map +0 -1
  713. package/out/packages/replicache/src/kv/write-impl.js.map +0 -1
  714. package/out/packages/replicache/src/lazy.js.map +0 -1
  715. package/out/packages/replicache/src/log-options.js.map +0 -1
  716. package/out/packages/replicache/src/make-idb-name.js.map +0 -1
  717. package/out/packages/replicache/src/new-client-channel.js.map +0 -1
  718. package/out/packages/replicache/src/on-persist-channel.js.map +0 -1
  719. package/out/packages/replicache/src/patch-operation.js.map +0 -1
  720. package/out/packages/replicache/src/pending-mutations.js.map +0 -1
  721. package/out/packages/replicache/src/persist/client-gc.js.map +0 -1
  722. package/out/packages/replicache/src/persist/client-group-gc.js.map +0 -1
  723. package/out/packages/replicache/src/persist/client-groups.js.map +0 -1
  724. package/out/packages/replicache/src/persist/clients.js.map +0 -1
  725. package/out/packages/replicache/src/persist/collect-idb-databases.js.map +0 -1
  726. package/out/packages/replicache/src/persist/gather-mem-only-visitor.js.map +0 -1
  727. package/out/packages/replicache/src/persist/gather-not-cached-visitor.js.map +0 -1
  728. package/out/packages/replicache/src/persist/heartbeat.js.map +0 -1
  729. package/out/packages/replicache/src/persist/idb-databases-store-db-name.js.map +0 -1
  730. package/out/packages/replicache/src/persist/idb-databases-store.js.map +0 -1
  731. package/out/packages/replicache/src/persist/make-client-id.js.map +0 -1
  732. package/out/packages/replicache/src/persist/persist.js.map +0 -1
  733. package/out/packages/replicache/src/persist/refresh.js.map +0 -1
  734. package/out/packages/replicache/src/process-scheduler.js.map +0 -1
  735. package/out/packages/replicache/src/pusher.js.map +0 -1
  736. package/out/packages/replicache/src/replicache-impl.js.map +0 -1
  737. package/out/packages/replicache/src/report-error.js.map +0 -1
  738. package/out/packages/replicache/src/request-idle.js.map +0 -1
  739. package/out/packages/replicache/src/scan-iterator.js.map +0 -1
  740. package/out/packages/replicache/src/scan-options.js.map +0 -1
  741. package/out/packages/replicache/src/set-interval-with-signal.js.map +0 -1
  742. package/out/packages/replicache/src/subscriptions.js.map +0 -1
  743. package/out/packages/replicache/src/sync/diff.js.map +0 -1
  744. package/out/packages/replicache/src/sync/ids.js.map +0 -1
  745. package/out/packages/replicache/src/sync/patch.js.map +0 -1
  746. package/out/packages/replicache/src/sync/pull-error.js.map +0 -1
  747. package/out/packages/replicache/src/sync/pull.js.map +0 -1
  748. package/out/packages/replicache/src/sync/push.js.map +0 -1
  749. package/out/packages/replicache/src/sync/request-id.js.map +0 -1
  750. package/out/packages/replicache/src/sync/sync-head-name.js.map +0 -1
  751. package/out/packages/replicache/src/to-error.js.map +0 -1
  752. package/out/packages/replicache/src/transaction-closed-error.js.map +0 -1
  753. package/out/packages/replicache/src/transactions.js.map +0 -1
  754. package/out/packages/replicache/src/version.js.map +0 -1
  755. package/out/packages/replicache/src/with-transactions.js.map +0 -1
  756. package/out/packages/shared/src/abort-error.js.map +0 -1
  757. package/out/packages/shared/src/arrays.js.map +0 -1
  758. package/out/packages/shared/src/asserts.js.map +0 -1
  759. package/out/packages/shared/src/bigint-json.js.map +0 -1
  760. package/out/packages/shared/src/binary-search.js.map +0 -1
  761. package/out/packages/shared/src/broadcast-channel.js.map +0 -1
  762. package/out/packages/shared/src/browser-env.js.map +0 -1
  763. package/out/packages/shared/src/btree-set.js.map +0 -1
  764. package/out/packages/shared/src/cache.js.map +0 -1
  765. package/out/packages/shared/src/centroid.js.map +0 -1
  766. package/out/packages/shared/src/config.js.map +0 -1
  767. package/out/packages/shared/src/custom-key-map.js.map +0 -1
  768. package/out/packages/shared/src/custom-key-set.js.map +0 -1
  769. package/out/packages/shared/src/deep-clone.js.map +0 -1
  770. package/out/packages/shared/src/deep-merge.js.map +0 -1
  771. package/out/packages/shared/src/document-visible.js.map +0 -1
  772. package/out/packages/shared/src/dotenv.js.map +0 -1
  773. package/out/packages/shared/src/error.js.map +0 -1
  774. package/out/packages/shared/src/has-own.js.map +0 -1
  775. package/out/packages/shared/src/hash.js.map +0 -1
  776. package/out/packages/shared/src/iterables.js +0 -53
  777. package/out/packages/shared/src/iterables.js.map +0 -1
  778. package/out/packages/shared/src/json-schema.js.map +0 -1
  779. package/out/packages/shared/src/json.js.map +0 -1
  780. package/out/packages/shared/src/logging-test-utils.js.map +0 -1
  781. package/out/packages/shared/src/logging.js.map +0 -1
  782. package/out/packages/shared/src/map.js.map +0 -1
  783. package/out/packages/shared/src/must.js.map +0 -1
  784. package/out/packages/shared/src/navigator.js.map +0 -1
  785. package/out/packages/shared/src/object-traversal.js.map +0 -1
  786. package/out/packages/shared/src/objects.js.map +0 -1
  787. package/out/packages/shared/src/options.js.map +0 -1
  788. package/out/packages/shared/src/parse-big-int.js.map +0 -1
  789. package/out/packages/shared/src/promise-race.js.map +0 -1
  790. package/out/packages/shared/src/queue.js.map +0 -1
  791. package/out/packages/shared/src/rand.js.map +0 -1
  792. package/out/packages/shared/src/random-uint64.js.map +0 -1
  793. package/out/packages/shared/src/random-values.js.map +0 -1
  794. package/out/packages/shared/src/record-proxy.js.map +0 -1
  795. package/out/packages/shared/src/resolved-promises.js.map +0 -1
  796. package/out/packages/shared/src/ring-buffer.js.map +0 -1
  797. package/out/packages/shared/src/sentinels.js.map +0 -1
  798. package/out/packages/shared/src/set-utils.js.map +0 -1
  799. package/out/packages/shared/src/size-of-value.js.map +0 -1
  800. package/out/packages/shared/src/sleep.js.map +0 -1
  801. package/out/packages/shared/src/sorted-entries.js.map +0 -1
  802. package/out/packages/shared/src/string-compare.js.map +0 -1
  803. package/out/packages/shared/src/subscribable.js.map +0 -1
  804. package/out/packages/shared/src/tdigest-schema.js.map +0 -1
  805. package/out/packages/shared/src/tdigest.js.map +0 -1
  806. package/out/packages/shared/src/valita.js +0 -172
  807. package/out/packages/shared/src/valita.js.map +0 -1
  808. package/out/packages/z2s/src/compiler.js.map +0 -1
  809. package/out/packages/z2s/src/sql.js.map +0 -1
  810. package/out/packages/zero/package.js +0 -205
  811. package/out/packages/zero/package.js.map +0 -1
  812. package/out/packages/zero-cache/src/auth/auth.js.map +0 -1
  813. package/out/packages/zero-cache/src/auth/jwt.js.map +0 -1
  814. package/out/packages/zero-cache/src/auth/load-permissions.js.map +0 -1
  815. package/out/packages/zero-cache/src/auth/read-authorizer.js.map +0 -1
  816. package/out/packages/zero-cache/src/auth/write-authorizer.js.map +0 -1
  817. package/out/packages/zero-cache/src/config/network.js.map +0 -1
  818. package/out/packages/zero-cache/src/config/normalize.js.map +0 -1
  819. package/out/packages/zero-cache/src/config/server-context.js.map +0 -1
  820. package/out/packages/zero-cache/src/config/zero-config.js.map +0 -1
  821. package/out/packages/zero-cache/src/custom/fetch.js.map +0 -1
  822. package/out/packages/zero-cache/src/custom-queries/transform-query.js.map +0 -1
  823. package/out/packages/zero-cache/src/db/create.js.map +0 -1
  824. package/out/packages/zero-cache/src/db/delete-lite-db.js.map +0 -1
  825. package/out/packages/zero-cache/src/db/lite-tables.js.map +0 -1
  826. package/out/packages/zero-cache/src/db/migration-lite.js.map +0 -1
  827. package/out/packages/zero-cache/src/db/migration.js.map +0 -1
  828. package/out/packages/zero-cache/src/db/mode-enum.js.map +0 -1
  829. package/out/packages/zero-cache/src/db/pg-copy-binary.js.map +0 -1
  830. package/out/packages/zero-cache/src/db/pg-copy.js.map +0 -1
  831. package/out/packages/zero-cache/src/db/pg-to-lite.js.map +0 -1
  832. package/out/packages/zero-cache/src/db/pg-type-parser.js.map +0 -1
  833. package/out/packages/zero-cache/src/db/run-transaction.js.map +0 -1
  834. package/out/packages/zero-cache/src/db/specs.js.map +0 -1
  835. package/out/packages/zero-cache/src/db/statements.js.map +0 -1
  836. package/out/packages/zero-cache/src/db/transaction-pool.js.map +0 -1
  837. package/out/packages/zero-cache/src/db/warmup.js.map +0 -1
  838. package/out/packages/zero-cache/src/observability/events.js.map +0 -1
  839. package/out/packages/zero-cache/src/observability/metrics.js.map +0 -1
  840. package/out/packages/zero-cache/src/scripts/decommission.js.map +0 -1
  841. package/out/packages/zero-cache/src/scripts/deploy-permissions.js.map +0 -1
  842. package/out/packages/zero-cache/src/scripts/permissions.js +0 -93
  843. package/out/packages/zero-cache/src/scripts/permissions.js.map +0 -1
  844. package/out/packages/zero-cache/src/server/anonymous-otel-start.js +0 -306
  845. package/out/packages/zero-cache/src/server/anonymous-otel-start.js.map +0 -1
  846. package/out/packages/zero-cache/src/server/inspector-delegate.js.map +0 -1
  847. package/out/packages/zero-cache/src/server/logging.js.map +0 -1
  848. package/out/packages/zero-cache/src/server/otel-diag-logger.js.map +0 -1
  849. package/out/packages/zero-cache/src/server/otel-log-sink.js.map +0 -1
  850. package/out/packages/zero-cache/src/server/otel-start.js +0 -53
  851. package/out/packages/zero-cache/src/server/otel-start.js.map +0 -1
  852. package/out/packages/zero-cache/src/server/priority-op.js.map +0 -1
  853. package/out/packages/zero-cache/src/server/runner/main.js.map +0 -1
  854. package/out/packages/zero-cache/src/server/runner/run-worker.js.map +0 -1
  855. package/out/packages/zero-cache/src/server/runner/runtime.js.map +0 -1
  856. package/out/packages/zero-cache/src/server/runner/zero-dispatcher.js.map +0 -1
  857. package/out/packages/zero-cache/src/server/worker-dispatcher.js.map +0 -1
  858. package/out/packages/zero-cache/src/server/worker-urls.js.map +0 -1
  859. package/out/packages/zero-cache/src/services/analyze.js +0 -72
  860. package/out/packages/zero-cache/src/services/analyze.js.map +0 -1
  861. package/out/packages/zero-cache/src/services/change-source/common/backfill-manager.js.map +0 -1
  862. package/out/packages/zero-cache/src/services/change-source/common/change-stream-multiplexer.js.map +0 -1
  863. package/out/packages/zero-cache/src/services/change-source/common/replica-schema.js.map +0 -1
  864. package/out/packages/zero-cache/src/services/change-source/custom/change-source.js.map +0 -1
  865. package/out/packages/zero-cache/src/services/change-source/pg/backfill-metadata.js.map +0 -1
  866. package/out/packages/zero-cache/src/services/change-source/pg/backfill-stream.js.map +0 -1
  867. package/out/packages/zero-cache/src/services/change-source/pg/change-source.js.map +0 -1
  868. package/out/packages/zero-cache/src/services/change-source/pg/decommission.js.map +0 -1
  869. package/out/packages/zero-cache/src/services/change-source/pg/initial-sync.js.map +0 -1
  870. package/out/packages/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +0 -1
  871. package/out/packages/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js.map +0 -1
  872. package/out/packages/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +0 -1
  873. package/out/packages/zero-cache/src/services/change-source/pg/lsn.js.map +0 -1
  874. package/out/packages/zero-cache/src/services/change-source/pg/replication-slots.js.map +0 -1
  875. package/out/packages/zero-cache/src/services/change-source/pg/schema/ddl.js.map +0 -1
  876. package/out/packages/zero-cache/src/services/change-source/pg/schema/init.js.map +0 -1
  877. package/out/packages/zero-cache/src/services/change-source/pg/schema/published.js.map +0 -1
  878. package/out/packages/zero-cache/src/services/change-source/pg/schema/shard.js.map +0 -1
  879. package/out/packages/zero-cache/src/services/change-source/pg/schema/validation.js.map +0 -1
  880. package/out/packages/zero-cache/src/services/change-source/protocol/current/control.js.map +0 -1
  881. package/out/packages/zero-cache/src/services/change-source/protocol/current/data.js.map +0 -1
  882. package/out/packages/zero-cache/src/services/change-source/protocol/current/downstream.js.map +0 -1
  883. package/out/packages/zero-cache/src/services/change-source/protocol/current/json.js.map +0 -1
  884. package/out/packages/zero-cache/src/services/change-source/protocol/current/path.js.map +0 -1
  885. package/out/packages/zero-cache/src/services/change-source/protocol/current/status.js.map +0 -1
  886. package/out/packages/zero-cache/src/services/change-source/protocol/current/upstream.js.map +0 -1
  887. package/out/packages/zero-cache/src/services/change-source/protocol/current.js +0 -56
  888. package/out/packages/zero-cache/src/services/change-source/protocol/current.js.map +0 -1
  889. package/out/packages/zero-cache/src/services/change-streamer/backup-monitor.js.map +0 -1
  890. package/out/packages/zero-cache/src/services/change-streamer/broadcast.js.map +0 -1
  891. package/out/packages/zero-cache/src/services/change-streamer/change-streamer-http.js.map +0 -1
  892. package/out/packages/zero-cache/src/services/change-streamer/change-streamer-service.js.map +0 -1
  893. package/out/packages/zero-cache/src/services/change-streamer/change-streamer.js.map +0 -1
  894. package/out/packages/zero-cache/src/services/change-streamer/forwarder.js.map +0 -1
  895. package/out/packages/zero-cache/src/services/change-streamer/replica-monitor.js.map +0 -1
  896. package/out/packages/zero-cache/src/services/change-streamer/schema/init.js.map +0 -1
  897. package/out/packages/zero-cache/src/services/change-streamer/schema/tables.js.map +0 -1
  898. package/out/packages/zero-cache/src/services/change-streamer/snapshot.js.map +0 -1
  899. package/out/packages/zero-cache/src/services/change-streamer/storer.js.map +0 -1
  900. package/out/packages/zero-cache/src/services/change-streamer/subscriber.js.map +0 -1
  901. package/out/packages/zero-cache/src/services/heapz.js.map +0 -1
  902. package/out/packages/zero-cache/src/services/http-service.js.map +0 -1
  903. package/out/packages/zero-cache/src/services/life-cycle.js.map +0 -1
  904. package/out/packages/zero-cache/src/services/limiter/sliding-window-limiter.js.map +0 -1
  905. package/out/packages/zero-cache/src/services/litestream/commands.js.map +0 -1
  906. package/out/packages/zero-cache/src/services/mutagen/error.js.map +0 -1
  907. package/out/packages/zero-cache/src/services/mutagen/mutagen.js.map +0 -1
  908. package/out/packages/zero-cache/src/services/mutagen/pusher.js.map +0 -1
  909. package/out/packages/zero-cache/src/services/replicator/change-processor.js.map +0 -1
  910. package/out/packages/zero-cache/src/services/replicator/incremental-sync.js.map +0 -1
  911. package/out/packages/zero-cache/src/services/replicator/notifier.js.map +0 -1
  912. package/out/packages/zero-cache/src/services/replicator/replication-status.js.map +0 -1
  913. package/out/packages/zero-cache/src/services/replicator/replicator.js.map +0 -1
  914. package/out/packages/zero-cache/src/services/replicator/reporter/recorder.js.map +0 -1
  915. package/out/packages/zero-cache/src/services/replicator/reporter/report-schema.js.map +0 -1
  916. package/out/packages/zero-cache/src/services/replicator/schema/change-log.js.map +0 -1
  917. package/out/packages/zero-cache/src/services/replicator/schema/column-metadata.js.map +0 -1
  918. package/out/packages/zero-cache/src/services/replicator/schema/constants.js.map +0 -1
  919. package/out/packages/zero-cache/src/services/replicator/schema/replication-state.js.map +0 -1
  920. package/out/packages/zero-cache/src/services/replicator/schema/table-metadata.js.map +0 -1
  921. package/out/packages/zero-cache/src/services/replicator/write-worker-client.js.map +0 -1
  922. package/out/packages/zero-cache/src/services/replicator/write-worker.js.map +0 -1
  923. package/out/packages/zero-cache/src/services/run-ast.js.map +0 -1
  924. package/out/packages/zero-cache/src/services/runner.js.map +0 -1
  925. package/out/packages/zero-cache/src/services/running-state.js.map +0 -1
  926. package/out/packages/zero-cache/src/services/shadow-sync/shadow-sync-service.js.map +0 -1
  927. package/out/packages/zero-cache/src/services/statz.js.map +0 -1
  928. package/out/packages/zero-cache/src/services/view-syncer/active-users-gauge.js.map +0 -1
  929. package/out/packages/zero-cache/src/services/view-syncer/client-handler.js.map +0 -1
  930. package/out/packages/zero-cache/src/services/view-syncer/client-schema.js.map +0 -1
  931. package/out/packages/zero-cache/src/services/view-syncer/connection-context-manager.js.map +0 -1
  932. package/out/packages/zero-cache/src/services/view-syncer/cvr-purger.js.map +0 -1
  933. package/out/packages/zero-cache/src/services/view-syncer/cvr-store.js +0 -869
  934. package/out/packages/zero-cache/src/services/view-syncer/cvr-store.js.map +0 -1
  935. package/out/packages/zero-cache/src/services/view-syncer/cvr.js.map +0 -1
  936. package/out/packages/zero-cache/src/services/view-syncer/drain-coordinator.js.map +0 -1
  937. package/out/packages/zero-cache/src/services/view-syncer/inspect-handler.js +0 -102
  938. package/out/packages/zero-cache/src/services/view-syncer/inspect-handler.js.map +0 -1
  939. package/out/packages/zero-cache/src/services/view-syncer/pipeline-driver.js.map +0 -1
  940. package/out/packages/zero-cache/src/services/view-syncer/row-record-cache.js.map +0 -1
  941. package/out/packages/zero-cache/src/services/view-syncer/row-set-signature.js.map +0 -1
  942. package/out/packages/zero-cache/src/services/view-syncer/schema/cvr.js.map +0 -1
  943. package/out/packages/zero-cache/src/services/view-syncer/schema/init.js.map +0 -1
  944. package/out/packages/zero-cache/src/services/view-syncer/schema/types.js.map +0 -1
  945. package/out/packages/zero-cache/src/services/view-syncer/snapshotter.js.map +0 -1
  946. package/out/packages/zero-cache/src/services/view-syncer/tracer.js.map +0 -1
  947. package/out/packages/zero-cache/src/services/view-syncer/ttl-clock.js.map +0 -1
  948. package/out/packages/zero-cache/src/services/view-syncer/view-syncer.js.map +0 -1
  949. package/out/packages/zero-cache/src/types/configuration-error.js.map +0 -1
  950. package/out/packages/zero-cache/src/types/error-with-level.js.map +0 -1
  951. package/out/packages/zero-cache/src/types/http.js.map +0 -1
  952. package/out/packages/zero-cache/src/types/lexi-version.js.map +0 -1
  953. package/out/packages/zero-cache/src/types/lite.js.map +0 -1
  954. package/out/packages/zero-cache/src/types/names.js.map +0 -1
  955. package/out/packages/zero-cache/src/types/pg-data-type.js.map +0 -1
  956. package/out/packages/zero-cache/src/types/pg-types.js.map +0 -1
  957. package/out/packages/zero-cache/src/types/pg-versions.js.map +0 -1
  958. package/out/packages/zero-cache/src/types/pg.js.map +0 -1
  959. package/out/packages/zero-cache/src/types/processes.js.map +0 -1
  960. package/out/packages/zero-cache/src/types/profiler.js.map +0 -1
  961. package/out/packages/zero-cache/src/types/row-key.js.map +0 -1
  962. package/out/packages/zero-cache/src/types/shards.js.map +0 -1
  963. package/out/packages/zero-cache/src/types/sql.js.map +0 -1
  964. package/out/packages/zero-cache/src/types/state-version.js.map +0 -1
  965. package/out/packages/zero-cache/src/types/streams.js.map +0 -1
  966. package/out/packages/zero-cache/src/types/strings.js.map +0 -1
  967. package/out/packages/zero-cache/src/types/subscription.js.map +0 -1
  968. package/out/packages/zero-cache/src/types/timeout.js.map +0 -1
  969. package/out/packages/zero-cache/src/types/url-params.js.map +0 -1
  970. package/out/packages/zero-cache/src/types/websocket-handoff.js.map +0 -1
  971. package/out/packages/zero-cache/src/types/ws.js.map +0 -1
  972. package/out/packages/zero-cache/src/workers/connect-params.js.map +0 -1
  973. package/out/packages/zero-cache/src/workers/connection.js.map +0 -1
  974. package/out/packages/zero-cache/src/workers/mutator.js.map +0 -1
  975. package/out/packages/zero-cache/src/workers/replicator.js.map +0 -1
  976. package/out/packages/zero-cache/src/workers/syncer-ws-message-handler.js.map +0 -1
  977. package/out/packages/zero-cache/src/workers/syncer.js.map +0 -1
  978. package/out/packages/zero-client/src/client/active-clients-manager.js.map +0 -1
  979. package/out/packages/zero-client/src/client/client-error-kind-enum.js.map +0 -1
  980. package/out/packages/zero-client/src/client/connection-manager.js.map +0 -1
  981. package/out/packages/zero-client/src/client/connection-status-enum.js +0 -20
  982. package/out/packages/zero-client/src/client/connection-status-enum.js.map +0 -1
  983. package/out/packages/zero-client/src/client/connection.js.map +0 -1
  984. package/out/packages/zero-client/src/client/context.js.map +0 -1
  985. package/out/packages/zero-client/src/client/crud-impl.js +0 -61
  986. package/out/packages/zero-client/src/client/crud-impl.js.map +0 -1
  987. package/out/packages/zero-client/src/client/crud.js.map +0 -1
  988. package/out/packages/zero-client/src/client/custom.js.map +0 -1
  989. package/out/packages/zero-client/src/client/delete-clients-manager.js.map +0 -1
  990. package/out/packages/zero-client/src/client/enable-analytics.js.map +0 -1
  991. package/out/packages/zero-client/src/client/error.js.map +0 -1
  992. package/out/packages/zero-client/src/client/http-string.js.map +0 -1
  993. package/out/packages/zero-client/src/client/inspector/client-group.js.map +0 -1
  994. package/out/packages/zero-client/src/client/inspector/client.js.map +0 -1
  995. package/out/packages/zero-client/src/client/inspector/html-dialog-prompt.js.map +0 -1
  996. package/out/packages/zero-client/src/client/inspector/inspector.js.map +0 -1
  997. package/out/packages/zero-client/src/client/inspector/lazy-inspector.js.map +0 -1
  998. package/out/packages/zero-client/src/client/inspector/query.js.map +0 -1
  999. package/out/packages/zero-client/src/client/ivm-branch.js.map +0 -1
  1000. package/out/packages/zero-client/src/client/keys.js.map +0 -1
  1001. package/out/packages/zero-client/src/client/log-options.js.map +0 -1
  1002. package/out/packages/zero-client/src/client/make-mutate-property.js.map +0 -1
  1003. package/out/packages/zero-client/src/client/make-replicache-mutators.js.map +0 -1
  1004. package/out/packages/zero-client/src/client/metric-name-enum.js.map +0 -1
  1005. package/out/packages/zero-client/src/client/metrics.js.map +0 -1
  1006. package/out/packages/zero-client/src/client/mutation-tracker.js.map +0 -1
  1007. package/out/packages/zero-client/src/client/mutator-proxy.js.map +0 -1
  1008. package/out/packages/zero-client/src/client/options.js.map +0 -1
  1009. package/out/packages/zero-client/src/client/query-manager.js.map +0 -1
  1010. package/out/packages/zero-client/src/client/reload-error-handler.js.map +0 -1
  1011. package/out/packages/zero-client/src/client/server-option.js.map +0 -1
  1012. package/out/packages/zero-client/src/client/update-needed-reason-type-enum.js +0 -27
  1013. package/out/packages/zero-client/src/client/update-needed-reason-type-enum.js.map +0 -1
  1014. package/out/packages/zero-client/src/client/version.js +0 -9
  1015. package/out/packages/zero-client/src/client/version.js.map +0 -1
  1016. package/out/packages/zero-client/src/client/zero-poke-handler.js.map +0 -1
  1017. package/out/packages/zero-client/src/client/zero-rep.js.map +0 -1
  1018. package/out/packages/zero-client/src/client/zero.js.map +0 -1
  1019. package/out/packages/zero-client/src/util/nanoid.js.map +0 -1
  1020. package/out/packages/zero-protocol/src/analyze-query-result.js.map +0 -1
  1021. package/out/packages/zero-protocol/src/application-error.js.map +0 -1
  1022. package/out/packages/zero-protocol/src/ast.js.map +0 -1
  1023. package/out/packages/zero-protocol/src/change-desired-queries.js.map +0 -1
  1024. package/out/packages/zero-protocol/src/client-schema.js.map +0 -1
  1025. package/out/packages/zero-protocol/src/close-connection.js.map +0 -1
  1026. package/out/packages/zero-protocol/src/connect.js.map +0 -1
  1027. package/out/packages/zero-protocol/src/custom-queries.js.map +0 -1
  1028. package/out/packages/zero-protocol/src/data.js.map +0 -1
  1029. package/out/packages/zero-protocol/src/delete-clients.js.map +0 -1
  1030. package/out/packages/zero-protocol/src/down.js.map +0 -1
  1031. package/out/packages/zero-protocol/src/error-kind-enum.js.map +0 -1
  1032. package/out/packages/zero-protocol/src/error-origin-enum.js.map +0 -1
  1033. package/out/packages/zero-protocol/src/error-reason-enum.js.map +0 -1
  1034. package/out/packages/zero-protocol/src/error.js.map +0 -1
  1035. package/out/packages/zero-protocol/src/inspect-down.js.map +0 -1
  1036. package/out/packages/zero-protocol/src/inspect-up.js.map +0 -1
  1037. package/out/packages/zero-protocol/src/mutate-server.js.map +0 -1
  1038. package/out/packages/zero-protocol/src/mutation-id.js.map +0 -1
  1039. package/out/packages/zero-protocol/src/mutation-type-enum.js.map +0 -1
  1040. package/out/packages/zero-protocol/src/mutation.js.map +0 -1
  1041. package/out/packages/zero-protocol/src/mutations-patch.js.map +0 -1
  1042. package/out/packages/zero-protocol/src/ping.js.map +0 -1
  1043. package/out/packages/zero-protocol/src/poke.js.map +0 -1
  1044. package/out/packages/zero-protocol/src/pong.js.map +0 -1
  1045. package/out/packages/zero-protocol/src/primary-key.js.map +0 -1
  1046. package/out/packages/zero-protocol/src/protocol-version.js.map +0 -1
  1047. package/out/packages/zero-protocol/src/pull.js.map +0 -1
  1048. package/out/packages/zero-protocol/src/push.js.map +0 -1
  1049. package/out/packages/zero-protocol/src/queries-patch.js.map +0 -1
  1050. package/out/packages/zero-protocol/src/query-hash.js.map +0 -1
  1051. package/out/packages/zero-protocol/src/query-server.js.map +0 -1
  1052. package/out/packages/zero-protocol/src/row-patch.js.map +0 -1
  1053. package/out/packages/zero-protocol/src/up.js.map +0 -1
  1054. package/out/packages/zero-protocol/src/update-auth.js.map +0 -1
  1055. package/out/packages/zero-protocol/src/version.js.map +0 -1
  1056. package/out/packages/zero-react/src/use-connection-state.js +0 -19
  1057. package/out/packages/zero-react/src/use-connection-state.js.map +0 -1
  1058. package/out/packages/zero-react/src/use-query.js +0 -301
  1059. package/out/packages/zero-react/src/use-query.js.map +0 -1
  1060. package/out/packages/zero-react/src/use-zero-online.js +0 -22
  1061. package/out/packages/zero-react/src/use-zero-online.js.map +0 -1
  1062. package/out/packages/zero-react/src/zero-provider.js +0 -90
  1063. package/out/packages/zero-react/src/zero-provider.js.map +0 -1
  1064. package/out/packages/zero-schema/src/builder/relationship-builder.js.map +0 -1
  1065. package/out/packages/zero-schema/src/builder/schema-builder.js.map +0 -1
  1066. package/out/packages/zero-schema/src/builder/table-builder.js.map +0 -1
  1067. package/out/packages/zero-schema/src/compiled-permissions.js.map +0 -1
  1068. package/out/packages/zero-schema/src/name-mapper.js.map +0 -1
  1069. package/out/packages/zero-schema/src/permissions.js.map +0 -1
  1070. package/out/packages/zero-schema/src/schema-config.js.map +0 -1
  1071. package/out/packages/zero-server/src/adapters/drizzle.js.map +0 -1
  1072. package/out/packages/zero-server/src/adapters/kysely.js.map +0 -1
  1073. package/out/packages/zero-server/src/adapters/pg.js +0 -83
  1074. package/out/packages/zero-server/src/adapters/pg.js.map +0 -1
  1075. package/out/packages/zero-server/src/adapters/postgresjs.js.map +0 -1
  1076. package/out/packages/zero-server/src/adapters/prisma.js.map +0 -1
  1077. package/out/packages/zero-server/src/custom.js.map +0 -1
  1078. package/out/packages/zero-server/src/logging.js.map +0 -1
  1079. package/out/packages/zero-server/src/pg-query-executor.js.map +0 -1
  1080. package/out/packages/zero-server/src/process-mutations.js.map +0 -1
  1081. package/out/packages/zero-server/src/push-processor.js.map +0 -1
  1082. package/out/packages/zero-server/src/queries/process-queries.js.map +0 -1
  1083. package/out/packages/zero-server/src/schema.js.map +0 -1
  1084. package/out/packages/zero-server/src/zql-database.js.map +0 -1
  1085. package/out/packages/zero-solid/src/solid-view.js +0 -145
  1086. package/out/packages/zero-solid/src/solid-view.js.map +0 -1
  1087. package/out/packages/zero-solid/src/use-connection-state.js +0 -21
  1088. package/out/packages/zero-solid/src/use-connection-state.js.map +0 -1
  1089. package/out/packages/zero-solid/src/use-query.js +0 -64
  1090. package/out/packages/zero-solid/src/use-query.js.map +0 -1
  1091. package/out/packages/zero-solid/src/use-zero-online.js +0 -21
  1092. package/out/packages/zero-solid/src/use-zero-online.js.map +0 -1
  1093. package/out/packages/zero-solid/src/use-zero.js +0 -93
  1094. package/out/packages/zero-solid/src/use-zero.js.map +0 -1
  1095. package/out/packages/zero-types/src/format.js.map +0 -1
  1096. package/out/packages/zero-types/src/name-mapper.js.map +0 -1
  1097. package/out/packages/zql/src/builder/builder.js.map +0 -1
  1098. package/out/packages/zql/src/builder/debug-delegate.js.map +0 -1
  1099. package/out/packages/zql/src/builder/filter.js.map +0 -1
  1100. package/out/packages/zql/src/builder/like.js.map +0 -1
  1101. package/out/packages/zql/src/error.js.map +0 -1
  1102. package/out/packages/zql/src/ivm/array-view.js.map +0 -1
  1103. package/out/packages/zql/src/ivm/cap.js.map +0 -1
  1104. package/out/packages/zql/src/ivm/change.js.map +0 -1
  1105. package/out/packages/zql/src/ivm/constraint.js.map +0 -1
  1106. package/out/packages/zql/src/ivm/data.js.map +0 -1
  1107. package/out/packages/zql/src/ivm/exists.js.map +0 -1
  1108. package/out/packages/zql/src/ivm/fan-in.js.map +0 -1
  1109. package/out/packages/zql/src/ivm/fan-out.js.map +0 -1
  1110. package/out/packages/zql/src/ivm/filter-operators.js.map +0 -1
  1111. package/out/packages/zql/src/ivm/filter-push.js.map +0 -1
  1112. package/out/packages/zql/src/ivm/filter.js.map +0 -1
  1113. package/out/packages/zql/src/ivm/flipped-join.js.map +0 -1
  1114. package/out/packages/zql/src/ivm/join-utils.js.map +0 -1
  1115. package/out/packages/zql/src/ivm/join.js.map +0 -1
  1116. package/out/packages/zql/src/ivm/maybe-split-and-push-edit-change.js.map +0 -1
  1117. package/out/packages/zql/src/ivm/memory-source.js.map +0 -1
  1118. package/out/packages/zql/src/ivm/memory-storage.js.map +0 -1
  1119. package/out/packages/zql/src/ivm/operator.js.map +0 -1
  1120. package/out/packages/zql/src/ivm/push-accumulated.js.map +0 -1
  1121. package/out/packages/zql/src/ivm/skip-yields.js.map +0 -1
  1122. package/out/packages/zql/src/ivm/skip.js.map +0 -1
  1123. package/out/packages/zql/src/ivm/source.js.map +0 -1
  1124. package/out/packages/zql/src/ivm/stream.js.map +0 -1
  1125. package/out/packages/zql/src/ivm/take.js.map +0 -1
  1126. package/out/packages/zql/src/ivm/union-fan-in.js.map +0 -1
  1127. package/out/packages/zql/src/ivm/union-fan-out.js.map +0 -1
  1128. package/out/packages/zql/src/ivm/view-apply-change.js.map +0 -1
  1129. package/out/packages/zql/src/mutate/crud.js.map +0 -1
  1130. package/out/packages/zql/src/mutate/custom.js.map +0 -1
  1131. package/out/packages/zql/src/mutate/mutator-registry.js.map +0 -1
  1132. package/out/packages/zql/src/mutate/mutator.js.map +0 -1
  1133. package/out/packages/zql/src/planner/planner-builder.js.map +0 -1
  1134. package/out/packages/zql/src/planner/planner-connection.js.map +0 -1
  1135. package/out/packages/zql/src/planner/planner-constraint.js.map +0 -1
  1136. package/out/packages/zql/src/planner/planner-debug.js.map +0 -1
  1137. package/out/packages/zql/src/planner/planner-fan-in.js.map +0 -1
  1138. package/out/packages/zql/src/planner/planner-fan-out.js.map +0 -1
  1139. package/out/packages/zql/src/planner/planner-graph.js.map +0 -1
  1140. package/out/packages/zql/src/planner/planner-join.js.map +0 -1
  1141. package/out/packages/zql/src/planner/planner-node.js.map +0 -1
  1142. package/out/packages/zql/src/planner/planner-source.js.map +0 -1
  1143. package/out/packages/zql/src/planner/planner-terminus.js.map +0 -1
  1144. package/out/packages/zql/src/query/complete-ordering.js.map +0 -1
  1145. package/out/packages/zql/src/query/create-builder.js.map +0 -1
  1146. package/out/packages/zql/src/query/error.js.map +0 -1
  1147. package/out/packages/zql/src/query/escape-like.js.map +0 -1
  1148. package/out/packages/zql/src/query/expression.js.map +0 -1
  1149. package/out/packages/zql/src/query/measure-push-operator.js.map +0 -1
  1150. package/out/packages/zql/src/query/metrics-delegate.js.map +0 -1
  1151. package/out/packages/zql/src/query/named.js.map +0 -1
  1152. package/out/packages/zql/src/query/query-delegate-base.js.map +0 -1
  1153. package/out/packages/zql/src/query/query-impl.js.map +0 -1
  1154. package/out/packages/zql/src/query/query-internals.js.map +0 -1
  1155. package/out/packages/zql/src/query/query-registry.js.map +0 -1
  1156. package/out/packages/zql/src/query/runnable-query-impl.js.map +0 -1
  1157. package/out/packages/zql/src/query/static-query.js.map +0 -1
  1158. package/out/packages/zql/src/query/ttl.js.map +0 -1
  1159. package/out/packages/zql/src/query/validate-input.js.map +0 -1
  1160. package/out/packages/zqlite/src/database-storage.js.map +0 -1
  1161. package/out/packages/zqlite/src/db.js.map +0 -1
  1162. package/out/packages/zqlite/src/explain-queries.js.map +0 -1
  1163. package/out/packages/zqlite/src/internal/sql-inline.js.map +0 -1
  1164. package/out/packages/zqlite/src/internal/sql.js.map +0 -1
  1165. package/out/packages/zqlite/src/internal/statement-cache.js.map +0 -1
  1166. package/out/packages/zqlite/src/query-builder.js.map +0 -1
  1167. package/out/packages/zqlite/src/query-delegate.js.map +0 -1
  1168. package/out/packages/zqlite/src/resolve-scalar-subqueries.js.map +0 -1
  1169. package/out/packages/zqlite/src/sqlite-cost-model.js.map +0 -1
  1170. package/out/packages/zqlite/src/sqlite-stat-fanout.js.map +0 -1
  1171. package/out/packages/zqlite/src/table-source.js.map +0 -1
  1172. /package/out/{packages/analyze-query → analyze-query}/src/bin-analyze.js +0 -0
  1173. /package/out/{packages/analyze-query → analyze-query}/src/bin-transform.js +0 -0
  1174. /package/out/{packages/ast-to-zql → ast-to-zql}/src/ast-to-zql.js +0 -0
  1175. /package/out/{packages/ast-to-zql → ast-to-zql}/src/bin.js +0 -0
  1176. /package/out/{packages/ast-to-zql → ast-to-zql}/src/format.js +0 -0
  1177. /package/out/{packages/datadog → datadog}/src/datadog-log-sink.js +0 -0
  1178. /package/out/{packages/otel → otel}/src/enabled.js +0 -0
  1179. /package/out/{packages/otel → otel}/src/log-options.js +0 -0
  1180. /package/out/{packages/otel → otel}/src/maybe-time.js +0 -0
  1181. /package/out/{packages/otel → otel}/src/span.js +0 -0
  1182. /package/out/{packages/otel → otel}/src/version.js +0 -0
  1183. /package/out/{packages/replicache → replicache}/src/async-iterable-to-array.js +0 -0
  1184. /package/out/{packages/replicache → replicache}/src/bg-interval.js +0 -0
  1185. /package/out/{packages/replicache → replicache}/src/btree/diff.js +0 -0
  1186. /package/out/{packages/replicache → replicache}/src/btree/node.js +0 -0
  1187. /package/out/{packages/replicache → replicache}/src/btree/read.js +0 -0
  1188. /package/out/{packages/replicache → replicache}/src/btree/splice.js +0 -0
  1189. /package/out/{packages/replicache → replicache}/src/btree/write.js +0 -0
  1190. /package/out/{packages/replicache → replicache}/src/call-default-fetch.js +0 -0
  1191. /package/out/{packages/replicache → replicache}/src/config.js +0 -0
  1192. /package/out/{packages/replicache → replicache}/src/connection-loop-delegates.js +0 -0
  1193. /package/out/{packages/replicache → replicache}/src/connection-loop.js +0 -0
  1194. /package/out/{packages/replicache → replicache}/src/cookies.js +0 -0
  1195. /package/out/{packages/replicache → replicache}/src/dag/chunk.js +0 -0
  1196. /package/out/{packages/replicache → replicache}/src/dag/gc.js +0 -0
  1197. /package/out/{packages/replicache → replicache}/src/dag/key.js +0 -0
  1198. /package/out/{packages/replicache → replicache}/src/dag/lazy-store.js +0 -0
  1199. /package/out/{packages/replicache → replicache}/src/dag/store-impl.js +0 -0
  1200. /package/out/{packages/replicache → replicache}/src/dag/store.js +0 -0
  1201. /package/out/{packages/replicache → replicache}/src/dag/visitor.js +0 -0
  1202. /package/out/{packages/replicache → replicache}/src/db/commit.js +0 -0
  1203. /package/out/{packages/replicache → replicache}/src/db/index.js +0 -0
  1204. /package/out/{packages/replicache → replicache}/src/db/read.js +0 -0
  1205. /package/out/{packages/replicache → replicache}/src/db/rebase.js +0 -0
  1206. /package/out/{packages/replicache → replicache}/src/db/write.js +0 -0
  1207. /package/out/{packages/replicache → replicache}/src/deleted-clients.js +0 -0
  1208. /package/out/{packages/replicache → replicache}/src/error-responses.js +0 -0
  1209. /package/out/{packages/replicache → replicache}/src/expo-sqlite.js +0 -0
  1210. /package/out/{packages/replicache → replicache}/src/frozen-json.js +0 -0
  1211. /package/out/{packages/replicache → replicache}/src/get-default-puller.js +0 -0
  1212. /package/out/{packages/replicache → replicache}/src/get-default-pusher.js +0 -0
  1213. /package/out/{packages/replicache → replicache}/src/get-kv-store-provider.js +0 -0
  1214. /package/out/{packages/replicache → replicache}/src/hash.js +0 -0
  1215. /package/out/{packages/replicache → replicache}/src/http-request-info.js +0 -0
  1216. /package/out/{packages/replicache → replicache}/src/impl.js +0 -0
  1217. /package/out/{packages/replicache → replicache}/src/index-defs.js +0 -0
  1218. /package/out/{packages/replicache → replicache}/src/kv/expo-sqlite/store.js +0 -0
  1219. /package/out/{packages/replicache → replicache}/src/kv/idb-store-with-mem-fallback.js +0 -0
  1220. /package/out/{packages/replicache → replicache}/src/kv/idb-store.js +0 -0
  1221. /package/out/{packages/replicache → replicache}/src/kv/mem-store.js +0 -0
  1222. /package/out/{packages/replicache → replicache}/src/kv/op-sqlite/store.js +0 -0
  1223. /package/out/{packages/replicache → replicache}/src/kv/op-sqlite/types.js +0 -0
  1224. /package/out/{packages/replicache → replicache}/src/kv/read-impl.js +0 -0
  1225. /package/out/{packages/replicache → replicache}/src/kv/sqlite-store.js +0 -0
  1226. /package/out/{packages/replicache → replicache}/src/kv/throw-if-closed.js +0 -0
  1227. /package/out/{packages/replicache → replicache}/src/kv/write-impl-base.js +0 -0
  1228. /package/out/{packages/replicache → replicache}/src/kv/write-impl.js +0 -0
  1229. /package/out/{packages/replicache → replicache}/src/lazy.js +0 -0
  1230. /package/out/{packages/replicache → replicache}/src/log-options.js +0 -0
  1231. /package/out/{packages/replicache → replicache}/src/make-idb-name.js +0 -0
  1232. /package/out/{packages/replicache → replicache}/src/mutation-recovery.js +0 -0
  1233. /package/out/{packages/replicache → replicache}/src/new-client-channel.js +0 -0
  1234. /package/out/{packages/replicache → replicache}/src/on-persist-channel.js +0 -0
  1235. /package/out/{packages/replicache → replicache}/src/op-sqlite.js +0 -0
  1236. /package/out/{packages/replicache → replicache}/src/patch-operation.js +0 -0
  1237. /package/out/{packages/replicache → replicache}/src/pending-mutations.js +0 -0
  1238. /package/out/{packages/replicache → replicache}/src/persist/client-gc.js +0 -0
  1239. /package/out/{packages/replicache → replicache}/src/persist/client-group-gc.js +0 -0
  1240. /package/out/{packages/replicache → replicache}/src/persist/client-groups.js +0 -0
  1241. /package/out/{packages/replicache → replicache}/src/persist/clients.js +0 -0
  1242. /package/out/{packages/replicache → replicache}/src/persist/collect-idb-databases.js +0 -0
  1243. /package/out/{packages/replicache → replicache}/src/persist/gather-mem-only-visitor.js +0 -0
  1244. /package/out/{packages/replicache → replicache}/src/persist/gather-not-cached-visitor.js +0 -0
  1245. /package/out/{packages/replicache → replicache}/src/persist/heartbeat.js +0 -0
  1246. /package/out/{packages/replicache → replicache}/src/persist/idb-databases-store-db-name.js +0 -0
  1247. /package/out/{packages/replicache → replicache}/src/persist/idb-databases-store.js +0 -0
  1248. /package/out/{packages/replicache → replicache}/src/persist/make-client-id.js +0 -0
  1249. /package/out/{packages/replicache → replicache}/src/persist/persist.js +0 -0
  1250. /package/out/{packages/replicache → replicache}/src/persist/refresh.js +0 -0
  1251. /package/out/{packages/replicache → replicache}/src/process-scheduler.js +0 -0
  1252. /package/out/{packages/replicache → replicache}/src/pusher.js +0 -0
  1253. /package/out/{packages/replicache → replicache}/src/replicache-impl.js +0 -0
  1254. /package/out/{packages/replicache → replicache}/src/report-error.js +0 -0
  1255. /package/out/{packages/replicache → replicache}/src/request-idle.js +0 -0
  1256. /package/out/{packages/replicache → replicache}/src/scan-iterator.js +0 -0
  1257. /package/out/{packages/replicache → replicache}/src/scan-options.js +0 -0
  1258. /package/out/{packages/replicache → replicache}/src/set-interval-with-signal.js +0 -0
  1259. /package/out/{packages/replicache → replicache}/src/sqlite.js +0 -0
  1260. /package/out/{packages/replicache → replicache}/src/subscriptions.js +0 -0
  1261. /package/out/{packages/replicache → replicache}/src/sync/diff.js +0 -0
  1262. /package/out/{packages/replicache → replicache}/src/sync/ids.js +0 -0
  1263. /package/out/{packages/replicache → replicache}/src/sync/patch.js +0 -0
  1264. /package/out/{packages/replicache → replicache}/src/sync/pull-error.js +0 -0
  1265. /package/out/{packages/replicache → replicache}/src/sync/pull.js +0 -0
  1266. /package/out/{packages/replicache → replicache}/src/sync/push.js +0 -0
  1267. /package/out/{packages/replicache → replicache}/src/sync/request-id.js +0 -0
  1268. /package/out/{packages/replicache → replicache}/src/sync/sync-head-name.js +0 -0
  1269. /package/out/{packages/replicache → replicache}/src/to-error.js +0 -0
  1270. /package/out/{packages/replicache → replicache}/src/transaction-closed-error.js +0 -0
  1271. /package/out/{packages/replicache → replicache}/src/transactions.js +0 -0
  1272. /package/out/{packages/replicache → replicache}/src/version.js +0 -0
  1273. /package/out/{packages/replicache → replicache}/src/with-transactions.js +0 -0
  1274. /package/out/{packages/shared → shared}/src/abort-error.js +0 -0
  1275. /package/out/{packages/shared → shared}/src/arrays.js +0 -0
  1276. /package/out/{packages/shared → shared}/src/asserts.js +0 -0
  1277. /package/out/{packages/shared → shared}/src/bigint-json.js +0 -0
  1278. /package/out/{packages/shared → shared}/src/binary-search.js +0 -0
  1279. /package/out/{packages/shared → shared}/src/broadcast-channel.js +0 -0
  1280. /package/out/{packages/shared → shared}/src/browser-env.js +0 -0
  1281. /package/out/{packages/shared → shared}/src/btree-set.js +0 -0
  1282. /package/out/{packages/shared → shared}/src/cache.js +0 -0
  1283. /package/out/{packages/shared → shared}/src/centroid.js +0 -0
  1284. /package/out/{packages/shared → shared}/src/config.js +0 -0
  1285. /package/out/{packages/shared → shared}/src/custom-key-map.js +0 -0
  1286. /package/out/{packages/shared → shared}/src/custom-key-set.js +0 -0
  1287. /package/out/{packages/shared → shared}/src/deep-clone.js +0 -0
  1288. /package/out/{packages/shared → shared}/src/deep-merge.js +0 -0
  1289. /package/out/{packages/shared → shared}/src/document-visible.js +0 -0
  1290. /package/out/{packages/shared → shared}/src/dotenv.js +0 -0
  1291. /package/out/{packages/shared → shared}/src/error.js +0 -0
  1292. /package/out/{packages/shared → shared}/src/has-own.js +0 -0
  1293. /package/out/{packages/shared → shared}/src/hash.js +0 -0
  1294. /package/out/{packages/shared → shared}/src/json-schema.js +0 -0
  1295. /package/out/{packages/shared → shared}/src/json.js +0 -0
  1296. /package/out/{packages/shared → shared}/src/logging-test-utils.js +0 -0
  1297. /package/out/{packages/shared → shared}/src/logging.js +0 -0
  1298. /package/out/{packages/shared → shared}/src/map.js +0 -0
  1299. /package/out/{packages/shared → shared}/src/must.js +0 -0
  1300. /package/out/{packages/shared → shared}/src/navigator.js +0 -0
  1301. /package/out/{packages/shared → shared}/src/object-traversal.js +0 -0
  1302. /package/out/{packages/shared → shared}/src/objects.js +0 -0
  1303. /package/out/{packages/shared → shared}/src/options.js +0 -0
  1304. /package/out/{packages/shared → shared}/src/parse-big-int.js +0 -0
  1305. /package/out/{packages/shared → shared}/src/promise-race.js +0 -0
  1306. /package/out/{packages/shared → shared}/src/queue.js +0 -0
  1307. /package/out/{packages/shared → shared}/src/rand.js +0 -0
  1308. /package/out/{packages/shared → shared}/src/random-uint64.js +0 -0
  1309. /package/out/{packages/shared → shared}/src/random-values.js +0 -0
  1310. /package/out/{packages/shared → shared}/src/record-proxy.js +0 -0
  1311. /package/out/{packages/shared → shared}/src/resolved-promises.js +0 -0
  1312. /package/out/{packages/shared → shared}/src/ring-buffer.js +0 -0
  1313. /package/out/{packages/shared → shared}/src/sentinels.js +0 -0
  1314. /package/out/{packages/shared → shared}/src/set-utils.js +0 -0
  1315. /package/out/{packages/shared → shared}/src/size-of-value.js +0 -0
  1316. /package/out/{packages/shared → shared}/src/sleep.js +0 -0
  1317. /package/out/{packages/shared → shared}/src/sorted-entries.js +0 -0
  1318. /package/out/{packages/shared → shared}/src/string-compare.js +0 -0
  1319. /package/out/{packages/shared → shared}/src/subscribable.js +0 -0
  1320. /package/out/{packages/shared → shared}/src/tdigest-schema.js +0 -0
  1321. /package/out/{packages/shared → shared}/src/tdigest.js +0 -0
  1322. /package/out/{packages/z2s → z2s}/src/compiler.js +0 -0
  1323. /package/out/{packages/z2s → z2s}/src/sql.js +0 -0
  1324. /package/out/{packages/zero → zero}/src/server/runner/main.js +0 -0
  1325. /package/out/{packages/zero-cache → zero-cache}/src/auth/auth.js +0 -0
  1326. /package/out/{packages/zero-cache → zero-cache}/src/auth/jwt.js +0 -0
  1327. /package/out/{packages/zero-cache → zero-cache}/src/auth/load-permissions.js +0 -0
  1328. /package/out/{packages/zero-cache → zero-cache}/src/auth/read-authorizer.js +0 -0
  1329. /package/out/{packages/zero-cache → zero-cache}/src/auth/write-authorizer.js +0 -0
  1330. /package/out/{packages/zero-cache → zero-cache}/src/config/network.js +0 -0
  1331. /package/out/{packages/zero-cache → zero-cache}/src/config/normalize.js +0 -0
  1332. /package/out/{packages/zero-cache → zero-cache}/src/config/server-context.js +0 -0
  1333. /package/out/{packages/zero-cache → zero-cache}/src/config/zero-config.js +0 -0
  1334. /package/out/{packages/zero-cache → zero-cache}/src/custom/fetch.js +0 -0
  1335. /package/out/{packages/zero-cache → zero-cache}/src/custom-queries/transform-query.js +0 -0
  1336. /package/out/{packages/zero-cache → zero-cache}/src/db/create.js +0 -0
  1337. /package/out/{packages/zero-cache → zero-cache}/src/db/delete-lite-db.js +0 -0
  1338. /package/out/{packages/zero-cache → zero-cache}/src/db/lite-tables.js +0 -0
  1339. /package/out/{packages/zero-cache → zero-cache}/src/db/migration-lite.js +0 -0
  1340. /package/out/{packages/zero-cache → zero-cache}/src/db/migration.js +0 -0
  1341. /package/out/{packages/zero-cache → zero-cache}/src/db/mode-enum.js +0 -0
  1342. /package/out/{packages/zero-cache → zero-cache}/src/db/pg-copy-binary.js +0 -0
  1343. /package/out/{packages/zero-cache → zero-cache}/src/db/pg-copy.js +0 -0
  1344. /package/out/{packages/zero-cache → zero-cache}/src/db/pg-to-lite.js +0 -0
  1345. /package/out/{packages/zero-cache → zero-cache}/src/db/pg-type-parser.js +0 -0
  1346. /package/out/{packages/zero-cache → zero-cache}/src/db/run-transaction.js +0 -0
  1347. /package/out/{packages/zero-cache → zero-cache}/src/db/specs.js +0 -0
  1348. /package/out/{packages/zero-cache → zero-cache}/src/db/statements.js +0 -0
  1349. /package/out/{packages/zero-cache → zero-cache}/src/db/transaction-pool.js +0 -0
  1350. /package/out/{packages/zero-cache → zero-cache}/src/db/warmup.js +0 -0
  1351. /package/out/{packages/zero-cache → zero-cache}/src/observability/events.js +0 -0
  1352. /package/out/{packages/zero-cache → zero-cache}/src/observability/metrics.js +0 -0
  1353. /package/out/{packages/zero-cache → zero-cache}/src/scripts/decommission.js +0 -0
  1354. /package/out/{packages/zero-cache → zero-cache}/src/scripts/deploy-permissions.js +0 -0
  1355. /package/out/{packages/zero-cache → zero-cache}/src/server/inspector-delegate.js +0 -0
  1356. /package/out/{packages/zero-cache → zero-cache}/src/server/logging.js +0 -0
  1357. /package/out/{packages/zero-cache → zero-cache}/src/server/otel-diag-logger.js +0 -0
  1358. /package/out/{packages/zero-cache → zero-cache}/src/server/otel-log-sink.js +0 -0
  1359. /package/out/{packages/zero-cache → zero-cache}/src/server/priority-op.js +0 -0
  1360. /package/out/{packages/zero-cache → zero-cache}/src/server/runner/main.js +0 -0
  1361. /package/out/{packages/zero-cache → zero-cache}/src/server/runner/run-worker.js +0 -0
  1362. /package/out/{packages/zero-cache → zero-cache}/src/server/runner/runtime.js +0 -0
  1363. /package/out/{packages/zero-cache → zero-cache}/src/server/runner/zero-dispatcher.js +0 -0
  1364. /package/out/{packages/zero-cache → zero-cache}/src/server/worker-dispatcher.js +0 -0
  1365. /package/out/{packages/zero-cache → zero-cache}/src/server/worker-urls.js +0 -0
  1366. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/common/backfill-manager.js +0 -0
  1367. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/common/change-stream-multiplexer.js +0 -0
  1368. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/common/replica-schema.js +0 -0
  1369. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/custom/change-source.js +0 -0
  1370. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/backfill-metadata.js +0 -0
  1371. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/backfill-stream.js +0 -0
  1372. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/change-source.js +0 -0
  1373. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/decommission.js +0 -0
  1374. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/initial-sync.js +0 -0
  1375. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/logical-replication/binary-reader.js +0 -0
  1376. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/logical-replication/pgoutput-parser.js +0 -0
  1377. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/logical-replication/stream.js +0 -0
  1378. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/lsn.js +0 -0
  1379. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/replication-slots.js +0 -0
  1380. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/schema/ddl.js +0 -0
  1381. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/schema/init.js +0 -0
  1382. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/schema/published.js +0 -0
  1383. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/schema/shard.js +0 -0
  1384. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/pg/schema/validation.js +0 -0
  1385. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/protocol/current/control.js +0 -0
  1386. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/protocol/current/data.js +0 -0
  1387. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/protocol/current/downstream.js +0 -0
  1388. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/protocol/current/json.js +0 -0
  1389. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/protocol/current/path.js +0 -0
  1390. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/protocol/current/status.js +0 -0
  1391. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/protocol/current/upstream.js +0 -0
  1392. /package/out/{packages/zero-cache → zero-cache}/src/services/change-source/protocol/mod.js +0 -0
  1393. /package/out/{packages/zero-cache → zero-cache}/src/services/change-streamer/backup-monitor.js +0 -0
  1394. /package/out/{packages/zero-cache → zero-cache}/src/services/change-streamer/broadcast.js +0 -0
  1395. /package/out/{packages/zero-cache → zero-cache}/src/services/change-streamer/change-streamer-http.js +0 -0
  1396. /package/out/{packages/zero-cache → zero-cache}/src/services/change-streamer/change-streamer-service.js +0 -0
  1397. /package/out/{packages/zero-cache → zero-cache}/src/services/change-streamer/change-streamer.js +0 -0
  1398. /package/out/{packages/zero-cache → zero-cache}/src/services/change-streamer/forwarder.js +0 -0
  1399. /package/out/{packages/zero-cache → zero-cache}/src/services/change-streamer/replica-monitor.js +0 -0
  1400. /package/out/{packages/zero-cache → zero-cache}/src/services/change-streamer/schema/init.js +0 -0
  1401. /package/out/{packages/zero-cache → zero-cache}/src/services/change-streamer/schema/tables.js +0 -0
  1402. /package/out/{packages/zero-cache → zero-cache}/src/services/change-streamer/snapshot.js +0 -0
  1403. /package/out/{packages/zero-cache → zero-cache}/src/services/change-streamer/storer.js +0 -0
  1404. /package/out/{packages/zero-cache → zero-cache}/src/services/change-streamer/subscriber.js +0 -0
  1405. /package/out/{packages/zero-cache → zero-cache}/src/services/heapz.js +0 -0
  1406. /package/out/{packages/zero-cache → zero-cache}/src/services/http-service.js +0 -0
  1407. /package/out/{packages/zero-cache → zero-cache}/src/services/life-cycle.js +0 -0
  1408. /package/out/{packages/zero-cache → zero-cache}/src/services/limiter/sliding-window-limiter.js +0 -0
  1409. /package/out/{packages/zero-cache → zero-cache}/src/services/litestream/commands.js +0 -0
  1410. /package/out/{packages/zero-cache → zero-cache}/src/services/mutagen/error.js +0 -0
  1411. /package/out/{packages/zero-cache → zero-cache}/src/services/mutagen/mutagen.js +0 -0
  1412. /package/out/{packages/zero-cache → zero-cache}/src/services/mutagen/pusher.js +0 -0
  1413. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/change-processor.js +0 -0
  1414. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/incremental-sync.js +0 -0
  1415. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/notifier.js +0 -0
  1416. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/replication-status.js +0 -0
  1417. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/replicator.js +0 -0
  1418. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/reporter/recorder.js +0 -0
  1419. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/reporter/report-schema.js +0 -0
  1420. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/schema/change-log.js +0 -0
  1421. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/schema/column-metadata.js +0 -0
  1422. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/schema/constants.js +0 -0
  1423. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/schema/replication-state.js +0 -0
  1424. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/schema/table-metadata.js +0 -0
  1425. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/write-worker-client.js +0 -0
  1426. /package/out/{packages/zero-cache → zero-cache}/src/services/replicator/write-worker.js +0 -0
  1427. /package/out/{packages/zero-cache → zero-cache}/src/services/run-ast.js +0 -0
  1428. /package/out/{packages/zero-cache → zero-cache}/src/services/runner.js +0 -0
  1429. /package/out/{packages/zero-cache → zero-cache}/src/services/running-state.js +0 -0
  1430. /package/out/{packages/zero-cache → zero-cache}/src/services/shadow-sync/shadow-sync-service.js +0 -0
  1431. /package/out/{packages/zero-cache → zero-cache}/src/services/statz.js +0 -0
  1432. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/active-users-gauge.js +0 -0
  1433. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/client-handler.js +0 -0
  1434. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/client-schema.js +0 -0
  1435. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/connection-context-manager.js +0 -0
  1436. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/cvr-purger.js +0 -0
  1437. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/cvr.js +0 -0
  1438. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/drain-coordinator.js +0 -0
  1439. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/pipeline-driver.js +0 -0
  1440. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/row-record-cache.js +0 -0
  1441. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/row-set-signature.js +0 -0
  1442. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/schema/cvr.js +0 -0
  1443. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/schema/init.js +0 -0
  1444. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/schema/types.js +0 -0
  1445. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/snapshotter.js +0 -0
  1446. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/tracer.js +0 -0
  1447. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/ttl-clock.js +0 -0
  1448. /package/out/{packages/zero-cache → zero-cache}/src/services/view-syncer/view-syncer.js +0 -0
  1449. /package/out/{packages/zero-cache → zero-cache}/src/types/configuration-error.js +0 -0
  1450. /package/out/{packages/zero-cache → zero-cache}/src/types/error-with-level.js +0 -0
  1451. /package/out/{packages/zero-cache → zero-cache}/src/types/http.js +0 -0
  1452. /package/out/{packages/zero-cache → zero-cache}/src/types/lexi-version.js +0 -0
  1453. /package/out/{packages/zero-cache → zero-cache}/src/types/lite.js +0 -0
  1454. /package/out/{packages/zero-cache → zero-cache}/src/types/names.js +0 -0
  1455. /package/out/{packages/zero-cache → zero-cache}/src/types/pg-data-type.js +0 -0
  1456. /package/out/{packages/zero-cache → zero-cache}/src/types/pg-types.js +0 -0
  1457. /package/out/{packages/zero-cache → zero-cache}/src/types/pg-versions.js +0 -0
  1458. /package/out/{packages/zero-cache → zero-cache}/src/types/pg.js +0 -0
  1459. /package/out/{packages/zero-cache → zero-cache}/src/types/processes.js +0 -0
  1460. /package/out/{packages/zero-cache → zero-cache}/src/types/profiler.js +0 -0
  1461. /package/out/{packages/zero-cache → zero-cache}/src/types/row-key.js +0 -0
  1462. /package/out/{packages/zero-cache → zero-cache}/src/types/shards.js +0 -0
  1463. /package/out/{packages/zero-cache → zero-cache}/src/types/sql.js +0 -0
  1464. /package/out/{packages/zero-cache → zero-cache}/src/types/state-version.js +0 -0
  1465. /package/out/{packages/zero-cache → zero-cache}/src/types/streams.js +0 -0
  1466. /package/out/{packages/zero-cache → zero-cache}/src/types/strings.js +0 -0
  1467. /package/out/{packages/zero-cache → zero-cache}/src/types/subscription.js +0 -0
  1468. /package/out/{packages/zero-cache → zero-cache}/src/types/timeout.js +0 -0
  1469. /package/out/{packages/zero-cache → zero-cache}/src/types/url-params.js +0 -0
  1470. /package/out/{packages/zero-cache → zero-cache}/src/types/websocket-handoff.js +0 -0
  1471. /package/out/{packages/zero-cache → zero-cache}/src/types/ws.js +0 -0
  1472. /package/out/{packages/zero-cache → zero-cache}/src/workers/connect-params.js +0 -0
  1473. /package/out/{packages/zero-cache → zero-cache}/src/workers/connection.js +0 -0
  1474. /package/out/{packages/zero-cache → zero-cache}/src/workers/mutator.js +0 -0
  1475. /package/out/{packages/zero-cache → zero-cache}/src/workers/replicator.js +0 -0
  1476. /package/out/{packages/zero-cache → zero-cache}/src/workers/syncer-ws-message-handler.js +0 -0
  1477. /package/out/{packages/zero-cache → zero-cache}/src/workers/syncer.js +0 -0
  1478. /package/out/{packages/zero-client → zero-client}/src/client/active-clients-manager.js +0 -0
  1479. /package/out/{packages/zero-client → zero-client}/src/client/bindings.js +0 -0
  1480. /package/out/{packages/zero-client → zero-client}/src/client/client-error-kind-enum.js +0 -0
  1481. /package/out/{packages/zero-client → zero-client}/src/client/connection-manager.js +0 -0
  1482. /package/out/{packages/zero-client → zero-client}/src/client/connection.js +0 -0
  1483. /package/out/{packages/zero-client → zero-client}/src/client/context.js +0 -0
  1484. /package/out/{packages/zero-client → zero-client}/src/client/crud.js +0 -0
  1485. /package/out/{packages/zero-client → zero-client}/src/client/custom.js +0 -0
  1486. /package/out/{packages/zero-client → zero-client}/src/client/delete-clients-manager.js +0 -0
  1487. /package/out/{packages/zero-client → zero-client}/src/client/enable-analytics.js +0 -0
  1488. /package/out/{packages/zero-client → zero-client}/src/client/error.js +0 -0
  1489. /package/out/{packages/zero-client → zero-client}/src/client/http-string.js +0 -0
  1490. /package/out/{packages/zero-client → zero-client}/src/client/inspector/client-group.js +0 -0
  1491. /package/out/{packages/zero-client → zero-client}/src/client/inspector/client.js +0 -0
  1492. /package/out/{packages/zero-client → zero-client}/src/client/inspector/html-dialog-prompt.js +0 -0
  1493. /package/out/{packages/zero-client → zero-client}/src/client/inspector/inspector.js +0 -0
  1494. /package/out/{packages/zero-client → zero-client}/src/client/inspector/lazy-inspector.js +0 -0
  1495. /package/out/{packages/zero-client → zero-client}/src/client/inspector/query.js +0 -0
  1496. /package/out/{packages/zero-client → zero-client}/src/client/ivm-branch.js +0 -0
  1497. /package/out/{packages/zero-client → zero-client}/src/client/keys.js +0 -0
  1498. /package/out/{packages/zero-client → zero-client}/src/client/log-options.js +0 -0
  1499. /package/out/{packages/zero-client → zero-client}/src/client/make-mutate-property.js +0 -0
  1500. /package/out/{packages/zero-client → zero-client}/src/client/make-replicache-mutators.js +0 -0
  1501. /package/out/{packages/zero-client → zero-client}/src/client/metric-name-enum.js +0 -0
  1502. /package/out/{packages/zero-client → zero-client}/src/client/metrics.js +0 -0
  1503. /package/out/{packages/zero-client → zero-client}/src/client/mutation-tracker.js +0 -0
  1504. /package/out/{packages/zero-client → zero-client}/src/client/mutator-proxy.js +0 -0
  1505. /package/out/{packages/zero-client → zero-client}/src/client/options.js +0 -0
  1506. /package/out/{packages/zero-client → zero-client}/src/client/query-manager.js +0 -0
  1507. /package/out/{packages/zero-client → zero-client}/src/client/reload-error-handler.js +0 -0
  1508. /package/out/{packages/zero-client → zero-client}/src/client/server-option.js +0 -0
  1509. /package/out/{packages/zero-client → zero-client}/src/client/zero-poke-handler.js +0 -0
  1510. /package/out/{packages/zero-client → zero-client}/src/client/zero-rep.js +0 -0
  1511. /package/out/{packages/zero-client → zero-client}/src/client/zero.js +0 -0
  1512. /package/out/{packages/zero-client → zero-client}/src/mod.js +0 -0
  1513. /package/out/{packages/zero-client → zero-client}/src/util/nanoid.js +0 -0
  1514. /package/out/{packages/zero-pg → zero-pg}/src/mod.js +0 -0
  1515. /package/out/{packages/zero-protocol → zero-protocol}/src/analyze-query-result.js +0 -0
  1516. /package/out/{packages/zero-protocol → zero-protocol}/src/application-error.js +0 -0
  1517. /package/out/{packages/zero-protocol → zero-protocol}/src/ast.js +0 -0
  1518. /package/out/{packages/zero-protocol → zero-protocol}/src/change-desired-queries.js +0 -0
  1519. /package/out/{packages/zero-protocol → zero-protocol}/src/client-schema.js +0 -0
  1520. /package/out/{packages/zero-protocol → zero-protocol}/src/close-connection.js +0 -0
  1521. /package/out/{packages/zero-protocol → zero-protocol}/src/connect.js +0 -0
  1522. /package/out/{packages/zero-protocol → zero-protocol}/src/custom-queries.js +0 -0
  1523. /package/out/{packages/zero-protocol → zero-protocol}/src/data.js +0 -0
  1524. /package/out/{packages/zero-protocol → zero-protocol}/src/delete-clients.js +0 -0
  1525. /package/out/{packages/zero-protocol → zero-protocol}/src/down.js +0 -0
  1526. /package/out/{packages/zero-protocol → zero-protocol}/src/error-kind-enum.js +0 -0
  1527. /package/out/{packages/zero-protocol → zero-protocol}/src/error-origin-enum.js +0 -0
  1528. /package/out/{packages/zero-protocol → zero-protocol}/src/error-reason-enum.js +0 -0
  1529. /package/out/{packages/zero-protocol → zero-protocol}/src/error.js +0 -0
  1530. /package/out/{packages/zero-protocol → zero-protocol}/src/inspect-down.js +0 -0
  1531. /package/out/{packages/zero-protocol → zero-protocol}/src/inspect-up.js +0 -0
  1532. /package/out/{packages/zero-protocol → zero-protocol}/src/mutate-server.js +0 -0
  1533. /package/out/{packages/zero-protocol → zero-protocol}/src/mutation-id.js +0 -0
  1534. /package/out/{packages/zero-protocol → zero-protocol}/src/mutation-type-enum.js +0 -0
  1535. /package/out/{packages/zero-protocol → zero-protocol}/src/mutation.js +0 -0
  1536. /package/out/{packages/zero-protocol → zero-protocol}/src/mutations-patch.js +0 -0
  1537. /package/out/{packages/zero-protocol → zero-protocol}/src/ping.js +0 -0
  1538. /package/out/{packages/zero-protocol → zero-protocol}/src/poke.js +0 -0
  1539. /package/out/{packages/zero-protocol → zero-protocol}/src/pong.js +0 -0
  1540. /package/out/{packages/zero-protocol → zero-protocol}/src/primary-key.js +0 -0
  1541. /package/out/{packages/zero-protocol → zero-protocol}/src/protocol-version.js +0 -0
  1542. /package/out/{packages/zero-protocol → zero-protocol}/src/pull.js +0 -0
  1543. /package/out/{packages/zero-protocol → zero-protocol}/src/push.js +0 -0
  1544. /package/out/{packages/zero-protocol → zero-protocol}/src/queries-patch.js +0 -0
  1545. /package/out/{packages/zero-protocol → zero-protocol}/src/query-hash.js +0 -0
  1546. /package/out/{packages/zero-protocol → zero-protocol}/src/query-server.js +0 -0
  1547. /package/out/{packages/zero-protocol → zero-protocol}/src/row-patch.js +0 -0
  1548. /package/out/{packages/zero-protocol → zero-protocol}/src/up.js +0 -0
  1549. /package/out/{packages/zero-protocol → zero-protocol}/src/update-auth.js +0 -0
  1550. /package/out/{packages/zero-protocol → zero-protocol}/src/version.js +0 -0
  1551. /package/out/{packages/zero-react → zero-react}/src/bindings.js +0 -0
  1552. /package/out/{packages/zero-react → zero-react}/src/mod.js +0 -0
  1553. /package/out/{packages/zero-react → zero-react}/src/zero.js +0 -0
  1554. /package/out/{packages/zero-schema → zero-schema}/src/builder/relationship-builder.js +0 -0
  1555. /package/out/{packages/zero-schema → zero-schema}/src/builder/schema-builder.js +0 -0
  1556. /package/out/{packages/zero-schema → zero-schema}/src/builder/table-builder.js +0 -0
  1557. /package/out/{packages/zero-schema → zero-schema}/src/compiled-permissions.js +0 -0
  1558. /package/out/{packages/zero-schema → zero-schema}/src/name-mapper.js +0 -0
  1559. /package/out/{packages/zero-schema → zero-schema}/src/permissions.js +0 -0
  1560. /package/out/{packages/zero-schema → zero-schema}/src/schema-config.js +0 -0
  1561. /package/out/{packages/zero-server → zero-server}/src/adapters/drizzle.js +0 -0
  1562. /package/out/{packages/zero-server → zero-server}/src/adapters/kysely.js +0 -0
  1563. /package/out/{packages/zero-server → zero-server}/src/adapters/postgresjs.js +0 -0
  1564. /package/out/{packages/zero-server → zero-server}/src/adapters/prisma.js +0 -0
  1565. /package/out/{packages/zero-server → zero-server}/src/custom.js +0 -0
  1566. /package/out/{packages/zero-server → zero-server}/src/logging.js +0 -0
  1567. /package/out/{packages/zero-server → zero-server}/src/mod.js +0 -0
  1568. /package/out/{packages/zero-server → zero-server}/src/pg-query-executor.js +0 -0
  1569. /package/out/{packages/zero-server → zero-server}/src/process-mutations.js +0 -0
  1570. /package/out/{packages/zero-server → zero-server}/src/push-processor.js +0 -0
  1571. /package/out/{packages/zero-server → zero-server}/src/queries/process-queries.js +0 -0
  1572. /package/out/{packages/zero-server → zero-server}/src/schema.js +0 -0
  1573. /package/out/{packages/zero-server → zero-server}/src/zql-database.js +0 -0
  1574. /package/out/{packages/zero-solid → zero-solid}/src/bindings.js +0 -0
  1575. /package/out/{packages/zero-solid → zero-solid}/src/mod.js +0 -0
  1576. /package/out/{packages/zero-solid → zero-solid}/src/zero.js +0 -0
  1577. /package/out/{packages/zero-types → zero-types}/src/format.js +0 -0
  1578. /package/out/{packages/zero-types → zero-types}/src/name-mapper.js +0 -0
  1579. /package/out/{packages/zql → zql}/src/builder/builder.js +0 -0
  1580. /package/out/{packages/zql → zql}/src/builder/debug-delegate.js +0 -0
  1581. /package/out/{packages/zql → zql}/src/builder/filter.js +0 -0
  1582. /package/out/{packages/zql → zql}/src/builder/like.js +0 -0
  1583. /package/out/{packages/zql → zql}/src/error.js +0 -0
  1584. /package/out/{packages/zql → zql}/src/ivm/array-view.js +0 -0
  1585. /package/out/{packages/zql → zql}/src/ivm/cap.js +0 -0
  1586. /package/out/{packages/zql → zql}/src/ivm/change.js +0 -0
  1587. /package/out/{packages/zql → zql}/src/ivm/constraint.js +0 -0
  1588. /package/out/{packages/zql → zql}/src/ivm/data.js +0 -0
  1589. /package/out/{packages/zql → zql}/src/ivm/exists.js +0 -0
  1590. /package/out/{packages/zql → zql}/src/ivm/fan-in.js +0 -0
  1591. /package/out/{packages/zql → zql}/src/ivm/fan-out.js +0 -0
  1592. /package/out/{packages/zql → zql}/src/ivm/filter-operators.js +0 -0
  1593. /package/out/{packages/zql → zql}/src/ivm/filter-push.js +0 -0
  1594. /package/out/{packages/zql → zql}/src/ivm/filter.js +0 -0
  1595. /package/out/{packages/zql → zql}/src/ivm/flipped-join.js +0 -0
  1596. /package/out/{packages/zql → zql}/src/ivm/join-utils.js +0 -0
  1597. /package/out/{packages/zql → zql}/src/ivm/join.js +0 -0
  1598. /package/out/{packages/zql → zql}/src/ivm/maybe-split-and-push-edit-change.js +0 -0
  1599. /package/out/{packages/zql → zql}/src/ivm/memory-source.js +0 -0
  1600. /package/out/{packages/zql → zql}/src/ivm/memory-storage.js +0 -0
  1601. /package/out/{packages/zql → zql}/src/ivm/operator.js +0 -0
  1602. /package/out/{packages/zql → zql}/src/ivm/push-accumulated.js +0 -0
  1603. /package/out/{packages/zql → zql}/src/ivm/skip-yields.js +0 -0
  1604. /package/out/{packages/zql → zql}/src/ivm/skip.js +0 -0
  1605. /package/out/{packages/zql → zql}/src/ivm/source.js +0 -0
  1606. /package/out/{packages/zql → zql}/src/ivm/stream.js +0 -0
  1607. /package/out/{packages/zql → zql}/src/ivm/take.js +0 -0
  1608. /package/out/{packages/zql → zql}/src/ivm/union-fan-in.js +0 -0
  1609. /package/out/{packages/zql → zql}/src/ivm/union-fan-out.js +0 -0
  1610. /package/out/{packages/zql → zql}/src/ivm/view-apply-change.js +0 -0
  1611. /package/out/{packages/zql → zql}/src/mutate/crud.js +0 -0
  1612. /package/out/{packages/zql → zql}/src/mutate/custom.js +0 -0
  1613. /package/out/{packages/zql → zql}/src/mutate/mutator-registry.js +0 -0
  1614. /package/out/{packages/zql → zql}/src/mutate/mutator.js +0 -0
  1615. /package/out/{packages/zql → zql}/src/planner/planner-builder.js +0 -0
  1616. /package/out/{packages/zql → zql}/src/planner/planner-connection.js +0 -0
  1617. /package/out/{packages/zql → zql}/src/planner/planner-constraint.js +0 -0
  1618. /package/out/{packages/zql → zql}/src/planner/planner-debug.js +0 -0
  1619. /package/out/{packages/zql → zql}/src/planner/planner-fan-in.js +0 -0
  1620. /package/out/{packages/zql → zql}/src/planner/planner-fan-out.js +0 -0
  1621. /package/out/{packages/zql → zql}/src/planner/planner-graph.js +0 -0
  1622. /package/out/{packages/zql → zql}/src/planner/planner-join.js +0 -0
  1623. /package/out/{packages/zql → zql}/src/planner/planner-node.js +0 -0
  1624. /package/out/{packages/zql → zql}/src/planner/planner-source.js +0 -0
  1625. /package/out/{packages/zql → zql}/src/planner/planner-terminus.js +0 -0
  1626. /package/out/{packages/zql → zql}/src/query/complete-ordering.js +0 -0
  1627. /package/out/{packages/zql → zql}/src/query/create-builder.js +0 -0
  1628. /package/out/{packages/zql → zql}/src/query/error.js +0 -0
  1629. /package/out/{packages/zql → zql}/src/query/escape-like.js +0 -0
  1630. /package/out/{packages/zql → zql}/src/query/expression.js +0 -0
  1631. /package/out/{packages/zql → zql}/src/query/measure-push-operator.js +0 -0
  1632. /package/out/{packages/zql → zql}/src/query/metrics-delegate.js +0 -0
  1633. /package/out/{packages/zql → zql}/src/query/named.js +0 -0
  1634. /package/out/{packages/zql → zql}/src/query/query-delegate-base.js +0 -0
  1635. /package/out/{packages/zql → zql}/src/query/query-impl.js +0 -0
  1636. /package/out/{packages/zql → zql}/src/query/query-internals.js +0 -0
  1637. /package/out/{packages/zql → zql}/src/query/query-registry.js +0 -0
  1638. /package/out/{packages/zql → zql}/src/query/query.js +0 -0
  1639. /package/out/{packages/zql → zql}/src/query/runnable-query-impl.js +0 -0
  1640. /package/out/{packages/zql → zql}/src/query/static-query.js +0 -0
  1641. /package/out/{packages/zql → zql}/src/query/ttl.js +0 -0
  1642. /package/out/{packages/zql → zql}/src/query/validate-input.js +0 -0
  1643. /package/out/{packages/zqlite → zqlite}/src/database-storage.js +0 -0
  1644. /package/out/{packages/zqlite → zqlite}/src/db.js +0 -0
  1645. /package/out/{packages/zqlite → zqlite}/src/explain-queries.js +0 -0
  1646. /package/out/{packages/zqlite → zqlite}/src/internal/sql-inline.js +0 -0
  1647. /package/out/{packages/zqlite → zqlite}/src/internal/sql.js +0 -0
  1648. /package/out/{packages/zqlite → zqlite}/src/internal/statement-cache.js +0 -0
  1649. /package/out/{packages/zqlite → zqlite}/src/mod.js +0 -0
  1650. /package/out/{packages/zqlite → zqlite}/src/query-builder.js +0 -0
  1651. /package/out/{packages/zqlite → zqlite}/src/query-delegate.js +0 -0
  1652. /package/out/{packages/zqlite → zqlite}/src/resolve-scalar-subqueries.js +0 -0
  1653. /package/out/{packages/zqlite → zqlite}/src/sqlite-cost-model.js +0 -0
  1654. /package/out/{packages/zqlite → zqlite}/src/sqlite-stat-fanout.js +0 -0
  1655. /package/out/{packages/zqlite → zqlite}/src/table-source.js +0 -0
@@ -1,13 +1,8 @@
1
- import { createRequire } from "node:module";
2
1
  //#region \0rolldown/runtime.js
3
- var __create = Object.create;
4
2
  var __defProp = Object.defineProperty;
5
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
10
- var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
11
6
  var __exportAll = (all, no_symbols) => {
12
7
  let target = {};
13
8
  for (var name in all) __defProp(target, name, {
@@ -28,11 +23,5 @@ var __copyProps = (to, from, except, desc) => {
28
23
  return to;
29
24
  };
30
25
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
31
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
32
- value: mod,
33
- enumerable: true
34
- }) : target, mod));
35
- var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
- var __require = /* @__PURE__ */ createRequire(import.meta.url);
37
26
  //#endregion
38
- export { __commonJSMin, __esmMin, __exportAll, __reExport, __require, __toCommonJS, __toESM };
27
+ export { __exportAll, __reExport };
@@ -0,0 +1,288 @@
1
+ import { valita_exports } from "../../shared/src/valita.js";
2
+ import { createBuilder } from "../../zql/src/query/create-builder.js";
3
+ import { Zero } from "../../zero-client/src/client/zero.js";
4
+ import "../../shared/src/dotenv.js";
5
+ import { logLevel, logOptions } from "../../otel/src/log-options.js";
6
+ import { colorConsole } from "../../shared/src/logging.js";
7
+ import { parseOptions } from "../../shared/src/options.js";
8
+ import { ZERO_ENV_VAR_PREFIX } from "../../zero-cache/src/config/zero-config.js";
9
+ import { Console } from "node:console";
10
+ import { styleText } from "node:util";
11
+ import { WebSocket } from "ws";
12
+ //#region ../analyze-query/src/analyze-cli.ts
13
+ var options = {
14
+ zeroCacheURL: {
15
+ type: valita_exports.string().optional(),
16
+ desc: ["URL of the remote zero-cache to analyze against.", "Accepts http(s):// or ws(s):// (ws(s) is the transport actually used)."]
17
+ },
18
+ adminPassword: {
19
+ type: valita_exports.string().optional(),
20
+ desc: ["Admin password for zero-cache.", "Required when the server is configured with one; ignored in dev mode."]
21
+ },
22
+ authToken: {
23
+ type: valita_exports.string().optional(),
24
+ desc: ["Raw JWT forwarded to zero-cache.", "Used server-side to fill permission variables for the query."]
25
+ },
26
+ cookie: {
27
+ type: valita_exports.string().optional(),
28
+ desc: [
29
+ "Cookie header value sent on the WebSocket upgrade request,",
30
+ "e.g. `session=abc; foo=bar`. Use this when zero-cache is behind",
31
+ "a proxy that resolves auth via cookies. Merged with --headers-json",
32
+ "(--cookie wins on conflict)."
33
+ ]
34
+ },
35
+ headersJson: {
36
+ type: valita_exports.string().optional(),
37
+ desc: [
38
+ "JSON object of arbitrary headers to send on the WebSocket upgrade",
39
+ "request, e.g. `{\"x-api-key\":\"...\"}`. Escape hatch for exotic auth",
40
+ "schemes; prefer --auth-token or --cookie when possible."
41
+ ]
42
+ },
43
+ userId: {
44
+ type: valita_exports.string().optional(),
45
+ desc: ["Optional userID to report to zero-cache.", "Has no functional effect on analysis; defaults to \"analyze-cli\"."]
46
+ },
47
+ ast: {
48
+ type: valita_exports.string().optional(),
49
+ desc: ["JSON-encoded AST. Exactly one of --ast / --query / --query-name is required.", "The AST is sent to the server verbatim — provide it in server (post-mapping) form."]
50
+ },
51
+ query: {
52
+ type: valita_exports.string().optional(),
53
+ desc: ["ZQL query in chain form, e.g. `issue.related(\"comments\").limit(10)`.", "Evaluated against the schema you pass to runAnalyzeCLI."]
54
+ },
55
+ queryName: {
56
+ type: valita_exports.string().optional(),
57
+ desc: ["Name of a server-registered custom (named) query.", "The server resolves the name + args via its registered query handler."]
58
+ },
59
+ queryArgs: {
60
+ type: valita_exports.string().optional(),
61
+ desc: ["JSON-encoded array of arguments for --query-name. Defaults to `[]`."]
62
+ },
63
+ outputVendedRows: {
64
+ type: valita_exports.boolean().default(false),
65
+ desc: ["Include the rows read from the replica to execute the query.", "Each row appears once per read."]
66
+ },
67
+ outputSyncedRows: {
68
+ type: valita_exports.boolean().default(false),
69
+ desc: ["Include the rows that would be synced to the client."]
70
+ },
71
+ log: {
72
+ ...logOptions,
73
+ level: logLevel.default("error")
74
+ }
75
+ };
76
+ var stderrConsole = new Console({
77
+ stdout: process.stderr,
78
+ stderr: process.stderr
79
+ });
80
+ var stderrLogSink = { log(level, context, ...args) {
81
+ const ctx = context ? Object.entries(context).map(([k, v]) => v === void 0 ? k : `${k}=${v}`) : [];
82
+ stderrConsole[level](...ctx, ...args);
83
+ } };
84
+ /**
85
+ * Entry point for a user's `cli.ts`. Parses argv, connects to a remote
86
+ * zero-cache by standing up an in-process Zero client (in-memory storage,
87
+ * no subscriptions), calls the inspector's `analyze-query` RPC, and
88
+ * renders the result. Intended to be called as:
89
+ *
90
+ * ```ts
91
+ * import {schema} from './schema.ts';
92
+ * import {runAnalyzeCLI} from '@rocicorp/zero/analyze';
93
+ * await runAnalyzeCLI({schema});
94
+ * ```
95
+ *
96
+ * Exits the process with code 1 on error.
97
+ */
98
+ async function runAnalyzeCLI(opts) {
99
+ const config = parseOptions(options, {
100
+ argv: (opts.argv ?? process.argv.slice(2)).map((s) => s.replaceAll("\n", " ")),
101
+ envNamePrefix: ZERO_ENV_VAR_PREFIX,
102
+ description: [{
103
+ header: "analyze-query (remote)",
104
+ content: `Analyze a ZQL query against a remote zero-cache.
105
+
106
+ Connects to zero-cache's inspector protocol and reports the server-observed
107
+ row scans, SQLite query plans, and timings.`
108
+ }, {
109
+ header: "Examples",
110
+ content: ` node cli.ts --zero-cache-url=https://zero.example.com \\
111
+ --admin-password="$ZERO_ADMIN_PASSWORD" \\
112
+ --query='issue.related("comments").limit(10)'
113
+
114
+ node cli.ts --zero-cache-url=http://localhost:4848 \\
115
+ --ast='\\{"table": "issue", "limit": 5\\}'
116
+
117
+ node cli.ts --zero-cache-url=http://localhost:4848 \\
118
+ --query-name=issueList --query-args='[]'`
119
+ }]
120
+ });
121
+ if (!config.zeroCacheURL) {
122
+ colorConsole.error("--zero-cache-url is required. See --help for usage.");
123
+ process.exit(1);
124
+ }
125
+ const plan = buildQueryPlan(config);
126
+ const handshakeHeaders = resolveHandshakeHeaders(config);
127
+ if (Object.keys(handshakeHeaders).length > 0) installWebSocketHeaderShim(handshakeHeaders);
128
+ globalThis.TESTING ??= false;
129
+ const z = new Zero({
130
+ schema: opts.schema,
131
+ server: config.zeroCacheURL,
132
+ auth: config.authToken,
133
+ userID: config.userId ?? "analyze-cli",
134
+ kvStore: "mem",
135
+ logLevel: config.log.level,
136
+ logSink: stderrLogSink
137
+ });
138
+ let result;
139
+ try {
140
+ if (!await z.inspector.authenticate(config.adminPassword ?? "")) throw new Error("admin password rejected (or --admin-password is required)");
141
+ const rpcOptions = {
142
+ vendedRows: config.outputVendedRows,
143
+ syncedRows: config.outputSyncedRows
144
+ };
145
+ if (plan.kind === "ast") result = await z.inspector.analyzeServerAST(plan.ast, rpcOptions);
146
+ else if (plan.kind === "named") result = await z.inspector.analyzeNamedQuery(plan.name, plan.args, rpcOptions);
147
+ else {
148
+ const built = buildZqlQuery(plan.text, createBuilder(opts.schema));
149
+ result = await z.inspector.analyzeQuery(built, rpcOptions);
150
+ }
151
+ } catch (e) {
152
+ colorConsole.error(e instanceof Error ? e.message : String(e));
153
+ await z.close().catch(() => {});
154
+ process.exit(1);
155
+ }
156
+ renderResult(result, {
157
+ outputSyncedRows: config.outputSyncedRows,
158
+ outputVendedRows: config.outputVendedRows
159
+ });
160
+ await z.close();
161
+ }
162
+ function buildQueryPlan(config) {
163
+ const selectors = [
164
+ config.ast !== void 0 && "ast",
165
+ config.query !== void 0 && "query",
166
+ config.queryName !== void 0 && "queryName"
167
+ ].filter(Boolean);
168
+ if (selectors.length === 0) {
169
+ colorConsole.error("Exactly one of --ast / --query / --query-name is required.");
170
+ process.exit(1);
171
+ }
172
+ if (selectors.length > 1) {
173
+ colorConsole.error(`Only one of --ast / --query / --query-name may be provided; got: ${selectors.join(", ")}`);
174
+ process.exit(1);
175
+ }
176
+ if (config.ast !== void 0) return {
177
+ kind: "ast",
178
+ ast: JSON.parse(config.ast)
179
+ };
180
+ if (config.query !== void 0) return {
181
+ kind: "zql",
182
+ text: config.query
183
+ };
184
+ const args = config.queryArgs ? JSON.parse(config.queryArgs) : [];
185
+ return {
186
+ kind: "named",
187
+ name: config.queryName,
188
+ args
189
+ };
190
+ }
191
+ function buildZqlQuery(queryString, builder) {
192
+ return new Function("builder", `return builder.${queryString};`)(builder);
193
+ }
194
+ function resolveHandshakeHeaders(config) {
195
+ const headers = {};
196
+ if (config.headersJson !== void 0) {
197
+ let parsed;
198
+ try {
199
+ parsed = JSON.parse(config.headersJson);
200
+ } catch (e) {
201
+ colorConsole.error(`--headers-json is not valid JSON: ${e instanceof Error ? e.message : String(e)}`);
202
+ process.exit(1);
203
+ }
204
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
205
+ colorConsole.error("--headers-json must be a JSON object.");
206
+ process.exit(1);
207
+ }
208
+ for (const [k, val] of Object.entries(parsed)) {
209
+ if (typeof val !== "string") {
210
+ colorConsole.error(`--headers-json values must be strings; got ${typeof val} for "${k}".`);
211
+ process.exit(1);
212
+ }
213
+ headers[k] = val;
214
+ }
215
+ }
216
+ if (config.cookie !== void 0) headers.cookie = config.cookie;
217
+ return headers;
218
+ }
219
+ function installWebSocketHeaderShim(headers) {
220
+ class HeaderInjectingWebSocket extends WebSocket {
221
+ constructor(url, protocols) {
222
+ super(url, protocols, { headers });
223
+ }
224
+ }
225
+ globalThis.WebSocket = HeaderInjectingWebSocket;
226
+ }
227
+ function renderResult(result, opts) {
228
+ if (opts.outputSyncedRows) {
229
+ colorConsole.log(styleText(["blue", "bold"], "=== Synced Rows: ===\n"));
230
+ for (const [table, rows] of Object.entries(result.syncedRows ?? {})) colorConsole.log(styleText("bold", table + ":"), rows);
231
+ }
232
+ colorConsole.log(styleText(["blue", "bold"], "=== Query Stats: ===\n"));
233
+ colorConsole.log(styleText("bold", "total synced rows:"), result.syncedRowCount);
234
+ const readRowCountsByQuery = result.readRowCountsByQuery ?? {};
235
+ let totalRowsRead = 0;
236
+ for (const table of Object.keys(readRowCountsByQuery).sort()) {
237
+ const counts = readRowCountsByQuery[table];
238
+ for (const n of Object.values(counts)) totalRowsRead += n;
239
+ colorConsole.log(styleText("bold", `${table} vended:`), counts);
240
+ }
241
+ colorConsole.log(styleText("bold", "Rows Read (into JS):"), colorRowsConsidered(totalRowsRead));
242
+ const duration = result.elapsed ?? result.end - result.start;
243
+ colorConsole.log(styleText("bold", "time:"), colorTime(duration), "ms");
244
+ if (opts.outputVendedRows) {
245
+ colorConsole.log(styleText(["blue", "bold"], "=== JS Row Scan Values: ===\n"));
246
+ for (const [table, rows] of Object.entries(result.readRows ?? {})) colorConsole.log(styleText("bold", `${table}:`), rows);
247
+ }
248
+ colorConsole.log(styleText(["blue", "bold"], "\n=== Rows Scanned (by SQLite): ===\n"));
249
+ const dbScansByQuery = result.dbScansByQuery ?? {};
250
+ let totalNVisit = 0;
251
+ for (const [table, queries] of Object.entries(dbScansByQuery)) {
252
+ colorConsole.log(styleText("bold", `${table}:`), queries);
253
+ for (const count of Object.values(queries)) totalNVisit += count;
254
+ }
255
+ colorConsole.log(styleText("bold", "total rows scanned:"), colorRowsConsidered(totalNVisit));
256
+ colorConsole.log(styleText(["blue", "bold"], "\n\n=== Query Plans: ===\n"));
257
+ const plans = result.sqlitePlans ?? {};
258
+ for (const [query, plan] of Object.entries(plans)) {
259
+ colorConsole.log(styleText("bold", "query"), query);
260
+ colorConsole.log(plan.map((row, i) => colorPlanRow(row, i)).join("\n"));
261
+ colorConsole.log("\n");
262
+ }
263
+ if (result.warnings.length > 0) {
264
+ colorConsole.log(styleText(["yellow", "bold"], "=== Warnings: ===\n"));
265
+ for (const w of result.warnings) colorConsole.log(styleText("yellow", w));
266
+ }
267
+ }
268
+ function colorTime(duration) {
269
+ if (duration < 100) return styleText("green", duration.toFixed(2) + "ms");
270
+ else if (duration < 1e3) return styleText("yellow", duration.toFixed(2) + "ms");
271
+ return styleText("red", duration.toFixed(2) + "ms");
272
+ }
273
+ function colorRowsConsidered(n) {
274
+ if (n < 1e3) return styleText("green", n.toString());
275
+ else if (n < 1e4) return styleText("yellow", n.toString());
276
+ return styleText("red", n.toString());
277
+ }
278
+ function colorPlanRow(row, i) {
279
+ if (row.includes("SCAN")) {
280
+ if (i === 0) return styleText("yellow", row);
281
+ return styleText("red", row);
282
+ }
283
+ return styleText("green", row);
284
+ }
285
+ //#endregion
286
+ export { runAnalyzeCLI };
287
+
288
+ //# sourceMappingURL=analyze-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-cli.js","names":[],"sources":["../../../../analyze-query/src/analyze-cli.ts"],"sourcesContent":["import '../../shared/src/dotenv.ts';\n\nimport {Console} from 'node:console';\nimport {styleText} from 'node:util';\nimport type {LogSink} from '@rocicorp/logger';\nimport {WebSocket as NodeWebSocket} from 'ws';\nimport {logLevel, logOptions} from '../../otel/src/log-options.ts';\nimport {colorConsole} from '../../shared/src/logging.ts';\nimport {parseOptions} from '../../shared/src/options.ts';\nimport * as v from '../../shared/src/valita.ts';\nimport {ZERO_ENV_VAR_PREFIX} from '../../zero-cache/src/config/zero-config.ts';\nimport {Zero} from '../../zero-client/src/client/zero.ts';\nimport type {AnalyzeQueryResult} from '../../zero-protocol/src/analyze-query-result.ts';\nimport type {AST} from '../../zero-protocol/src/ast.ts';\nimport type {Schema} from '../../zero-types/src/schema.ts';\nimport {createBuilder} from '../../zql/src/query/create-builder.ts';\nimport type {AnyQuery} from '../../zql/src/query/query.ts';\nimport type {SchemaQuery} from '../../zql/src/query/schema-query.ts';\n\nexport type AnalyzeCLIOptions = {\n schema: Schema;\n /** Defaults to `process.argv.slice(2)`. */\n argv?: readonly string[] | undefined;\n};\n\nconst options = {\n zeroCacheURL: {\n type: v.string().optional(),\n desc: [\n 'URL of the remote zero-cache to analyze against.',\n 'Accepts http(s):// or ws(s):// (ws(s) is the transport actually used).',\n ],\n },\n adminPassword: {\n type: v.string().optional(),\n desc: [\n 'Admin password for zero-cache.',\n 'Required when the server is configured with one; ignored in dev mode.',\n ],\n },\n authToken: {\n type: v.string().optional(),\n desc: [\n 'Raw JWT forwarded to zero-cache.',\n 'Used server-side to fill permission variables for the query.',\n ],\n },\n cookie: {\n type: v.string().optional(),\n desc: [\n 'Cookie header value sent on the WebSocket upgrade request,',\n 'e.g. `session=abc; foo=bar`. Use this when zero-cache is behind',\n 'a proxy that resolves auth via cookies. Merged with --headers-json',\n '(--cookie wins on conflict).',\n ],\n },\n headersJson: {\n type: v.string().optional(),\n desc: [\n 'JSON object of arbitrary headers to send on the WebSocket upgrade',\n 'request, e.g. `{\"x-api-key\":\"...\"}`. Escape hatch for exotic auth',\n 'schemes; prefer --auth-token or --cookie when possible.',\n ],\n },\n userId: {\n type: v.string().optional(),\n desc: [\n 'Optional userID to report to zero-cache.',\n 'Has no functional effect on analysis; defaults to \"analyze-cli\".',\n ],\n },\n ast: {\n type: v.string().optional(),\n desc: [\n 'JSON-encoded AST. Exactly one of --ast / --query / --query-name is required.',\n 'The AST is sent to the server verbatim — provide it in server (post-mapping) form.',\n ],\n },\n query: {\n type: v.string().optional(),\n desc: [\n 'ZQL query in chain form, e.g. `issue.related(\"comments\").limit(10)`.',\n 'Evaluated against the schema you pass to runAnalyzeCLI.',\n ],\n },\n queryName: {\n type: v.string().optional(),\n desc: [\n 'Name of a server-registered custom (named) query.',\n 'The server resolves the name + args via its registered query handler.',\n ],\n },\n queryArgs: {\n type: v.string().optional(),\n desc: [\n 'JSON-encoded array of arguments for --query-name. Defaults to `[]`.',\n ],\n },\n outputVendedRows: {\n type: v.boolean().default(false),\n desc: [\n 'Include the rows read from the replica to execute the query.',\n 'Each row appears once per read.',\n ],\n },\n outputSyncedRows: {\n type: v.boolean().default(false),\n desc: ['Include the rows that would be synced to the client.'],\n },\n log: {\n ...logOptions,\n level: logLevel.default('error'),\n },\n};\n\ntype QueryPlan =\n | {kind: 'ast'; ast: AST}\n | {kind: 'zql'; text: string}\n | {kind: 'named'; name: string; args: ReadonlyArray<unknown>};\n\n// Route all Zero client log output to stderr so stdout contains only the\n// analyze result. Shell redirection (`2>/dev/null`) can then cleanly silence\n// logs without affecting output.\nconst stderrConsole = new Console({\n stdout: process.stderr,\n stderr: process.stderr,\n});\nconst stderrLogSink: LogSink = {\n log(level, context, ...args) {\n const ctx = context\n ? Object.entries(context).map(([k, v]) =>\n v === undefined ? k : `${k}=${v}`,\n )\n : [];\n stderrConsole[level](...ctx, ...args);\n },\n};\n\n/**\n * Entry point for a user's `cli.ts`. Parses argv, connects to a remote\n * zero-cache by standing up an in-process Zero client (in-memory storage,\n * no subscriptions), calls the inspector's `analyze-query` RPC, and\n * renders the result. Intended to be called as:\n *\n * ```ts\n * import {schema} from './schema.ts';\n * import {runAnalyzeCLI} from '@rocicorp/zero/analyze';\n * await runAnalyzeCLI({schema});\n * ```\n *\n * Exits the process with code 1 on error.\n */\nexport async function runAnalyzeCLI(opts: AnalyzeCLIOptions): Promise<void> {\n const argv = (opts.argv ?? process.argv.slice(2)).map(s =>\n s.replaceAll('\\n', ' '),\n );\n\n const config = parseOptions(options, {\n argv,\n envNamePrefix: ZERO_ENV_VAR_PREFIX,\n description: [\n {\n header: 'analyze-query (remote)',\n content: `Analyze a ZQL query against a remote zero-cache.\n\n Connects to zero-cache's inspector protocol and reports the server-observed\n row scans, SQLite query plans, and timings.`,\n },\n {\n header: 'Examples',\n content: ` node cli.ts --zero-cache-url=https://zero.example.com \\\\\n --admin-password=\"$ZERO_ADMIN_PASSWORD\" \\\\\n --query='issue.related(\"comments\").limit(10)'\n\n node cli.ts --zero-cache-url=http://localhost:4848 \\\\\n --ast='\\\\{\"table\": \"issue\", \"limit\": 5\\\\}'\n\n node cli.ts --zero-cache-url=http://localhost:4848 \\\\\n --query-name=issueList --query-args='[]'`,\n },\n ],\n });\n\n if (!config.zeroCacheURL) {\n colorConsole.error('--zero-cache-url is required. See --help for usage.');\n process.exit(1);\n }\n\n const plan = buildQueryPlan(config);\n\n const handshakeHeaders = resolveHandshakeHeaders(config);\n if (Object.keys(handshakeHeaders).length > 0) {\n installWebSocketHeaderShim(handshakeHeaders);\n }\n\n // zero-client and replicache reference a build-time `TESTING` global that\n // bundlers replace with a boolean literal; under node there's no replacement,\n // so provide a runtime default.\n (globalThis as {TESTING?: boolean}).TESTING ??= false;\n\n const z = new Zero({\n schema: opts.schema,\n server: config.zeroCacheURL,\n auth: config.authToken,\n userID: config.userId ?? 'analyze-cli',\n kvStore: 'mem',\n logLevel: config.log.level,\n logSink: stderrLogSink,\n });\n\n let result: AnalyzeQueryResult;\n try {\n const authOk = await z.inspector.authenticate(config.adminPassword ?? '');\n if (!authOk) {\n throw new Error(\n 'admin password rejected (or --admin-password is required)',\n );\n }\n\n const rpcOptions = {\n vendedRows: config.outputVendedRows,\n syncedRows: config.outputSyncedRows,\n };\n\n if (plan.kind === 'ast') {\n result = await z.inspector.analyzeServerAST(plan.ast, rpcOptions);\n } else if (plan.kind === 'named') {\n result = await z.inspector.analyzeNamedQuery(\n plan.name,\n plan.args as ReadonlyArray<never>,\n rpcOptions,\n );\n } else {\n const built = buildZqlQuery(plan.text, createBuilder(opts.schema));\n result = await z.inspector.analyzeQuery(built, rpcOptions);\n }\n } catch (e) {\n colorConsole.error(e instanceof Error ? e.message : String(e));\n await z.close().catch(() => {});\n process.exit(1);\n }\n\n renderResult(result, {\n outputSyncedRows: config.outputSyncedRows,\n outputVendedRows: config.outputVendedRows,\n });\n\n await z.close();\n}\n\nfunction buildQueryPlan(config: {\n ast?: string | undefined;\n query?: string | undefined;\n queryName?: string | undefined;\n queryArgs?: string | undefined;\n}): QueryPlan {\n const selectors = [\n config.ast !== undefined && 'ast',\n config.query !== undefined && 'query',\n config.queryName !== undefined && 'queryName',\n ].filter(Boolean) as string[];\n\n if (selectors.length === 0) {\n colorConsole.error(\n 'Exactly one of --ast / --query / --query-name is required.',\n );\n process.exit(1);\n }\n if (selectors.length > 1) {\n colorConsole.error(\n `Only one of --ast / --query / --query-name may be provided; got: ${selectors.join(', ')}`,\n );\n process.exit(1);\n }\n\n if (config.ast !== undefined) {\n return {kind: 'ast', ast: JSON.parse(config.ast) as AST};\n }\n if (config.query !== undefined) {\n return {kind: 'zql', text: config.query};\n }\n const args = config.queryArgs\n ? (JSON.parse(config.queryArgs) as ReadonlyArray<unknown>)\n : [];\n return {kind: 'named', name: config.queryName as string, args};\n}\n\nfunction buildZqlQuery(\n queryString: string,\n builder: SchemaQuery<Schema>,\n): AnyQuery {\n const f = new Function('builder', `return builder.${queryString};`);\n return f(builder) as AnyQuery;\n}\n\nfunction resolveHandshakeHeaders(config: {\n cookie?: string | undefined;\n headersJson?: string | undefined;\n}): Record<string, string> {\n const headers: Record<string, string> = {};\n if (config.headersJson !== undefined) {\n let parsed: unknown;\n try {\n parsed = JSON.parse(config.headersJson);\n } catch (e) {\n colorConsole.error(\n `--headers-json is not valid JSON: ${e instanceof Error ? e.message : String(e)}`,\n );\n process.exit(1);\n }\n if (\n parsed === null ||\n typeof parsed !== 'object' ||\n Array.isArray(parsed)\n ) {\n colorConsole.error('--headers-json must be a JSON object.');\n process.exit(1);\n }\n for (const [k, val] of Object.entries(parsed)) {\n if (typeof val !== 'string') {\n colorConsole.error(\n `--headers-json values must be strings; got ${typeof val} for \"${k}\".`,\n );\n process.exit(1);\n }\n headers[k] = val;\n }\n }\n if (config.cookie !== undefined) {\n headers.cookie = config.cookie;\n }\n return headers;\n}\n\nfunction installWebSocketHeaderShim(headers: Record<string, string>): void {\n class HeaderInjectingWebSocket extends NodeWebSocket {\n constructor(url: string | URL, protocols?: string | string[]) {\n super(url, protocols, {headers});\n }\n }\n (globalThis as {WebSocket?: unknown}).WebSocket = HeaderInjectingWebSocket;\n}\n\nfunction renderResult(\n result: AnalyzeQueryResult,\n opts: {outputSyncedRows: boolean; outputVendedRows: boolean},\n) {\n if (opts.outputSyncedRows) {\n colorConsole.log(styleText(['blue', 'bold'], '=== Synced Rows: ===\\n'));\n for (const [table, rows] of Object.entries(result.syncedRows ?? {})) {\n colorConsole.log(styleText('bold', table + ':'), rows);\n }\n }\n\n colorConsole.log(styleText(['blue', 'bold'], '=== Query Stats: ===\\n'));\n colorConsole.log(\n styleText('bold', 'total synced rows:'),\n result.syncedRowCount,\n );\n\n const readRowCountsByQuery = result.readRowCountsByQuery ?? {};\n let totalRowsRead = 0;\n for (const table of Object.keys(readRowCountsByQuery).sort()) {\n const counts = readRowCountsByQuery[table];\n for (const n of Object.values(counts)) {\n totalRowsRead += n;\n }\n colorConsole.log(styleText('bold', `${table} vended:`), counts);\n }\n colorConsole.log(\n styleText('bold', 'Rows Read (into JS):'),\n colorRowsConsidered(totalRowsRead),\n );\n const duration = result.elapsed ?? result.end - result.start;\n colorConsole.log(styleText('bold', 'time:'), colorTime(duration), 'ms');\n\n if (opts.outputVendedRows) {\n colorConsole.log(\n styleText(['blue', 'bold'], '=== JS Row Scan Values: ===\\n'),\n );\n for (const [table, rows] of Object.entries(result.readRows ?? {})) {\n colorConsole.log(styleText('bold', `${table}:`), rows);\n }\n }\n\n colorConsole.log(\n styleText(['blue', 'bold'], '\\n=== Rows Scanned (by SQLite): ===\\n'),\n );\n const dbScansByQuery = result.dbScansByQuery ?? {};\n let totalNVisit = 0;\n for (const [table, queries] of Object.entries(dbScansByQuery)) {\n colorConsole.log(styleText('bold', `${table}:`), queries);\n for (const count of Object.values(queries)) {\n totalNVisit += count;\n }\n }\n colorConsole.log(\n styleText('bold', 'total rows scanned:'),\n colorRowsConsidered(totalNVisit),\n );\n\n colorConsole.log(styleText(['blue', 'bold'], '\\n\\n=== Query Plans: ===\\n'));\n const plans = result.sqlitePlans ?? {};\n for (const [query, plan] of Object.entries(plans)) {\n colorConsole.log(styleText('bold', 'query'), query);\n colorConsole.log(plan.map((row, i) => colorPlanRow(row, i)).join('\\n'));\n colorConsole.log('\\n');\n }\n\n if (result.warnings.length > 0) {\n colorConsole.log(styleText(['yellow', 'bold'], '=== Warnings: ===\\n'));\n for (const w of result.warnings) {\n colorConsole.log(styleText('yellow', w));\n }\n }\n}\n\nfunction colorTime(duration: number) {\n if (duration < 100) {\n return styleText('green', duration.toFixed(2) + 'ms');\n } else if (duration < 1000) {\n return styleText('yellow', duration.toFixed(2) + 'ms');\n }\n return styleText('red', duration.toFixed(2) + 'ms');\n}\n\nfunction colorRowsConsidered(n: number) {\n if (n < 1000) {\n return styleText('green', n.toString());\n } else if (n < 10000) {\n return styleText('yellow', n.toString());\n }\n return styleText('red', n.toString());\n}\n\nfunction colorPlanRow(row: string, i: number) {\n if (row.includes('SCAN')) {\n if (i === 0) {\n return styleText('yellow', row);\n }\n return styleText('red', row);\n }\n return styleText('green', row);\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin-analyze.js","names":[],"sources":["../../../../analyze-query/src/bin-analyze.ts"],"sourcesContent":["import '../../shared/src/dotenv.ts';\n\nimport fs from 'node:fs';\nimport {styleText} from 'node:util';\nimport {astToZQL} from '../../ast-to-zql/src/ast-to-zql.ts';\nimport {formatOutput} from '../../ast-to-zql/src/format.ts';\nimport {logLevel, logOptions} from '../../otel/src/log-options.ts';\nimport {colorConsole, createLogContext} from '../../shared/src/logging.ts';\nimport {must} from '../../shared/src/must.ts';\nimport {parseOptions} from '../../shared/src/options.ts';\nimport * as v from '../../shared/src/valita.ts';\nimport {\n appOptions,\n shardOptions,\n ZERO_ENV_VAR_PREFIX,\n zeroOptions,\n} from '../../zero-cache/src/config/zero-config.ts';\nimport {\n computeZqlSpecs,\n mustGetTableSpec,\n} from '../../zero-cache/src/db/lite-tables.ts';\nimport {\n deployPermissionsOptions,\n loadSchemaAndPermissions,\n} from '../../zero-cache/src/scripts/permissions.ts';\nimport {runAst} from '../../zero-cache/src/services/run-ast.ts';\nimport {pgClient} from '../../zero-cache/src/types/pg.ts';\nimport {getShardID, upstreamSchema} from '../../zero-cache/src/types/shards.ts';\nimport type {AnalyzeQueryResult} from '../../zero-protocol/src/analyze-query-result.ts';\nimport {type AST} from '../../zero-protocol/src/ast.ts';\nimport {clientSchemaFrom} from '../../zero-schema/src/builder/schema-builder.ts';\nimport {clientToServer} from '../../zero-schema/src/name-mapper.ts';\nimport type {Schema} from '../../zero-types/src/schema.ts';\nimport {\n Debug,\n runtimeDebugFlags,\n} from '../../zql/src/builder/debug-delegate.ts';\nimport type {Source} from '../../zql/src/ivm/source.ts';\nimport {QueryDelegateBase} from '../../zql/src/query/query-delegate-base.ts';\nimport {newQuery} from '../../zql/src/query/query-impl.ts';\nimport {asQueryInternals} from '../../zql/src/query/query-internals.ts';\nimport {type PullRow, type Query} from '../../zql/src/query/query.ts';\nimport {Database} from '../../zqlite/src/db.ts';\nimport {explainQueries} from '../../zqlite/src/explain-queries.ts';\nimport {TableSource} from '../../zqlite/src/table-source.ts';\n\nconst options = {\n schema: deployPermissionsOptions.schema,\n replicaFile: {\n ...zeroOptions.replica.file,\n desc: ['File path to the SQLite replica to test queries against.'],\n },\n ast: {\n type: v.string().optional(),\n desc: [\n 'AST for the query to be analyzed. Only one of ast/query/hash should be provided.',\n ],\n },\n query: {\n type: v.string().optional(),\n desc: [\n 'Query to be analyzed in the form of: table.where(...).related(...).etc. ',\n 'Only one of ast/query/hash should be provided.',\n ],\n },\n hash: {\n type: v.string().optional(),\n desc: [\n 'Hash of the query to be analyzed. This is used to look up the query in the database. ',\n 'Only one of ast/query/hash should be provided.',\n 'You should run this script from the directory containing your .env file to reduce the amount of',\n 'configuration required. The .env file should contain the connection URL to the CVR database.',\n ],\n },\n applyPermissions: {\n type: v.boolean().default(false),\n desc: [\n 'Whether to apply permissions (from your schema file) to the provided query.',\n ],\n },\n authData: {\n type: v.string().optional(),\n desc: [\n 'JSON encoded payload of the auth data.',\n 'This will be used to fill permission variables if the \"applyPermissions\" option is set',\n ],\n },\n outputVendedRows: {\n type: v.boolean().default(false),\n desc: [\n 'Whether to output the rows which were read from the replica in order to execute the analyzed query. ',\n 'If the same row is read more than once it will be logged once for each time it was read.',\n ],\n },\n outputSyncedRows: {\n type: v.boolean().default(false),\n desc: [\n 'Whether to output the rows which would be synced to the client for the analyzed query.',\n ],\n },\n cvr: {\n db: {\n type: v.string().optional(),\n desc: [\n 'Connection URL to the CVR database. If using --hash, either this or --upstream-db',\n 'must be specified.',\n ],\n },\n },\n upstream: {\n db: {\n desc: [\n `Connection URL to the \"upstream\" authoritative postgres database. If using --hash, `,\n 'either this or --cvr-db must be specified.',\n ],\n type: v.string().optional(),\n },\n type: zeroOptions.upstream.type,\n },\n app: appOptions,\n shard: shardOptions,\n log: {\n ...logOptions,\n level: logLevel.default('error'),\n },\n};\n\nconst cfg = parseOptions(options, {\n argv: process.argv.slice(2).map(s => s.replaceAll('\\n', ' ')),\n envNamePrefix: ZERO_ENV_VAR_PREFIX,\n description: [\n {\n header: 'analyze-query',\n content: `Analyze a ZQL query and show information about how it runs against a SQLite replica.\n\n analyze-query uses the same environment variables and flags as zero-cache-dev. If run from your development environment, it will pick up your ZERO_REPLICA_FILE, ZERO_SCHEMA_PATH, and other env vars automatically.\n\n If run in another environment (e.g., production) you will have to specify these flags. In particular, you must have a copy of the appropriate Zero schema file to give to the --schema-path flag.`,\n },\n {\n header: 'Examples',\n content: `# In development\n npx analyze-query --query='issue.related(\"comments\").limit(10)'\n npx analyze-query --ast='\\\\{\"table\": \"artist\",\"limit\": 10\\\\}'\n npx analyze-query --hash=1234567890\n\n # In production\n # First copy schema.ts to your production environment, then run:\n npx analyze-query \\\\\n --schema-path='./schema.ts' \\\\\n --replica-file='/path/to/replica.db' \\\\\n --query='issue.related(\"comments\").limit(10)'\n\n npx analyze-query \\\\\n --schema-path='./schema.ts' \\\\\n --replica-file='/path/to/replica.db' \\\\\n --ast='\\\\{\"table\": \"artist\",\"limit\": 10\\\\}'\n\n # cvr-db is required when using the hash option.\n # It is typically the same as your upstream db.\n npx analyze-query \\\\\n --schema-path='./schema.ts' \\\\\n --replica-file='/path/to/replica.db' \\\\\n --cvr-db='postgres://user:pass@host:port/db' \\\\\n --hash=1234567890\n `,\n },\n ],\n});\nconst config = {\n ...cfg,\n cvr: {\n ...cfg.cvr,\n db: cfg.cvr.db ?? cfg.upstream.db,\n },\n};\n\nruntimeDebugFlags.trackRowCountsVended = true;\nruntimeDebugFlags.trackRowsVended = config.outputVendedRows;\n\nconst lc = createLogContext({\n log: config.log,\n});\n\ncolorConsole.warn(\n 'DEPRECATED: `analyze-query` is deprecated. Please migrate to a project-specific analyze command built with `runAnalyzeCLI` from `@rocicorp/zero/analyze`.',\n);\n\nif (!fs.existsSync(config.replicaFile)) {\n colorConsole.error(`Replica file ${config.replicaFile} does not exist`);\n process.exit(1);\n}\nconst db = new Database(lc, config.replicaFile);\n\nconst {schema, permissions} = await loadSchemaAndPermissions(\n config.schema.path,\n);\nconst clientSchema = clientSchemaFrom(schema).clientSchema;\n\nconst sources = new Map<string, TableSource>();\nconst clientToServerMapper = clientToServer(schema.tables);\nconst debug = new Debug();\nconst tableSpecs = computeZqlSpecs(lc, db, {includeBackfillingColumns: false});\n\nclass AnalyzeQueryDelegate extends QueryDelegateBase {\n readonly debug = debug;\n readonly defaultQueryComplete = true;\n\n getSource(serverTableName: string): Source | undefined {\n let source = sources.get(serverTableName);\n if (source) {\n return source;\n }\n const tableSpec = mustGetTableSpec(tableSpecs, serverTableName);\n const {primaryKey} = tableSpec.tableSpec;\n\n source = new TableSource(\n lc,\n config.log,\n db,\n serverTableName,\n tableSpec.zqlSpec,\n primaryKey,\n );\n\n sources.set(serverTableName, source);\n return source;\n }\n}\n\nconst host = new AnalyzeQueryDelegate();\n\nlet result: AnalyzeQueryResult;\n\nif (config.ast) {\n result = await runAst(\n lc,\n clientSchema,\n JSON.parse(config.ast),\n true,\n {\n applyPermissions: config.applyPermissions,\n auth: config.authData\n ? {type: 'jwt' as const, raw: '', decoded: JSON.parse(config.authData)}\n : undefined,\n clientToServerMapper,\n permissions,\n syncedRows: config.outputSyncedRows,\n db,\n tableSpecs,\n host,\n },\n async () => {},\n );\n} else if (config.query) {\n result = await runQuery(config.query);\n} else if (config.hash) {\n result = await runHash(config.hash);\n} else {\n colorConsole.error('No query or AST or hash provided');\n process.exit(1);\n}\n\nfunction runQuery(queryString: string): Promise<AnalyzeQueryResult> {\n const z = {\n query: Object.fromEntries(\n Object.entries(schema.tables).map(([name]) => [\n name,\n newQuery(schema, name),\n ]),\n ),\n };\n\n const f = new Function('z', `return z.query.${queryString};`);\n const q: Query<string, Schema, PullRow<string, Schema>> = f(z);\n\n const ast = asQueryInternals(q).ast;\n return runAst(\n lc,\n clientSchema,\n ast,\n false,\n {\n applyPermissions: config.applyPermissions,\n auth: config.authData\n ? {type: 'jwt' as const, raw: '', decoded: JSON.parse(config.authData)}\n : undefined,\n clientToServerMapper,\n permissions,\n syncedRows: config.outputSyncedRows,\n db,\n tableSpecs,\n host,\n },\n async () => {},\n );\n}\n\nasync function runHash(hash: string) {\n const cvrDB = pgClient(\n lc,\n must(config.cvr.db, 'CVR DB must be provided when using the hash option'),\n 'analyze-query-hash-cvr',\n );\n\n const rows = await cvrDB`select \"clientAST\", \"internal\" from ${cvrDB(\n upstreamSchema(getShardID(config)) + '/cvr',\n )}.\"queries\" where \"queryHash\" = ${must(hash)} limit 1;`;\n await cvrDB.end();\n\n colorConsole.log('ZQL from Hash:');\n const ast = rows[0].clientAST as AST;\n colorConsole.log(await formatOutput(ast.table + astToZQL(ast)));\n\n return runAst(\n lc,\n clientSchema,\n ast,\n true,\n {\n applyPermissions: config.applyPermissions,\n auth: config.authData\n ? {type: 'jwt' as const, raw: '', decoded: JSON.parse(config.authData)}\n : undefined,\n clientToServerMapper,\n permissions,\n syncedRows: config.outputSyncedRows,\n db,\n tableSpecs,\n host,\n },\n async () => {},\n );\n}\n\nif (config.outputSyncedRows) {\n colorConsole.log(styleText(['blue', 'bold'], '=== Synced Rows: ===\\n'));\n for (const [table, rows] of Object.entries(result.syncedRows ?? {})) {\n colorConsole.log(styleText('bold', table + ':'), rows);\n }\n}\n\ncolorConsole.log(styleText(['blue', 'bold'], '=== Query Stats: ===\\n'));\ncolorConsole.log(\n styleText('bold', 'total synced rows:'),\n result.syncedRowCount,\n);\nshowStats();\nif (config.outputVendedRows) {\n colorConsole.log(\n styleText(['blue', 'bold'], '=== JS Row Scan Values: ===\\n'),\n );\n for (const source of sources.values()) {\n colorConsole.log(\n styleText('bold', `${source.tableSchema.name}:`),\n debug.getVendedRows()?.[source.tableSchema.name] ?? {},\n );\n }\n}\n\ncolorConsole.log(\n styleText(['blue', 'bold'], '\\n=== Rows Scanned (by SQLite): ===\\n'),\n);\nconst nvisitCounts = debug.getNVisitCounts();\nlet totalNVisit = 0;\nfor (const [table, queries] of Object.entries(nvisitCounts)) {\n colorConsole.log(styleText('bold', `${table}:`), queries);\n for (const count of Object.values(queries)) {\n totalNVisit += count;\n }\n}\ncolorConsole.log(\n styleText('bold', 'total rows scanned:'),\n colorRowsConsidered(totalNVisit),\n);\n\ncolorConsole.log(styleText(['blue', 'bold'], '\\n\\n=== Query Plans: ===\\n'));\nconst fallbackPlans = explainQueries(debug.getVendedRowCounts() ?? {}, db);\nconst capturedPlans = debug.getSQLitePlans();\nconst plans: Record<string, string[]> = {...fallbackPlans, ...capturedPlans};\nfor (const [query, plan] of Object.entries(plans)) {\n colorConsole.log(styleText('bold', 'query'), query);\n colorConsole.log(plan.map((row, i) => colorPlanRow(row, i)).join('\\n'));\n colorConsole.log('\\n');\n}\n\nfunction showStats() {\n let totalRowsConsidered = 0;\n for (const source of sources.values()) {\n const values = Object.values(\n debug.getVendedRowCounts()?.[source.tableSchema.name] ?? {},\n );\n for (const v of values) {\n totalRowsConsidered += v;\n }\n colorConsole.log(\n styleText('bold', source.tableSchema.name + ' vended:'),\n debug.getVendedRowCounts()?.[source.tableSchema.name] ?? {},\n );\n }\n\n colorConsole.log(\n styleText('bold', 'Rows Read (into JS):'),\n colorRowsConsidered(totalRowsConsidered),\n );\n colorConsole.log(\n styleText('bold', 'time:'),\n colorTime(result.end - result.start),\n 'ms',\n );\n}\n\nfunction colorTime(duration: number) {\n if (duration < 100) {\n return styleText('green', duration.toFixed(2) + 'ms');\n } else if (duration < 1000) {\n return styleText('yellow', duration.toFixed(2) + 'ms');\n }\n return styleText('red', duration.toFixed(2) + 'ms');\n}\n\nfunction colorRowsConsidered(n: number) {\n if (n < 1000) {\n return styleText('green', n.toString());\n } else if (n < 10000) {\n return styleText('yellow', n.toString());\n }\n return styleText('red', n.toString());\n}\n\nfunction colorPlanRow(row: string, i: number) {\n if (row.includes('SCAN')) {\n if (i === 0) {\n return styleText('yellow', row);\n }\n return styleText('red', row);\n }\n return styleText('green', row);\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin-transform.js","names":[],"sources":["../../../../analyze-query/src/bin-transform.ts"],"sourcesContent":["import '../../shared/src/dotenv.ts';\n\nimport {consoleLogSink, LogContext} from '@rocicorp/logger';\nimport {astToZQL} from '../../ast-to-zql/src/ast-to-zql.ts';\nimport {formatOutput} from '../../ast-to-zql/src/format.ts';\nimport {must} from '../../shared/src/must.ts';\nimport {parseOptions} from '../../shared/src/options.ts';\nimport * as v from '../../shared/src/valita.ts';\nimport {transformAndHashQuery} from '../../zero-cache/src/auth/read-authorizer.ts';\nimport {\n appOptions,\n shardOptions,\n ZERO_ENV_VAR_PREFIX,\n} from '../../zero-cache/src/config/zero-config.ts';\nimport {loadSchemaAndPermissions} from '../../zero-cache/src/scripts/permissions.ts';\nimport {pgClient} from '../../zero-cache/src/types/pg.ts';\nimport {getShardID, upstreamSchema} from '../../zero-cache/src/types/shards.ts';\n\nconst options = {\n cvr: {db: v.string()},\n schema: {\n type: v.string().default('./schema.ts'),\n desc: ['Path to the schema file.'],\n },\n app: appOptions,\n shard: shardOptions,\n hash: {\n type: v.string().optional(),\n desc: ['Hash of the query to fetch the AST for.'],\n },\n};\n\nconst config = parseOptions(options, {envNamePrefix: ZERO_ENV_VAR_PREFIX});\n\nconst lc = new LogContext('debug', {}, consoleLogSink);\nconst {permissions} = await loadSchemaAndPermissions(config.schema);\n\nconst cvrDB = pgClient(lc, config.cvr.db, 'analyze-query-transform-cvr');\n\nconst rows =\n await cvrDB`select \"clientAST\", \"internal\" from ${cvrDB(upstreamSchema(getShardID(config)) + '/cvr')}.\"queries\" where \"queryHash\" = ${must(\n config.hash,\n )} limit 1;`;\n\nconst queryAst = transformAndHashQuery(\n lc,\n '',\n rows[0].clientAST,\n permissions,\n {\n type: 'jwt',\n raw: '',\n decoded: {},\n },\n rows[0].internal,\n).transformedAst;\n\n// oxlint-disable no-console\nconsole.log('\\n=== AST ===\\n');\nconsole.log(JSON.stringify(queryAst, null, 2));\nconsole.log('\\n=== ZQL ===\\n');\nconsole.log(await formatOutput(queryAst.table + astToZQL(queryAst)));\n// oxlint-enable no-console\n\nawait cvrDB.end();\n"],"mappings":";;;;;;;;;;;;;AAgCA,IAAM,SAAS,aAAa;CAb1B,KAAK,EAAC,IAAI,eAAE,OAAO,EAAC;CACpB,QAAQ;EACN,MAAM,eAAE,OAAO,EAAE,QAAQ,aAAa;EACtC,MAAM,CAAC,0BAA0B;CACnC;CACA,KAAK;CACL,OAAO;CACP,MAAM;EACJ,MAAM,eAAE,OAAO,EAAE,SAAS;EAC1B,MAAM,CAAC,yCAAyC;CAClD;AAG0B,GAAS,EAAC,eAAe,oBAAmB,CAAC;AAEzE,IAAM,KAAK,IAAI,WAAW,SAAS,CAAC,GAAG,cAAc;AACrD,IAAM,EAAC,gBAAe,MAAM,yBAAyB,OAAO,MAAM;AAElE,IAAM,QAAQ,SAAS,IAAI,OAAO,IAAI,IAAI,6BAA6B;AAEvE,IAAM,OACJ,MAAM,KAAK,uCAAuC,MAAM,eAAe,WAAW,MAAM,CAAC,IAAI,MAAM,EAAE,iCAAiC,KACpI,OAAO,IACT,EAAE;AAEJ,IAAM,WAAW,sBACf,IACA,IACA,KAAK,GAAG,WACR,aACA;CACE,MAAM;CACN,KAAK;CACL,SAAS,CAAC;AACZ,GACA,KAAK,GAAG,QACV,EAAE;AAGF,QAAQ,IAAI,iBAAiB;AAC7B,QAAQ,IAAI,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAC7C,QAAQ,IAAI,iBAAiB;AAC7B,QAAQ,IAAI,MAAM,aAAa,SAAS,QAAQ,SAAS,QAAQ,CAAC,CAAC;AAGnE,MAAM,MAAM,IAAI"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-to-zql.js","names":[],"sources":["../../../../ast-to-zql/src/ast-to-zql.ts"],"sourcesContent":["import {unreachable} from '../../shared/src/asserts.ts';\nimport {toSorted} from '../../shared/src/iterables.ts';\nimport {must} from '../../shared/src/must.ts';\nimport type {\n AST,\n Condition,\n Conjunction,\n CorrelatedSubquery,\n CorrelatedSubqueryCondition,\n Disjunction,\n LiteralReference,\n Ordering,\n Parameter,\n SimpleCondition,\n ValuePosition,\n} from '../../zero-protocol/src/ast.ts';\nimport {SUBQ_PREFIX} from '../../zero-protocol/src/ast.ts';\n\n/**\n * Converts an AST to the equivalent query builder code.\n * This is useful for debugging and understanding queries.\n *\n * @example\n * ```\n * const ast = query.issue.where('id', '=', 123)[astSymbol];\n * console.log(astToZQL(ast)); // outputs: .where('id', '=', 123)\n * ```\n */\nexport function astToZQL(ast: AST): string {\n let code = '';\n\n // Handle where conditions\n if (ast.where) {\n code += transformCondition(ast.where, '.where', new Set());\n }\n\n // Handle related subqueries\n if (ast.related && ast.related.length > 0) {\n for (const related of ast.related) {\n if (related.hidden) {\n const nestedRelated = related.subquery.related?.[0];\n if (nestedRelated) {\n code += transformRelated(nestedRelated);\n }\n } else {\n code += transformRelated(related);\n }\n }\n }\n\n // Handle orderBy\n if (ast.orderBy && ast.orderBy.length > 0) {\n code += transformOrder(ast.orderBy);\n }\n\n // Handle limit\n if (ast.limit !== undefined) {\n code += `.limit(${ast.limit})`;\n }\n\n // Handle start\n if (ast.start) {\n const {row, exclusive} = ast.start;\n code += `.start(${JSON.stringify(row)}${\n exclusive ? '' : ', { inclusive: true }'\n })`;\n }\n\n return code;\n}\n\ntype Args = Set<string>;\n\ntype Prefix = '.where' | 'cmp';\n\nfunction transformCondition(\n condition: Condition,\n prefix: Prefix,\n args: Args,\n): string {\n switch (condition.type) {\n case 'simple':\n return transformSimpleCondition(condition, prefix);\n case 'and':\n case 'or':\n return transformLogicalCondition(condition, prefix, args);\n case 'correlatedSubquery':\n return transformExistsCondition(condition, prefix, args);\n default:\n unreachable(condition);\n }\n}\n\nfunction transformSimpleCondition(\n condition: SimpleCondition,\n prefix: Prefix,\n): string {\n const {left, op, right} = condition;\n\n const leftCode = transformValuePosition(left);\n const rightCode = transformValuePosition(right);\n\n // Handle the shorthand form for equals\n if (op === '=') {\n return `${prefix}(${leftCode}, ${rightCode})`;\n }\n\n return `${prefix}(${leftCode}, '${op}', ${rightCode})`;\n}\n\nfunction transformLogicalCondition(\n condition: Conjunction | Disjunction,\n prefix: Prefix,\n args: Args,\n): string {\n const {type, conditions} = condition;\n\n // For single condition, no need for logical operator\n if (conditions.length === 1) {\n return transformCondition(conditions[0], prefix, args);\n }\n\n // Generate multiple where calls for top-level AND conditions\n if (type === 'and') {\n const parts = conditions.map(c => transformCondition(c, prefix, args));\n // Simply concatenate the where conditions\n if (prefix === '.where') {\n return parts.join('');\n }\n args.add('and');\n return 'and(' + parts.join(', ') + ')';\n }\n\n args = new Set<string>();\n\n // Handle nested conditions with a callback for OR conditions and nested ANDs/ORs\n const conditionsCode = conditions\n .map(c => transformCondition(c, 'cmp', args))\n .join(', ');\n\n args.add('cmp');\n args.add(type);\n const argsCode = toSorted(args).join(', ');\n\n return `.where(({${argsCode}}) => ${type}(${conditionsCode}))`;\n}\n\nfunction transformExistsCondition(\n condition: CorrelatedSubqueryCondition,\n prefix: '.where' | 'cmp',\n args: Set<string>,\n): string {\n const {related, op} = condition;\n const relationship = extractRelationshipName(related);\n\n const nextSubquery = getNextExistsSubquery(related);\n\n // Check if subquery has additional properties\n const hasSubQueryProps =\n nextSubquery.where ||\n (nextSubquery.related && nextSubquery.related.length > 0) ||\n nextSubquery.orderBy ||\n nextSubquery.limit;\n\n // Build options string for flip and scalar\n const optionParts: string[] = [];\n if (condition.flip !== undefined) {\n optionParts.push(`flip: ${condition.flip}`);\n }\n if (condition.scalar !== undefined) {\n optionParts.push(`scalar: ${condition.scalar}`);\n }\n const optionsStr =\n optionParts.length > 0 ? `, {${optionParts.join(', ')}}` : '';\n\n if (op === 'EXISTS') {\n if (!hasSubQueryProps) {\n if (prefix === '.where') {\n return `.whereExists('${relationship}'${optionsStr})`;\n }\n args.add('exists');\n return `exists('${relationship}'${optionsStr})`;\n }\n\n if (prefix === '.where') {\n return `.whereExists('${relationship}', q => q${astToZQL(nextSubquery)}${optionsStr})`;\n }\n prefix satisfies 'cmp';\n args.add('exists');\n return `exists('${relationship}', q => q${astToZQL(nextSubquery)}${optionsStr})`;\n }\n\n op satisfies 'NOT EXISTS';\n\n if (hasSubQueryProps) {\n if (prefix === '.where') {\n return `.where(({exists, not}) => not(exists('${relationship}', q => q${astToZQL(\n nextSubquery,\n )}${optionsStr})))`;\n }\n prefix satisfies 'cmp';\n args.add('not');\n args.add('exists');\n return `not(exists('${relationship}', q => q${astToZQL(nextSubquery)}${optionsStr}))`;\n }\n\n if (prefix === '.where') {\n return `.where(({exists, not}) => not(exists('${relationship}'${optionsStr})))`;\n }\n args.add('not');\n args.add('exists');\n\n return `not(exists('${relationship}'${optionsStr})))`;\n}\n\n// If the `exists` is applied against a junction edge, both hops will have the same alias and both hops will be exists conditions.\nfunction getNextExistsSubquery(related: CorrelatedSubquery): AST {\n if (\n related.subquery.where?.type === 'correlatedSubquery' &&\n related.subquery.where.related.subquery.alias?.includes(\n SUBQ_PREFIX + 'zhidden_',\n )\n ) {\n return getNextExistsSubquery(related.subquery.where.related);\n }\n\n return related.subquery;\n}\n\nfunction extractRelationshipName(related: CorrelatedSubquery): string {\n const alias = must(related.subquery.alias);\n return alias.startsWith(SUBQ_PREFIX)\n ? alias.substring(SUBQ_PREFIX.length)\n : alias;\n}\n\nfunction transformRelated(related: CorrelatedSubquery): string {\n const {alias} = related.subquery;\n if (!alias) return '';\n\n const relationship = alias;\n let code = `.related('${relationship}'`;\n\n // If the subquery has additional filters or configurations\n if (\n related.subquery.where ||\n (related.subquery.related && related.subquery.related.length > 0) ||\n related.subquery.orderBy ||\n related.subquery.limit\n ) {\n code += ', q => q' + astToZQL(related.subquery);\n }\n\n code += ')';\n return code;\n}\n\nfunction transformOrder(orderBy: Ordering): string {\n let code = '';\n for (const [field, direction] of orderBy) {\n code += `.orderBy('${field}', '${direction}')`;\n }\n return code;\n}\n\nfunction transformValuePosition(value: ValuePosition): string {\n switch (value.type) {\n case 'literal':\n return transformLiteral(value);\n case 'column':\n return `'${value.name}'`;\n case 'static':\n return transformParameter(value);\n default:\n unreachable(value);\n }\n}\n\nfunction transformLiteral(literal: LiteralReference): string {\n if (literal.value === null) {\n return 'null';\n }\n if (Array.isArray(literal.value)) {\n return JSON.stringify(literal.value);\n }\n if (typeof literal.value === 'string') {\n return `'${literal.value.replace(/'/g, \"\\\\'\")}'`;\n }\n return String(literal.value);\n}\n\nfunction transformParameter(param: Parameter): string {\n const fieldStr = Array.isArray(param.field)\n ? `[${param.field.map(f => `'${f}'`).join(', ')}]`\n : `'${param.field}'`;\n\n return `authParam(${fieldStr})`;\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","names":[],"sources":["../../../../ast-to-zql/src/bin.ts"],"sourcesContent":["/* oxlint-disable no-console */\nimport {readFile} from 'node:fs/promises';\nimport process from 'node:process';\nimport {createInterface} from 'node:readline';\nimport {parseOptions} from '../../shared/src/options.ts';\nimport * as v from '../../shared/src/valita.ts';\nimport {loadSchemaAndPermissions} from '../../zero-cache/src/scripts/permissions.ts';\nimport {mapAST} from '../../zero-protocol/src/ast.ts';\nimport {serverToClient} from '../../zero-schema/src/name-mapper.ts';\nimport type {Schema} from '../../zero-types/src/schema.ts';\nimport {astToZQL} from './ast-to-zql.ts';\nimport {formatOutput} from './format.ts';\n\nconst options = {\n schema: {\n type: v.string().optional(),\n desc: [\n 'Path to the schema file. Use this to re-map the AST to client names.',\n ],\n },\n};\n\nconst config = parseOptions(options);\n\nlet schema: Schema | undefined;\nif (config.schema) {\n schema = (await loadSchemaAndPermissions(config.schema)).schema;\n}\n\nfunction isStdinPiped(): boolean {\n return !process.stdin.isTTY;\n}\n\nfunction readFromStdin(): Promise<string> {\n return new Promise(resolve => {\n let data = '';\n const rl = createInterface({\n input: process.stdin,\n output: process.stdout,\n terminal: false,\n });\n\n rl.on('line', line => {\n data += line + '\\n';\n });\n\n rl.on('close', () => {\n resolve(data);\n });\n });\n}\n\nasync function main(): Promise<void> {\n try {\n let input: string;\n\n if (isStdinPiped()) {\n input = await readFromStdin();\n } else if (process.argv.length > 2) {\n const filePath = process.argv[2];\n input = await readFile(filePath, 'utf-8');\n } else {\n console.error('Error: No input provided.');\n console.error('Usage:');\n console.error(` cat ast.json | npx ast-to-zql`);\n console.error(` npx ast-to-zql ast.json`);\n process.exit(1);\n }\n\n let ast = JSON.parse(input);\n if (schema) {\n const mapper = serverToClient(schema.tables);\n ast = mapAST(ast, mapper);\n }\n\n const zql = astToZQL(ast);\n const code = `query.${ast.table}${zql}`;\n\n console.log(await formatOutput(code));\n } catch (error) {\n console.error('Error processing input:', error);\n process.exit(1);\n }\n}\n\nawait main();\n"],"mappings":";;;;;;;;;;;AAsBA,IAAM,SAAS,aAAa,EAR1B,QAAQ;CACN,MAAM,eAAE,OAAO,EAAE,SAAS;CAC1B,MAAM,CACJ,sEACF;AACF,EAG0B,CAAO;AAEnC,IAAI;AACJ,IAAI,OAAO,QACT,UAAU,MAAM,yBAAyB,OAAO,MAAM,GAAG;AAG3D,SAAS,eAAwB;CAC/B,OAAO,CAAC,QAAQ,MAAM;AACxB;AAEA,SAAS,gBAAiC;CACxC,OAAO,IAAI,SAAQ,YAAW;EAC5B,IAAI,OAAO;EACX,MAAM,KAAK,gBAAgB;GACzB,OAAO,QAAQ;GACf,QAAQ,QAAQ;GAChB,UAAU;EACZ,CAAC;EAED,GAAG,GAAG,SAAQ,SAAQ;GACpB,QAAQ,OAAO;EACjB,CAAC;EAED,GAAG,GAAG,eAAe;GACnB,QAAQ,IAAI;EACd,CAAC;CACH,CAAC;AACH;AAEA,eAAe,OAAsB;CACnC,IAAI;EACF,IAAI;EAEJ,IAAI,aAAa,GACf,QAAQ,MAAM,cAAc;OACvB,IAAI,QAAQ,KAAK,SAAS,GAAG;GAClC,MAAM,WAAW,QAAQ,KAAK;GAC9B,QAAQ,MAAM,SAAS,UAAU,OAAO;EAC1C,OAAO;GACL,QAAQ,MAAM,2BAA2B;GACzC,QAAQ,MAAM,QAAQ;GACtB,QAAQ,MAAM,iCAAiC;GAC/C,QAAQ,MAAM,2BAA2B;GACzC,QAAQ,KAAK,CAAC;EAChB;EAEA,IAAI,MAAM,KAAK,MAAM,KAAK;EAC1B,IAAI,QAAQ;GACV,MAAM,SAAS,eAAe,OAAO,MAAM;GAC3C,MAAM,OAAO,KAAK,MAAM;EAC1B;EAEA,MAAM,MAAM,SAAS,GAAG;EACxB,MAAM,OAAO,SAAS,IAAI,QAAQ;EAElC,QAAQ,IAAI,MAAM,aAAa,IAAI,CAAC;CACtC,SAAS,OAAO;EACd,QAAQ,MAAM,2BAA2B,KAAK;EAC9C,QAAQ,KAAK,CAAC;CAChB;AACF;AAEA,MAAM,KAAK"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","names":[],"sources":["../../../../ast-to-zql/src/format.ts"],"sourcesContent":["import {format} from 'oxfmt';\n\nexport async function formatOutput(content: string): Promise<string> {\n try {\n const result = await format('output.ts', content, {\n semi: false,\n printWidth: 80,\n });\n return result.code;\n } catch (error) {\n // oxlint-disable-next-line no-console\n console.warn('Warning: Unable to format output with oxfmt:', error);\n return content;\n }\n}\n"],"mappings":";;AAEA,eAAsB,aAAa,SAAkC;CACnE,IAAI;EAKF,QAAO,MAJc,OAAO,aAAa,SAAS;GAChD,MAAM;GACN,YAAY;EACd,CAAC,GACa;CAChB,SAAS,OAAO;EAEd,QAAQ,KAAK,gDAAgD,KAAK;EAClE,OAAO;CACT;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datadog-log-sink.js","names":["#apiKey","#source","#service","#host","#version","#interval","#baseURL","#messages","#startTimer","#timerID","#flushLock"],"sources":["../../../../datadog/src/datadog-log-sink.ts"],"sourcesContent":["import {Lock} from '@rocicorp/lock';\nimport type {Context, LogLevel, LogSink} from '@rocicorp/logger';\n\nexport interface DatadogLogSinkOptions {\n apiKey?: string | undefined;\n source?: string | undefined;\n service?: string | undefined;\n host?: string | undefined;\n version?: string | undefined;\n interval?: number | undefined;\n baseURL?: URL | undefined;\n}\n\nconst DD_BASE_URL = new URL(\n 'https://http-intake.logs.datadoghq.com/api/v2/logs',\n);\n\n// https://docs.datadoghq.com/api/latest/logs/\nexport const MAX_LOG_ENTRIES_PER_FLUSH = 1000;\nexport const FORCE_FLUSH_THRESHOLD = 250;\nconst MAX_ENTRY_BYTES = 5 * 1024 * 1024;\nconst MAX_MESSAGE_RETRIES = 2;\n\n// Conservative limit that assumes all chars are encoded as 4 UTF-8 bytes.\n// This makes the actual limit somewhere closer to 1.25 MB, which is still\n// a reasonable amount of log data to send per request.\nexport const MAX_ENTRY_CHARS = MAX_ENTRY_BYTES / 4;\n\nexport class DatadogLogSink implements LogSink {\n #messages: Message[] = [];\n readonly #apiKey: string | undefined;\n readonly #source: string | undefined;\n readonly #service: string | undefined;\n readonly #host: string | undefined;\n readonly #version: string | undefined;\n readonly #interval: number;\n readonly #baseURL: string;\n #timerID: ReturnType<typeof setTimeout> | 0 = 0;\n #flushLock = new Lock();\n\n constructor(options: DatadogLogSinkOptions) {\n const {\n apiKey,\n source,\n service,\n host,\n version,\n interval = 5_000,\n baseURL: baseUrl = DD_BASE_URL,\n } = options;\n\n this.#apiKey = apiKey;\n this.#source = source;\n this.#service = service;\n this.#host = host;\n this.#version = version;\n this.#interval = interval;\n this.#baseURL = baseUrl.toString();\n }\n\n log(level: LogLevel, context: Context | undefined, ...args: unknown[]): void {\n this.#messages.push(makeMessage(args, context, level));\n if (level === 'error' || this.#messages.length === FORCE_FLUSH_THRESHOLD) {\n // Do not await. Later calls to flush will await as needed.\n void this.flush();\n } else {\n this.#startTimer();\n }\n }\n #startTimer() {\n if (this.#timerID) {\n return;\n }\n\n this.#timerID = setTimeout(() => {\n this.#timerID = 0;\n\n void this.flush();\n }, this.#interval);\n }\n\n flush(): Promise<void> {\n return this.#flushLock.withLock(async () => {\n const {length} = this.#messages;\n if (length === 0) {\n return;\n }\n do {\n const flushTime = Date.now();\n const stringified = [];\n let totalBytes = 0;\n\n for (const m of this.#messages) {\n // As a small perf optimization, we directly mutate\n // the message rather than making a shallow copy.\n // The LOG_SINK_FLUSH_DELAY_ATTRIBUTE will be clobbered by\n // the next flush if this flush fails (which is the desired behavior).\n m.flushDelayMs = flushTime - m.date;\n\n let str = JSON.stringify(m);\n if (str.length > MAX_ENTRY_CHARS) {\n // A single message above the total payload limit will otherwise halt\n // log flushing progress. Drop and replace with a message indicating so.\n m.message = `[Dropped message of length ${str.length}]`;\n str = JSON.stringify(m);\n }\n // Calculate the totalBytes with the newline characters between messages.\n if (str.length + totalBytes + stringified.length > MAX_ENTRY_CHARS) {\n break;\n }\n totalBytes += str.length;\n stringified.push(str);\n\n if (stringified.length === MAX_LOG_ENTRIES_PER_FLUSH) {\n break;\n }\n }\n\n const body = stringified.join('\\n');\n const url = new URL(this.#baseURL);\n if (this.#apiKey !== undefined) {\n url.searchParams.set('dd-api-key', this.#apiKey);\n }\n\n if (this.#source) {\n // Both need to be set for server to treat us as the browser SDK for\n // value 'browser'.\n url.searchParams.set('ddsource', this.#source);\n url.searchParams.set('dd-evp-origin', this.#source);\n }\n\n if (this.#service) {\n url.searchParams.set('service', this.#service);\n }\n\n if (this.#host) {\n url.searchParams.set('host', this.#host);\n }\n\n if (this.#version) {\n url.searchParams.set('ddtags', `version:${this.#version}`);\n }\n\n let ok = false;\n try {\n const response = await fetch(url.toString(), {\n method: 'POST',\n body,\n keepalive: true,\n } as RequestInit);\n\n ok = response.ok;\n if (!ok) {\n // Log to console so that we might catch this in `wrangler tail`.\n // oxlint-disable-next-line no-console\n console.error(\n 'response',\n response.status,\n response.statusText,\n await response.text,\n );\n }\n } catch (e) {\n // Log to console so that we might catch this in `wrangler tail`.\n // oxlint-disable-next-line no-console\n console.error('Log flush to datadog failed', e);\n }\n\n if (ok) {\n // Remove messages that were successfully flushed.\n this.#messages.splice(0, stringified.length);\n } else {\n let numWithTooManyRetries = 0;\n for (let i = 0; i < stringified.length; i++) {\n const m = this.#messages[i];\n m.flushRetryCount = (m.flushRetryCount ?? 0) + 1;\n if (m.flushRetryCount > MAX_MESSAGE_RETRIES) {\n numWithTooManyRetries++;\n }\n }\n if (numWithTooManyRetries > 0) {\n // oxlint-disable-next-line no-console\n console.error(\n `Dropping ${numWithTooManyRetries} datadog log messages which failed to send ${\n MAX_MESSAGE_RETRIES + 1\n } times.`,\n );\n // Remove messages that have failed too many times.\n this.#messages.splice(0, numWithTooManyRetries);\n }\n }\n } while (this.#messages.length >= FORCE_FLUSH_THRESHOLD);\n // If any messages left at this point schedule another flush.\n if (this.#messages.length) {\n this.#startTimer();\n }\n });\n }\n}\n\ntype Message = Context & {\n status: LogLevel;\n date: number;\n message: unknown;\n error?: {origin: 'logger'};\n flushDelayMs?: number;\n flushRetryCount?: number;\n};\n\nfunction flattenMessage(message: unknown): unknown {\n if (Array.isArray(message) && message.length === 1) {\n return flattenMessage(message[0]);\n }\n return message;\n}\n\nfunction convertError(e: Error): {\n name: string;\n message: string;\n stack: string | undefined;\n} {\n return {\n name: e.name,\n message: e.message,\n stack: e.stack,\n };\n}\n\nfunction convertErrors(message: unknown): unknown {\n if (message instanceof Error) {\n return convertError(message);\n }\n if (message instanceof Array) {\n const convertedMessage: unknown[] = [];\n for (const item of message) {\n if (item instanceof Error) {\n convertedMessage.push(convertError(item));\n } else {\n convertedMessage.push(item);\n }\n }\n return convertedMessage;\n }\n return message;\n}\n\nconst LOG_SINK_FLUSH_RETRY_COUNT = 'flushRetryCount';\nconst LOG_SINK_FLUSH_DELAY_ATTRIBUTE = 'flushDelayMs';\n// This code assumes that no context keys will start with\n// @DATADOG_RESERVED_ (a fairly safe assumption).\nconst RESERVED_KEY_PREFIX = '@DATADOG_RESERVED_';\n// See https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#reserved-attributes\n// Note 'msg' and 'date' are not documented.\n// We should avoid using these as context keys. We escape them here\n// because otherwise the impact on the data dog log UI is very confusing\n// (e.g. using 'msg' as a context key results, in the context value\n// replacing the log message.)\nconst RESERVED_KEYS: ReadonlyArray<string> = [\n 'host',\n 'source',\n 'status',\n 'service',\n 'version',\n 'trace_id',\n 'message',\n 'msg', // alias for message\n 'date',\n // The following are attributes reserved by the DataDogLogSink\n // itself (as opposed to DataDog), to report on its own behavior.\n LOG_SINK_FLUSH_DELAY_ATTRIBUTE,\n LOG_SINK_FLUSH_RETRY_COUNT,\n];\n\nfunction makeMessage(\n message: unknown,\n context: Context | undefined,\n logLevel: LogLevel,\n): Message {\n let safeContext = undefined;\n if (context !== undefined) {\n for (const reservedKey of RESERVED_KEYS) {\n if (Object.hasOwn(context, reservedKey)) {\n if (safeContext === undefined) {\n safeContext = {...context};\n }\n safeContext[RESERVED_KEY_PREFIX + reservedKey] =\n safeContext[reservedKey];\n delete safeContext[reservedKey];\n }\n }\n }\n const msg: Message = {\n ...(safeContext ?? context),\n date: Date.now(),\n message: convertErrors(flattenMessage(message)),\n status: logLevel,\n };\n if (logLevel === 'error') {\n msg.error = {origin: 'logger'};\n }\n return msg;\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enabled.js","names":[],"sources":["../../../../otel/src/enabled.ts"],"sourcesContent":["export function otelEnabled() {\n return otelMetricsEnabled() || otelTracesEnabled() || otelLogsEnabled();\n}\n\nexport function otelMetricsEnabled() {\n return (\n process.env.OTEL_EXPORTER_OTLP_ENDPOINT ||\n process.env.OTEL_EXPORTER_OTLP_METRICS_ENDPOINT ||\n process.env.OTEL_METRICS_EXPORTER\n );\n}\n\nexport function otelLogsEnabled() {\n return (\n process.env.OTEL_EXPORTER_OTLP_ENDPOINT ||\n process.env.OTEL_EXPORTER_OTLP_LOGS_ENDPOINT ||\n process.env.OTEL_LOGS_EXPORTER\n );\n}\n\nexport function otelTracesEnabled() {\n return (\n process.env.OTEL_EXPORTER_OTLP_ENDPOINT ||\n process.env.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT ||\n process.env.OTEL_TRACES_EXPORTER\n );\n}\n"],"mappings":";AAAA,SAAgB,cAAc;CAC5B,OAAO,mBAAmB,KAAK,kBAAkB,KAAK,gBAAgB;AACxE;AAEA,SAAgB,qBAAqB;CACnC,OACE,QAAQ,IAAI,+BACZ,QAAQ,IAAI,uCACZ,QAAQ,IAAI;AAEhB;AAEA,SAAgB,kBAAkB;CAChC,OACE,QAAQ,IAAI,+BACZ,QAAQ,IAAI,oCACZ,QAAQ,IAAI;AAEhB;AAEA,SAAgB,oBAAoB;CAClC,OACE,QAAQ,IAAI,+BACZ,QAAQ,IAAI,sCACZ,QAAQ,IAAI;AAEhB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-options.js","names":[],"sources":["../../../../otel/src/log-options.ts"],"sourcesContent":["import {type Config} from '../../shared/src/options-types.ts';\nimport * as v from '../../shared/src/valita.ts';\n\nexport const logLevel = v.literalUnion('debug', 'info', 'warn', 'error');\n\nexport const logOptions = {\n level: logLevel.default('info'),\n\n format: {\n type: v.literalUnion('text', 'json').default('text'),\n desc: [\n `Use {bold text} for developer-friendly console logging`,\n `and {bold json} for consumption by structured-logging services`,\n ],\n },\n\n slowRowThreshold: {\n type: v.number().default(2),\n desc: [\n `The number of ms a row must take to fetch from table-source before it is considered slow.`,\n ],\n },\n\n slowHydrateThreshold: {\n type: v.number().default(100),\n desc: [\n `The number of milliseconds a query hydration must take to print a slow warning.`,\n ],\n },\n\n ivmSampling: {\n type: v.number().default(5000),\n desc: [\n `How often to collect IVM metrics. 1 out of N requests will be sampled where N is this value.`,\n ],\n },\n};\n\nexport type LogConfig = Config<typeof logOptions>;\n"],"mappings":";;AAGA,IAAa,WAAW,aAAe,SAAS,QAAQ,QAAQ,OAAO;AAEvE,IAAa,aAAa;CACxB,OAAO,SAAS,QAAQ,MAAM;CAE9B,QAAQ;EACN,MAAM,aAAe,QAAQ,MAAM,EAAE,QAAQ,MAAM;EACnD,MAAM,CACJ,0DACA,gEACF;CACF;CAEA,kBAAkB;EAChB,MAAM,eAAE,OAAO,EAAE,QAAQ,CAAC;EAC1B,MAAM,CACJ,2FACF;CACF;CAEA,sBAAsB;EACpB,MAAM,eAAE,OAAO,EAAE,QAAQ,GAAG;EAC5B,MAAM,CACJ,iFACF;CACF;CAEA,aAAa;EACX,MAAM,eAAE,OAAO,EAAE,QAAQ,GAAI;EAC7B,MAAM,CACJ,8FACF;CACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe-time.js","names":[],"sources":["../../../../otel/src/maybe-time.ts"],"sourcesContent":["import type {LogContext} from '@rocicorp/logger';\n\nexport function timeSampled<T>(\n lc: LogContext,\n numerator: number,\n denominator: number,\n cb: () => T,\n threshold: number = 0,\n prefix: () => string = () => '',\n) {\n if (denominator > 0 && numerator % denominator === 0) {\n const start = performance.now();\n const result = cb();\n const duration = performance.now() - start;\n if (duration > threshold) {\n lc.warn?.(`${prefix()} duration: ${duration}ms`);\n }\n\n return result;\n }\n return cb();\n}\n"],"mappings":";AAEA,SAAgB,YACd,IACA,WACA,aACA,IACA,YAAoB,GACpB,eAA6B,IAC7B;CACA,IAAI,cAAc,KAAK,YAAY,gBAAgB,GAAG;EACpD,MAAM,QAAQ,YAAY,IAAI;EAC9B,MAAM,SAAS,GAAG;EAClB,MAAM,WAAW,YAAY,IAAI,IAAI;EACrC,IAAI,WAAW,WACb,GAAG,OAAO,GAAG,OAAO,EAAE,aAAa,SAAS,GAAG;EAGjD,OAAO;CACT;CACA,OAAO,GAAG;AACZ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"span.js","names":[],"sources":["../../../../otel/src/span.ts"],"sourcesContent":["import {\n type Attributes,\n type Span,\n type Tracer,\n context,\n} from '@opentelemetry/api';\n\nexport function startSpan<T>(\n tracer: Tracer,\n name: string,\n cb: (span: Omit<Span, 'end'>) => T,\n): T {\n return tracer.startActiveSpan(name, span => {\n try {\n return cb(span);\n } finally {\n span.end();\n }\n });\n}\n\nexport function startAsyncSpan<T>(\n tracer: Tracer,\n name: string,\n cb: (span: Omit<Span, 'end'>) => Promise<T>,\n): Promise<T> {\n return tracer.startActiveSpan(name, async span => {\n try {\n return await cb(span);\n } finally {\n span.end();\n }\n });\n}\n\nexport function manualSpan(\n tracer: Tracer,\n name: string,\n durationMs: number,\n attributes?: Attributes,\n): void {\n const startTime = Date.now() - durationMs;\n const span = tracer.startSpan(name, {startTime}, context.active());\n if (attributes) {\n span.setAttributes(attributes);\n }\n span.end(startTime + durationMs);\n}\n"],"mappings":";;AAOA,SAAgB,UACd,QACA,MACA,IACG;CACH,OAAO,OAAO,gBAAgB,OAAM,SAAQ;EAC1C,IAAI;GACF,OAAO,GAAG,IAAI;EAChB,UAAU;GACR,KAAK,IAAI;EACX;CACF,CAAC;AACH;AAEA,SAAgB,eACd,QACA,MACA,IACY;CACZ,OAAO,OAAO,gBAAgB,MAAM,OAAM,SAAQ;EAChD,IAAI;GACF,OAAO,MAAM,GAAG,IAAI;EACtB,UAAU;GACR,KAAK,IAAI;EACX;CACF,CAAC;AACH;AAEA,SAAgB,WACd,QACA,MACA,YACA,YACM;CACN,MAAM,YAAY,KAAK,IAAI,IAAI;CAC/B,MAAM,OAAO,OAAO,UAAU,MAAM,EAAC,UAAS,GAAG,QAAQ,OAAO,CAAC;CACjE,IAAI,YACF,KAAK,cAAc,UAAU;CAE/B,KAAK,IAAI,YAAY,UAAU;AACjC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","names":[],"sources":["../../../../otel/src/version.ts"],"sourcesContent":["export const version = '0.0.2';\n"],"mappings":";AAAA,IAAa,UAAU"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-iterable-to-array.js","names":[],"sources":["../../../../replicache/src/async-iterable-to-array.ts"],"sourcesContent":["export async function asyncIterableToArray<T>(\n it: AsyncIterable<T>,\n): Promise<T[]> {\n const arr: T[] = [];\n for await (const v of it) {\n arr.push(v);\n }\n return arr;\n}\n"],"mappings":";AAAA,eAAsB,qBACpB,IACc;CACd,MAAM,MAAW,CAAC;CAClB,WAAW,MAAM,KAAK,IACpB,IAAI,KAAK,CAAC;CAEZ,OAAO;AACT"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bg-interval.js","names":[],"sources":["../../../../replicache/src/bg-interval.ts"],"sourcesContent":["import type {LogContext} from '@rocicorp/logger';\nimport {AbortError} from '../../shared/src/abort-error.ts';\nimport {sleep} from '../../shared/src/sleep.ts';\nimport {IDBNotFoundError} from './kv/idb-store.ts';\n\nexport function initBgIntervalProcess(\n processName: string,\n process: () => Promise<unknown>,\n delayMs: () => number,\n lc: LogContext,\n signal: AbortSignal,\n): void {\n void runBgIntervalProcess(processName, process, delayMs, lc, signal);\n}\n\nasync function runBgIntervalProcess(\n processName: string,\n process: () => Promise<unknown>,\n delayMs: () => number,\n lc: LogContext,\n signal: AbortSignal,\n): Promise<void> {\n if (signal.aborted) {\n return;\n }\n lc = lc.withContext('bgIntervalProcess', processName);\n lc.debug?.('Starting');\n while (!signal.aborted) {\n try {\n await sleep(delayMs(), signal);\n } catch (e) {\n if (!(e instanceof AbortError)) {\n throw e;\n }\n }\n if (!signal.aborted) {\n lc.debug?.('Running');\n try {\n await process();\n } catch (e) {\n if (signal.aborted) {\n lc.debug?.('Error running most likely due to close.', e);\n } else if (e instanceof IDBNotFoundError) {\n lc.info?.('IndexedDB was deleted externally.', e);\n } else {\n lc.error?.('Error running.', e);\n }\n }\n }\n }\n lc.debug?.('Stopping');\n}\n"],"mappings":";;;;AAKA,SAAgB,sBACd,aACA,SACA,SACA,IACA,QACM;CACN,qBAA0B,aAAa,SAAS,SAAS,IAAI,MAAM;AACrE;AAEA,eAAe,qBACb,aACA,SACA,SACA,IACA,QACe;CACf,IAAI,OAAO,SACT;CAEF,KAAK,GAAG,YAAY,qBAAqB,WAAW;CACpD,GAAG,QAAQ,UAAU;CACrB,OAAO,CAAC,OAAO,SAAS;EACtB,IAAI;GACF,MAAM,MAAM,QAAQ,GAAG,MAAM;EAC/B,SAAS,GAAG;GACV,IAAI,EAAE,aAAa,aACjB,MAAM;EAEV;EACA,IAAI,CAAC,OAAO,SAAS;GACnB,GAAG,QAAQ,SAAS;GACpB,IAAI;IACF,MAAM,QAAQ;GAChB,SAAS,GAAG;IACV,IAAI,OAAO,SACT,GAAG,QAAQ,2CAA2C,CAAC;SAClD,IAAI,aAAa,kBACtB,GAAG,OAAO,qCAAqC,CAAC;SAEhD,GAAG,QAAQ,kBAAkB,CAAC;GAElC;EACF;CACF;CACA,GAAG,QAAQ,UAAU;AACvB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","names":[],"sources":["../../../../../replicache/src/btree/diff.ts"],"sourcesContent":["import {asyncIterableToArray} from '../async-iterable-to-array.ts';\nimport type {InternalDiff} from './node.ts';\nimport type {BTreeRead} from './read.ts';\n\nexport function diff(\n oldMap: BTreeRead,\n newMap: BTreeRead,\n): Promise<InternalDiff> {\n // Return an array to ensure we do not compute the diff more than once.\n return asyncIterableToArray(newMap.diff(oldMap));\n}\n"],"mappings":";;AAIA,SAAgB,KACd,QACA,QACuB;CAEvB,OAAO,qBAAqB,OAAO,KAAK,MAAM,CAAC;AACjD"}