@rocicorp/zero 0.23.2025101600 → 0.24.3000-canary.1

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 (695) hide show
  1. package/out/analyze-query/src/bin-analyze.d.ts.map +1 -1
  2. package/out/analyze-query/src/bin-analyze.js +12 -12
  3. package/out/analyze-query/src/bin-analyze.js.map +1 -1
  4. package/out/analyze-query/src/bin-transform.d.ts.map +1 -1
  5. package/out/analyze-query/src/bin-transform.js +3 -2
  6. package/out/analyze-query/src/bin-transform.js.map +1 -1
  7. package/out/analyze-query/src/explain-queries.d.ts +1 -1
  8. package/out/analyze-query/src/explain-queries.d.ts.map +1 -1
  9. package/out/analyze-query/src/run-ast.d.ts +13 -23
  10. package/out/analyze-query/src/run-ast.d.ts.map +1 -1
  11. package/out/analyze-query/src/run-ast.js +41 -20
  12. package/out/analyze-query/src/run-ast.js.map +1 -1
  13. package/out/ast-to-zql/src/ast-to-zql.js +6 -5
  14. package/out/ast-to-zql/src/ast-to-zql.js.map +1 -1
  15. package/out/ast-to-zql/src/bin.js +1 -1
  16. package/out/ast-to-zql/src/format.js +1 -1
  17. package/out/chunk-AFADJQ2O.js +1 -0
  18. package/out/chunk-AFADJQ2O.js.map +7 -0
  19. package/out/chunk-ASRS2LFV.js +35 -0
  20. package/out/chunk-ASRS2LFV.js.map +7 -0
  21. package/out/chunk-ECUMGQGC.js +220 -0
  22. package/out/chunk-ECUMGQGC.js.map +7 -0
  23. package/out/{chunk-SGW2EIVJ.js → chunk-EZM3XBAB.js} +1 -1
  24. package/out/{chunk-SGW2EIVJ.js.map → chunk-EZM3XBAB.js.map} +2 -2
  25. package/out/{chunk-WFFZJYGV.js → chunk-SEHSOFU5.js} +4870 -442
  26. package/out/chunk-SEHSOFU5.js.map +7 -0
  27. package/out/{chunk-6N4NUSIN.js → chunk-SRKR7D4Q.js} +16 -9
  28. package/out/chunk-SRKR7D4Q.js.map +7 -0
  29. package/out/{chunk-G442PJSB.js → chunk-VHLCXJ6Q.js} +1801 -5008
  30. package/out/chunk-VHLCXJ6Q.js.map +7 -0
  31. package/out/{chunk-O7W55FT4.js → chunk-VZOYWIRW.js} +1 -1
  32. package/out/chunk-VZOYWIRW.js.map +7 -0
  33. package/out/chunk-ZZXMKAAG.js +64 -0
  34. package/out/chunk-ZZXMKAAG.js.map +7 -0
  35. package/out/expo-sqlite.js +11 -0
  36. package/out/expo-sqlite.js.map +7 -0
  37. package/out/{inspector-YIRP3TTL.js → inspector-IU2HG74I.js} +2 -2
  38. package/out/lazy-inspector-NCBESZMS.js +574 -0
  39. package/out/lazy-inspector-NCBESZMS.js.map +7 -0
  40. package/out/op-sqlite.js +80 -0
  41. package/out/op-sqlite.js.map +7 -0
  42. package/out/react-native.js +18 -334
  43. package/out/react-native.js.map +4 -4
  44. package/out/react.js +104 -41
  45. package/out/react.js.map +2 -2
  46. package/out/replicache/src/btree/read.d.ts.map +1 -1
  47. package/out/replicache/src/btree/write.d.ts.map +1 -1
  48. package/out/replicache/src/call-default-fetch.d.ts.map +1 -1
  49. package/out/replicache/src/connection-loop.d.ts.map +1 -1
  50. package/out/replicache/src/dag/key-type-enum.d.ts.map +1 -1
  51. package/out/replicache/src/dag/lazy-store.d.ts.map +1 -1
  52. package/out/replicache/src/db/index-operation-enum.d.ts.map +1 -1
  53. package/out/replicache/src/db/meta-type-enum.d.ts.map +1 -1
  54. package/out/replicache/src/deleted-clients.d.ts +17 -10
  55. package/out/replicache/src/deleted-clients.d.ts.map +1 -1
  56. package/out/replicache/src/expo-sqlite.d.ts +2 -0
  57. package/out/replicache/src/expo-sqlite.d.ts.map +1 -0
  58. package/out/replicache/src/format-version-enum.d.ts.map +1 -1
  59. package/out/replicache/src/get-default-puller.d.ts.map +1 -1
  60. package/out/replicache/src/invoke-kind-enum.d.ts.map +1 -1
  61. package/out/replicache/src/kv/expo-sqlite/store.d.ts +11 -0
  62. package/out/replicache/src/kv/expo-sqlite/store.d.ts.map +1 -0
  63. package/out/replicache/src/kv/idb-store.d.ts.map +1 -1
  64. package/out/replicache/src/kv/mem-store.d.ts.map +1 -1
  65. package/out/replicache/src/kv/op-sqlite/store.d.ts +14 -0
  66. package/out/replicache/src/kv/op-sqlite/store.d.ts.map +1 -0
  67. package/out/replicache/src/kv/op-sqlite/types.d.ts +13 -0
  68. package/out/replicache/src/kv/op-sqlite/types.d.ts.map +1 -0
  69. package/out/replicache/src/kv/read-impl.d.ts.map +1 -1
  70. package/out/replicache/src/kv/sqlite-store.d.ts +37 -63
  71. package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
  72. package/out/replicache/src/kv/throw-if-closed.d.ts +12 -0
  73. package/out/replicache/src/kv/throw-if-closed.d.ts.map +1 -0
  74. package/out/replicache/src/kv/write-impl-base.d.ts.map +1 -1
  75. package/out/replicache/src/kv/write-impl.d.ts.map +1 -1
  76. package/out/replicache/src/op-sqlite.d.ts +2 -0
  77. package/out/replicache/src/op-sqlite.d.ts.map +1 -0
  78. package/out/replicache/src/persist/client-gc.d.ts.map +1 -1
  79. package/out/replicache/src/persist/client-group-gc.d.ts +2 -3
  80. package/out/replicache/src/persist/client-group-gc.d.ts.map +1 -1
  81. package/out/replicache/src/persist/clients.d.ts +2 -1
  82. package/out/replicache/src/persist/clients.d.ts.map +1 -1
  83. package/out/replicache/src/persist/collect-idb-databases.d.ts.map +1 -1
  84. package/out/replicache/src/persist/gather-not-cached-visitor.d.ts.map +1 -1
  85. package/out/replicache/src/process-scheduler.d.ts.map +1 -1
  86. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  87. package/out/replicache/src/sqlite.d.ts +3 -0
  88. package/out/replicache/src/sqlite.d.ts.map +1 -0
  89. package/out/replicache/src/sync/handle-pull-response-result-type-enum.d.ts.map +1 -1
  90. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  91. package/out/replicache/src/transactions.d.ts +1 -1
  92. package/out/replicache/src/transactions.d.ts.map +1 -1
  93. package/out/shared/src/bigint-json.d.ts.map +1 -1
  94. package/out/shared/src/bigint-json.js +1 -2
  95. package/out/shared/src/bigint-json.js.map +1 -1
  96. package/out/shared/src/btree-set.js +3 -5
  97. package/out/shared/src/btree-set.js.map +1 -1
  98. package/out/shared/src/config.d.ts.map +1 -1
  99. package/out/shared/src/config.js.map +1 -1
  100. package/out/shared/src/custom-key-map.js +1 -1
  101. package/out/shared/src/custom-key-set.js +1 -1
  102. package/out/shared/src/deep-merge.d.ts +1 -1
  103. package/out/shared/src/deep-merge.d.ts.map +1 -1
  104. package/out/shared/src/json.js +1 -1
  105. package/out/shared/src/logging.d.ts +1 -1
  106. package/out/shared/src/logging.d.ts.map +1 -1
  107. package/out/shared/src/logging.js +2 -2
  108. package/out/shared/src/logging.js.map +1 -1
  109. package/out/shared/src/must.js +1 -1
  110. package/out/shared/src/options.js +1 -1
  111. package/out/shared/src/sentinels.d.ts +2 -0
  112. package/out/shared/src/sentinels.d.ts.map +1 -1
  113. package/out/shared/src/sentinels.js +7 -0
  114. package/out/shared/src/sentinels.js.map +1 -0
  115. package/out/shared/src/size-of-value.d.ts.map +1 -0
  116. package/out/shared/src/valita.d.ts.map +1 -1
  117. package/out/shared/src/valita.js +2 -3
  118. package/out/shared/src/valita.js.map +1 -1
  119. package/out/solid.js +69 -24
  120. package/out/solid.js.map +3 -3
  121. package/out/sqlite.js +15 -0
  122. package/out/sqlite.js.map +7 -0
  123. package/out/z2s/src/compiler.d.ts +1 -1
  124. package/out/z2s/src/compiler.d.ts.map +1 -1
  125. package/out/z2s/src/compiler.js +2 -2
  126. package/out/z2s/src/compiler.js.map +1 -1
  127. package/out/zero/package.json +63 -36
  128. package/out/zero/src/adapters/drizzle.d.ts +2 -0
  129. package/out/zero/src/adapters/drizzle.d.ts.map +1 -0
  130. package/out/zero/src/adapters/drizzle.js +2 -0
  131. package/out/zero/src/adapters/drizzle.js.map +1 -0
  132. package/out/zero/src/adapters/pg.d.ts +2 -0
  133. package/out/zero/src/adapters/pg.d.ts.map +1 -0
  134. package/out/zero/src/adapters/pg.js +2 -0
  135. package/out/zero/src/adapters/pg.js.map +1 -0
  136. package/out/zero/src/build-schema.js +1 -1
  137. package/out/zero/src/change-protocol/v0.js +1 -1
  138. package/out/zero/src/expo-sqlite.d.ts +2 -0
  139. package/out/zero/src/expo-sqlite.d.ts.map +1 -0
  140. package/out/zero/src/op-sqlite.d.ts +2 -0
  141. package/out/zero/src/op-sqlite.d.ts.map +1 -0
  142. package/out/zero/src/pg.js +1 -1
  143. package/out/zero/src/react-native.d.ts +30 -1
  144. package/out/zero/src/react-native.d.ts.map +1 -1
  145. package/out/zero/src/server.js +1 -1
  146. package/out/zero/src/sqlite.d.ts +2 -0
  147. package/out/zero/src/sqlite.d.ts.map +1 -0
  148. package/out/zero/src/zero-cache-dev.d.ts.map +1 -1
  149. package/out/zero/src/zero-cache-dev.js +14 -6
  150. package/out/zero/src/zero-cache-dev.js.map +1 -1
  151. package/out/zero/src/zqlite.js +1 -1
  152. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  153. package/out/zero-cache/src/auth/write-authorizer.js +3 -3
  154. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  155. package/out/zero-cache/src/config/network.d.ts.map +1 -1
  156. package/out/zero-cache/src/config/network.js +1 -2
  157. package/out/zero-cache/src/config/network.js.map +1 -1
  158. package/out/zero-cache/src/config/normalize.d.ts +1 -0
  159. package/out/zero-cache/src/config/normalize.d.ts.map +1 -1
  160. package/out/zero-cache/src/config/normalize.js +6 -0
  161. package/out/zero-cache/src/config/normalize.js.map +1 -1
  162. package/out/zero-cache/src/config/zero-config.d.ts +19 -0
  163. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  164. package/out/zero-cache/src/config/zero-config.js +114 -5
  165. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  166. package/out/zero-cache/src/custom/fetch.d.ts +24 -11
  167. package/out/zero-cache/src/custom/fetch.d.ts.map +1 -1
  168. package/out/zero-cache/src/custom/fetch.js +39 -51
  169. package/out/zero-cache/src/custom/fetch.js.map +1 -1
  170. package/out/zero-cache/src/custom-queries/transform-query.d.ts +3 -2
  171. package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +1 -1
  172. package/out/zero-cache/src/custom-queries/transform-query.js +9 -4
  173. package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
  174. package/out/zero-cache/src/db/create.d.ts +4 -4
  175. package/out/zero-cache/src/db/create.d.ts.map +1 -1
  176. package/out/zero-cache/src/db/create.js +14 -11
  177. package/out/zero-cache/src/db/create.js.map +1 -1
  178. package/out/zero-cache/src/db/migration.d.ts +1 -1
  179. package/out/zero-cache/src/db/migration.d.ts.map +1 -1
  180. package/out/zero-cache/src/db/migration.js +2 -0
  181. package/out/zero-cache/src/db/migration.js.map +1 -1
  182. package/out/zero-cache/src/db/pg-copy.d.ts.map +1 -1
  183. package/out/zero-cache/src/db/pg-copy.js +0 -1
  184. package/out/zero-cache/src/db/pg-copy.js.map +1 -1
  185. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  186. package/out/zero-cache/src/db/pg-to-lite.js +5 -2
  187. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  188. package/out/zero-cache/src/db/postgres-replica-identity-enum.d.ts.map +1 -1
  189. package/out/zero-cache/src/db/postgres-replica-identity-enum.js +0 -1
  190. package/out/zero-cache/src/db/postgres-replica-identity-enum.js.map +1 -1
  191. package/out/zero-cache/src/db/postgres-type-class-enum.d.ts.map +1 -1
  192. package/out/zero-cache/src/db/postgres-type-class-enum.js +0 -1
  193. package/out/zero-cache/src/db/postgres-type-class-enum.js.map +1 -1
  194. package/out/zero-cache/src/db/statements.js +2 -2
  195. package/out/zero-cache/src/db/transaction-pool.d.ts +1 -1
  196. package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
  197. package/out/zero-cache/src/db/transaction-pool.js +3 -1
  198. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  199. package/out/zero-cache/src/scripts/deploy-permissions.d.ts.map +1 -1
  200. package/out/zero-cache/src/scripts/deploy-permissions.js +2 -2
  201. package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
  202. package/out/zero-cache/src/server/anonymous-otel-start.d.ts +2 -0
  203. package/out/zero-cache/src/server/anonymous-otel-start.d.ts.map +1 -1
  204. package/out/zero-cache/src/server/anonymous-otel-start.js +59 -2
  205. package/out/zero-cache/src/server/anonymous-otel-start.js.map +1 -1
  206. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  207. package/out/zero-cache/src/server/change-streamer.js +1 -1
  208. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  209. package/out/zero-cache/src/server/inspector-delegate.d.ts +19 -0
  210. package/out/zero-cache/src/server/inspector-delegate.d.ts.map +1 -1
  211. package/out/zero-cache/src/server/inspector-delegate.js +52 -0
  212. package/out/zero-cache/src/server/inspector-delegate.js.map +1 -1
  213. package/out/zero-cache/src/server/otel-diag-logger.d.ts +16 -0
  214. package/out/zero-cache/src/server/otel-diag-logger.d.ts.map +1 -0
  215. package/out/zero-cache/src/server/otel-diag-logger.js +76 -0
  216. package/out/zero-cache/src/server/otel-diag-logger.js.map +1 -0
  217. package/out/zero-cache/src/server/otel-start.d.ts.map +1 -1
  218. package/out/zero-cache/src/server/otel-start.js +13 -13
  219. package/out/zero-cache/src/server/otel-start.js.map +1 -1
  220. package/out/zero-cache/src/server/reaper.d.ts.map +1 -1
  221. package/out/zero-cache/src/server/reaper.js +13 -1
  222. package/out/zero-cache/src/server/reaper.js.map +1 -1
  223. package/out/zero-cache/src/server/runner/main.d.ts.map +1 -1
  224. package/out/zero-cache/src/server/runner/main.js.map +1 -1
  225. package/out/zero-cache/src/server/runner/run-worker.d.ts.map +1 -1
  226. package/out/zero-cache/src/server/runner/run-worker.js +1 -1
  227. package/out/zero-cache/src/server/runner/run-worker.js.map +1 -1
  228. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  229. package/out/zero-cache/src/server/syncer.js +8 -3
  230. package/out/zero-cache/src/server/syncer.js.map +1 -1
  231. package/out/zero-cache/src/services/analyze.d.ts +9 -1
  232. package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
  233. package/out/zero-cache/src/services/analyze.js +110 -40
  234. package/out/zero-cache/src/services/analyze.js.map +1 -1
  235. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  236. package/out/zero-cache/src/services/change-source/pg/change-source.js +2 -2
  237. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  238. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  239. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +6 -5
  240. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  241. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +1 -1
  242. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js +0 -1
  243. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -1
  244. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js +1 -1
  245. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.js +1 -1
  246. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.d.ts.map +1 -1
  247. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js +25 -17
  248. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +1 -1
  249. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +1 -1
  250. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
  251. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +5 -1
  252. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  253. package/out/zero-cache/src/services/change-source/pg/schema/validation.js +1 -1
  254. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -1
  255. package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts +1 -1
  256. package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts.map +1 -1
  257. package/out/zero-cache/src/services/change-source/protocol/current/data.js +1 -1
  258. package/out/zero-cache/src/services/change-source/protocol/current/data.js.map +1 -1
  259. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +2 -1
  260. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  261. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +18 -2
  262. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  263. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +6 -5
  264. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  265. package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts.map +1 -1
  266. package/out/zero-cache/src/services/change-streamer/error-type-enum.js +0 -1
  267. package/out/zero-cache/src/services/change-streamer/error-type-enum.js.map +1 -1
  268. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
  269. package/out/zero-cache/src/services/change-streamer/schema/init.js +1 -0
  270. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  271. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +1 -1
  272. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  273. package/out/zero-cache/src/services/change-streamer/schema/tables.js +2 -0
  274. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  275. package/out/zero-cache/src/services/change-streamer/storer.d.ts +2 -2
  276. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  277. package/out/zero-cache/src/services/change-streamer/storer.js +28 -22
  278. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  279. package/out/zero-cache/src/services/heapz.d.ts +1 -1
  280. package/out/zero-cache/src/services/heapz.d.ts.map +1 -1
  281. package/out/zero-cache/src/services/heapz.js +2 -2
  282. package/out/zero-cache/src/services/heapz.js.map +1 -1
  283. package/out/zero-cache/src/services/life-cycle.js +2 -2
  284. package/out/zero-cache/src/services/mutagen/error.d.ts +4 -0
  285. package/out/zero-cache/src/services/mutagen/error.d.ts.map +1 -0
  286. package/out/zero-cache/src/services/mutagen/error.js +8 -0
  287. package/out/zero-cache/src/services/mutagen/error.js.map +1 -0
  288. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +0 -3
  289. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  290. package/out/zero-cache/src/services/mutagen/mutagen.js +1 -6
  291. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  292. package/out/zero-cache/src/services/mutagen/pusher.d.ts +90 -39
  293. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
  294. package/out/zero-cache/src/services/mutagen/pusher.js +29 -8
  295. package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
  296. package/out/zero-cache/src/services/replicator/change-processor.js +7 -7
  297. package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
  298. package/out/zero-cache/src/services/replicator/incremental-sync.js +2 -2
  299. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  300. package/out/zero-cache/src/services/replicator/replication-status.d.ts.map +1 -1
  301. package/out/zero-cache/src/services/replicator/replication-status.js +10 -8
  302. package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -1
  303. package/out/zero-cache/src/services/replicator/schema/constants.d.ts +7 -0
  304. package/out/zero-cache/src/services/replicator/schema/constants.d.ts.map +1 -0
  305. package/out/zero-cache/src/services/replicator/schema/constants.js +7 -0
  306. package/out/zero-cache/src/services/replicator/schema/constants.js.map +1 -0
  307. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +2 -2
  308. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  309. package/out/zero-cache/src/services/replicator/schema/replication-state.js +2 -1
  310. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  311. package/out/zero-cache/src/services/run-ast.d.ts +21 -0
  312. package/out/zero-cache/src/services/run-ast.d.ts.map +1 -0
  313. package/out/zero-cache/src/services/run-ast.js +93 -0
  314. package/out/zero-cache/src/services/run-ast.js.map +1 -0
  315. package/out/zero-cache/src/services/statz.d.ts +1 -1
  316. package/out/zero-cache/src/services/statz.d.ts.map +1 -1
  317. package/out/zero-cache/src/services/statz.js +3 -3
  318. package/out/zero-cache/src/services/statz.js.map +1 -1
  319. package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts +16 -0
  320. package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts.map +1 -0
  321. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js +50 -0
  322. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js.map +1 -0
  323. package/out/zero-cache/src/services/view-syncer/client-schema.js +2 -2
  324. package/out/zero-cache/src/services/view-syncer/client-schema.js.map +1 -1
  325. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts +8 -2
  326. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -1
  327. package/out/zero-cache/src/services/view-syncer/cvr-purger.js +40 -13
  328. package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -1
  329. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +0 -1
  330. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  331. package/out/zero-cache/src/services/view-syncer/cvr-store.js +6 -19
  332. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  333. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +0 -1
  334. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  335. package/out/zero-cache/src/services/view-syncer/cvr.js +19 -8
  336. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  337. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +10 -0
  338. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +1 -0
  339. package/out/zero-cache/src/services/view-syncer/inspect-handler.js +95 -0
  340. package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -0
  341. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +1 -1
  342. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  343. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +1 -0
  344. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  345. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +1 -1
  346. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -1
  347. package/out/zero-cache/src/services/view-syncer/row-record-cache.js +3 -1
  348. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -1
  349. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +1 -1
  350. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  351. package/out/zero-cache/src/services/view-syncer/snapshotter.js +4 -4
  352. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  353. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +4 -3
  354. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  355. package/out/zero-cache/src/services/view-syncer/view-syncer.js +36 -64
  356. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  357. package/out/zero-cache/src/types/lite.d.ts +11 -5
  358. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  359. package/out/zero-cache/src/types/lite.js +2 -5
  360. package/out/zero-cache/src/types/lite.js.map +1 -1
  361. package/out/zero-cache/src/types/pg.d.ts +12 -0
  362. package/out/zero-cache/src/types/pg.d.ts.map +1 -1
  363. package/out/zero-cache/src/types/pg.js +15 -13
  364. package/out/zero-cache/src/types/pg.js.map +1 -1
  365. package/out/zero-cache/src/types/websocket-handoff.d.ts +3 -3
  366. package/out/zero-cache/src/types/websocket-handoff.d.ts.map +1 -1
  367. package/out/zero-cache/src/types/websocket-handoff.js +6 -4
  368. package/out/zero-cache/src/types/websocket-handoff.js.map +1 -1
  369. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  370. package/out/zero-cache/src/workers/replicator.js +0 -2
  371. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  372. package/out/zero-cache/src/workers/syncer-ws-message-handler.js +1 -1
  373. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
  374. package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
  375. package/out/zero-cache/src/workers/syncer.js +19 -1
  376. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  377. package/out/zero-client/src/client/active-clients-manager.d.ts +2 -1
  378. package/out/zero-client/src/client/active-clients-manager.d.ts.map +1 -1
  379. package/out/zero-client/src/client/connection-state-enum.d.ts.map +1 -1
  380. package/out/zero-client/src/client/crud.d.ts +1 -1
  381. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  382. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  383. package/out/zero-client/src/client/delete-clients-manager.d.ts +3 -3
  384. package/out/zero-client/src/client/delete-clients-manager.d.ts.map +1 -1
  385. package/out/zero-client/src/client/inspector/client-group.d.ts +12 -0
  386. package/out/zero-client/src/client/inspector/client-group.d.ts.map +1 -0
  387. package/out/zero-client/src/client/inspector/client.d.ts +15 -0
  388. package/out/zero-client/src/client/inspector/client.d.ts.map +1 -0
  389. package/out/zero-client/src/client/inspector/html-dialog-prompt.d.ts +5 -0
  390. package/out/zero-client/src/client/inspector/html-dialog-prompt.d.ts.map +1 -0
  391. package/out/zero-client/src/client/inspector/inspector.d.ts +18 -18
  392. package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
  393. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts +52 -0
  394. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts.map +1 -0
  395. package/out/zero-client/src/client/inspector/query.d.ts +31 -0
  396. package/out/zero-client/src/client/inspector/query.d.ts.map +1 -0
  397. package/out/zero-client/src/client/metric-name-enum.d.ts.map +1 -1
  398. package/out/zero-client/src/client/options.d.ts +16 -16
  399. package/out/zero-client/src/client/options.d.ts.map +1 -1
  400. package/out/zero-client/src/client/ping-result-enum.d.ts.map +1 -1
  401. package/out/zero-client/src/client/query-manager.d.ts +2 -0
  402. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  403. package/out/zero-client/src/client/update-needed-reason-type-enum.d.ts.map +1 -1
  404. package/out/zero-client/src/client/zero-log-context.d.ts.map +1 -1
  405. package/out/zero-client/src/client/zero.d.ts +10 -11
  406. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  407. package/out/zero-client/src/mod.d.ts +5 -2
  408. package/out/zero-client/src/mod.d.ts.map +1 -1
  409. package/out/zero-events/src/index.d.ts +4 -6
  410. package/out/zero-events/src/index.d.ts.map +1 -1
  411. package/out/zero-events/src/index.js +1 -27
  412. package/out/zero-events/src/index.js.map +1 -1
  413. package/out/zero-events/src/json.d.ts +20 -0
  414. package/out/zero-events/src/json.d.ts.map +1 -0
  415. package/out/zero-events/src/json.js +2 -0
  416. package/out/zero-events/src/json.js.map +1 -0
  417. package/out/zero-events/src/status.d.ts +45 -87
  418. package/out/zero-events/src/status.d.ts.map +1 -1
  419. package/out/zero-events/src/status.js +2 -68
  420. package/out/zero-events/src/status.js.map +1 -1
  421. package/out/zero-pg/src/mod.d.ts.map +1 -1
  422. package/out/zero-pg/src/mod.js +1 -1
  423. package/out/zero-pg/src/mod.js.map +1 -1
  424. package/out/zero-protocol/src/analyze-query-result.d.ts +29 -0
  425. package/out/zero-protocol/src/analyze-query-result.d.ts.map +1 -0
  426. package/out/zero-protocol/src/analyze-query-result.js +25 -0
  427. package/out/zero-protocol/src/analyze-query-result.js.map +1 -0
  428. package/out/zero-protocol/src/ast.d.ts +3 -1
  429. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  430. package/out/zero-protocol/src/ast.js +2 -0
  431. package/out/zero-protocol/src/ast.js.map +1 -1
  432. package/out/zero-protocol/src/connect.d.ts +4 -32
  433. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  434. package/out/zero-protocol/src/connect.js +2 -17
  435. package/out/zero-protocol/src/connect.js.map +1 -1
  436. package/out/zero-protocol/src/down.d.ts +29 -0
  437. package/out/zero-protocol/src/down.d.ts.map +1 -1
  438. package/out/zero-protocol/src/error-kind-enum.d.ts.map +1 -1
  439. package/out/zero-protocol/src/error-kind-enum.js +0 -1
  440. package/out/zero-protocol/src/error-kind-enum.js.map +1 -1
  441. package/out/zero-protocol/src/inspect-down.d.ts +93 -0
  442. package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
  443. package/out/zero-protocol/src/inspect-down.js +14 -1
  444. package/out/zero-protocol/src/inspect-down.js.map +1 -1
  445. package/out/zero-protocol/src/inspect-up.d.ts +85 -10
  446. package/out/zero-protocol/src/inspect-up.d.ts.map +1 -1
  447. package/out/zero-protocol/src/inspect-up.js +25 -3
  448. package/out/zero-protocol/src/inspect-up.js.map +1 -1
  449. package/out/zero-protocol/src/mutation-type-enum.d.ts.map +1 -1
  450. package/out/zero-protocol/src/mutation-type-enum.js +0 -1
  451. package/out/zero-protocol/src/mutation-type-enum.js.map +1 -1
  452. package/out/zero-protocol/src/protocol-version.d.ts +1 -1
  453. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  454. package/out/zero-protocol/src/protocol-version.js +8 -1
  455. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  456. package/out/zero-protocol/src/push.d.ts +1 -1
  457. package/out/zero-protocol/src/push.d.ts.map +1 -1
  458. package/out/zero-protocol/src/up.d.ts +24 -9
  459. package/out/zero-protocol/src/up.d.ts.map +1 -1
  460. package/out/zero-react/src/components/mark-icon.d.ts.map +1 -1
  461. package/out/zero-react/src/components/zero-inspector.d.ts.map +1 -1
  462. package/out/zero-react/src/use-query.d.ts +20 -3
  463. package/out/zero-react/src/use-query.d.ts.map +1 -1
  464. package/out/zero-react/src/zero-provider.d.ts +2 -2
  465. package/out/zero-react/src/zero-provider.d.ts.map +1 -1
  466. package/out/zero-schema/src/builder/schema-builder.d.ts +3 -25
  467. package/out/zero-schema/src/builder/schema-builder.d.ts.map +1 -1
  468. package/out/zero-schema/src/builder/schema-builder.js +1 -1
  469. package/out/zero-schema/src/builder/schema-builder.js.map +1 -1
  470. package/out/zero-schema/src/builder/table-builder.js +1 -1
  471. package/out/zero-schema/src/name-mapper.d.ts +2 -19
  472. package/out/zero-schema/src/name-mapper.d.ts.map +1 -1
  473. package/out/zero-schema/src/name-mapper.js +2 -44
  474. package/out/zero-schema/src/name-mapper.js.map +1 -1
  475. package/out/zero-schema/src/permissions.d.ts +1 -0
  476. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  477. package/out/zero-schema/src/schema-config.d.ts +1 -1
  478. package/out/zero-schema/src/schema-config.js +2 -2
  479. package/out/zero-schema/src/table-schema.d.ts +3 -55
  480. package/out/zero-schema/src/table-schema.d.ts.map +1 -1
  481. package/out/zero-schema/src/table-schema.js +0 -6
  482. package/out/zero-schema/src/table-schema.js.map +1 -1
  483. package/out/zero-server/src/adapters/drizzle.d.ts +60 -0
  484. package/out/zero-server/src/adapters/drizzle.d.ts.map +1 -0
  485. package/out/zero-server/src/adapters/drizzle.js +111 -0
  486. package/out/zero-server/src/adapters/drizzle.js.map +1 -0
  487. package/out/zero-server/src/adapters/pg.d.ts +53 -0
  488. package/out/zero-server/src/adapters/pg.d.ts.map +1 -0
  489. package/out/zero-server/src/adapters/pg.js +79 -0
  490. package/out/zero-server/src/adapters/pg.js.map +1 -0
  491. package/out/zero-server/src/adapters/postgresjs.d.ts +41 -12
  492. package/out/zero-server/src/adapters/postgresjs.d.ts.map +1 -1
  493. package/out/zero-server/src/adapters/postgresjs.js +27 -10
  494. package/out/zero-server/src/adapters/postgresjs.js.map +1 -1
  495. package/out/zero-server/src/custom.d.ts +1 -1
  496. package/out/zero-server/src/custom.d.ts.map +1 -1
  497. package/out/zero-server/src/custom.js +1 -1
  498. package/out/zero-server/src/custom.js.map +1 -1
  499. package/out/zero-server/src/process-mutations.d.ts +3 -3
  500. package/out/zero-server/src/process-mutations.d.ts.map +1 -1
  501. package/out/zero-server/src/process-mutations.js +5 -5
  502. package/out/zero-server/src/process-mutations.js.map +1 -1
  503. package/out/zero-server/src/query.d.ts +2 -2
  504. package/out/zero-server/src/query.d.ts.map +1 -1
  505. package/out/zero-server/src/query.js +2 -1
  506. package/out/zero-server/src/query.js.map +1 -1
  507. package/out/zero-server/src/zql-database.d.ts +1 -1
  508. package/out/zero-server/src/zql-database.d.ts.map +1 -1
  509. package/out/zero-server/src/zql-database.js +10 -0
  510. package/out/zero-server/src/zql-database.js.map +1 -1
  511. package/out/zero-solid/src/solid-view.d.ts +24 -5
  512. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  513. package/out/zero-solid/src/use-query.d.ts +3 -1
  514. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  515. package/out/zero-solid/src/use-zero.d.ts +4 -1
  516. package/out/zero-solid/src/use-zero.d.ts.map +1 -1
  517. package/out/zero-types/src/format.d.ts +11 -0
  518. package/out/zero-types/src/format.d.ts.map +1 -0
  519. package/out/zero-types/src/format.js +5 -0
  520. package/out/zero-types/src/format.js.map +1 -0
  521. package/out/zero-types/src/name-mapper.d.ts +19 -0
  522. package/out/zero-types/src/name-mapper.d.ts.map +1 -0
  523. package/out/zero-types/src/name-mapper.js +45 -0
  524. package/out/zero-types/src/name-mapper.js.map +1 -0
  525. package/out/zero-types/src/schema-value.d.ts +36 -0
  526. package/out/zero-types/src/schema-value.d.ts.map +1 -0
  527. package/out/zero-types/src/schema-value.js +2 -0
  528. package/out/zero-types/src/schema-value.js.map +1 -0
  529. package/out/zero-types/src/schema.d.ts +54 -0
  530. package/out/zero-types/src/schema.d.ts.map +1 -0
  531. package/out/zero-types/src/schema.js +2 -0
  532. package/out/zero-types/src/schema.js.map +1 -0
  533. package/out/zero.js +6 -7
  534. package/out/zql/src/builder/builder.d.ts +14 -0
  535. package/out/zql/src/builder/builder.d.ts.map +1 -1
  536. package/out/zql/src/builder/builder.js +143 -23
  537. package/out/zql/src/builder/builder.js.map +1 -1
  538. package/out/zql/src/builder/debug-delegate.d.ts +2 -5
  539. package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
  540. package/out/zql/src/builder/debug-delegate.js +1 -0
  541. package/out/zql/src/builder/debug-delegate.js.map +1 -1
  542. package/out/zql/src/ivm/array-view.d.ts +2 -1
  543. package/out/zql/src/ivm/array-view.d.ts.map +1 -1
  544. package/out/zql/src/ivm/array-view.js +16 -5
  545. package/out/zql/src/ivm/array-view.js.map +1 -1
  546. package/out/zql/src/ivm/constraint.d.ts +7 -0
  547. package/out/zql/src/ivm/constraint.d.ts.map +1 -1
  548. package/out/zql/src/ivm/constraint.js +18 -2
  549. package/out/zql/src/ivm/constraint.js.map +1 -1
  550. package/out/zql/src/ivm/data.js +1 -1
  551. package/out/zql/src/ivm/default-format.d.ts +2 -0
  552. package/out/zql/src/ivm/default-format.d.ts.map +1 -0
  553. package/out/zql/src/ivm/default-format.js +2 -0
  554. package/out/zql/src/ivm/default-format.js.map +1 -0
  555. package/out/zql/src/ivm/exists.d.ts.map +1 -1
  556. package/out/zql/src/ivm/exists.js +5 -5
  557. package/out/zql/src/ivm/exists.js.map +1 -1
  558. package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
  559. package/out/zql/src/ivm/fan-in.js +3 -92
  560. package/out/zql/src/ivm/fan-in.js.map +1 -1
  561. package/out/zql/src/ivm/fan-out.js +3 -3
  562. package/out/zql/src/ivm/fan-out.js.map +1 -1
  563. package/out/zql/src/ivm/filter-operators.js +2 -2
  564. package/out/zql/src/ivm/filter-operators.js.map +1 -1
  565. package/out/zql/src/ivm/filter-push.d.ts +2 -2
  566. package/out/zql/src/ivm/filter-push.d.ts.map +1 -1
  567. package/out/zql/src/ivm/filter-push.js +5 -5
  568. package/out/zql/src/ivm/filter-push.js.map +1 -1
  569. package/out/zql/src/ivm/filter.js +1 -1
  570. package/out/zql/src/ivm/filter.js.map +1 -1
  571. package/out/zql/src/ivm/flipped-join.d.ts +33 -0
  572. package/out/zql/src/ivm/flipped-join.d.ts.map +1 -0
  573. package/out/zql/src/ivm/flipped-join.js +349 -0
  574. package/out/zql/src/ivm/flipped-join.js.map +1 -0
  575. package/out/zql/src/ivm/join-utils.d.ts +14 -0
  576. package/out/zql/src/ivm/join-utils.d.ts.map +1 -0
  577. package/out/zql/src/ivm/join-utils.js +94 -0
  578. package/out/zql/src/ivm/join-utils.js.map +1 -0
  579. package/out/zql/src/ivm/join.d.ts +1 -1
  580. package/out/zql/src/ivm/join.d.ts.map +1 -1
  581. package/out/zql/src/ivm/join.js +8 -106
  582. package/out/zql/src/ivm/join.js.map +1 -1
  583. package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts +2 -2
  584. package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -1
  585. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js +4 -4
  586. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -1
  587. package/out/zql/src/ivm/memory-source.d.ts +4 -4
  588. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  589. package/out/zql/src/ivm/memory-source.js +71 -71
  590. package/out/zql/src/ivm/memory-source.js.map +1 -1
  591. package/out/zql/src/ivm/operator.d.ts +1 -1
  592. package/out/zql/src/ivm/operator.d.ts.map +1 -1
  593. package/out/zql/src/ivm/push-accumulated.d.ts +88 -0
  594. package/out/zql/src/ivm/push-accumulated.d.ts.map +1 -0
  595. package/out/zql/src/ivm/push-accumulated.js +326 -0
  596. package/out/zql/src/ivm/push-accumulated.js.map +1 -0
  597. package/out/zql/src/ivm/schema.d.ts +1 -1
  598. package/out/zql/src/ivm/schema.d.ts.map +1 -1
  599. package/out/zql/src/ivm/skip.js +2 -2
  600. package/out/zql/src/ivm/skip.js.map +1 -1
  601. package/out/zql/src/ivm/take.d.ts.map +1 -1
  602. package/out/zql/src/ivm/take.js +27 -27
  603. package/out/zql/src/ivm/take.js.map +1 -1
  604. package/out/zql/src/ivm/union-fan-in.d.ts +19 -0
  605. package/out/zql/src/ivm/union-fan-in.d.ts.map +1 -0
  606. package/out/zql/src/ivm/union-fan-in.js +146 -0
  607. package/out/zql/src/ivm/union-fan-in.js.map +1 -0
  608. package/out/zql/src/ivm/union-fan-out.d.ts +18 -0
  609. package/out/zql/src/ivm/union-fan-out.d.ts.map +1 -0
  610. package/out/zql/src/ivm/union-fan-out.js +48 -0
  611. package/out/zql/src/ivm/union-fan-out.js.map +1 -0
  612. package/out/zql/src/ivm/view.d.ts +5 -6
  613. package/out/zql/src/ivm/view.d.ts.map +1 -1
  614. package/out/zql/src/mutate/custom.d.ts +2 -2
  615. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  616. package/out/zql/src/mutate/custom.js.map +1 -1
  617. package/out/zql/src/query/expression.d.ts +4 -4
  618. package/out/zql/src/query/expression.d.ts.map +1 -1
  619. package/out/zql/src/query/expression.js +2 -2
  620. package/out/zql/src/query/expression.js.map +1 -1
  621. package/out/zql/src/query/measure-push-operator.js +1 -1
  622. package/out/zql/src/query/measure-push-operator.js.map +1 -1
  623. package/out/zql/src/query/named.d.ts +1 -1
  624. package/out/zql/src/query/named.d.ts.map +1 -1
  625. package/out/zql/src/query/query-delegate.d.ts +3 -2
  626. package/out/zql/src/query/query-delegate.d.ts.map +1 -1
  627. package/out/zql/src/query/query-impl.d.ts +6 -13
  628. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  629. package/out/zql/src/query/query-impl.js +43 -38
  630. package/out/zql/src/query/query-impl.js.map +1 -1
  631. package/out/zql/src/query/query.d.ts +14 -9
  632. package/out/zql/src/query/query.d.ts.map +1 -1
  633. package/out/zql/src/query/query.js.map +1 -1
  634. package/out/zql/src/query/static-query.d.ts +1 -1
  635. package/out/zql/src/query/static-query.d.ts.map +1 -1
  636. package/out/zql/src/query/static-query.js +2 -1
  637. package/out/zql/src/query/static-query.js.map +1 -1
  638. package/out/zql/src/query/typed-view.d.ts +3 -2
  639. package/out/zql/src/query/typed-view.d.ts.map +1 -1
  640. package/out/{zero-cache/src/services/view-syncer → zqlite/src}/database-storage.d.ts +2 -2
  641. package/out/zqlite/src/database-storage.d.ts.map +1 -0
  642. package/out/{zero-cache/src/services/view-syncer → zqlite/src}/database-storage.js +1 -1
  643. package/out/zqlite/src/database-storage.js.map +1 -0
  644. package/out/zqlite/src/db.d.ts +2 -1
  645. package/out/zqlite/src/db.d.ts.map +1 -1
  646. package/out/zqlite/src/db.js +12 -20
  647. package/out/zqlite/src/db.js.map +1 -1
  648. package/out/zqlite/src/explain-queries.d.ts +4 -0
  649. package/out/zqlite/src/explain-queries.d.ts.map +1 -0
  650. package/out/zqlite/src/explain-queries.js +18 -0
  651. package/out/zqlite/src/explain-queries.js.map +1 -0
  652. package/out/zqlite/src/mod.d.ts +2 -1
  653. package/out/zqlite/src/mod.d.ts.map +1 -1
  654. package/out/zqlite/src/mod.js +2 -1
  655. package/out/zqlite/src/mod.js.map +1 -1
  656. package/out/zqlite/src/query-builder.d.ts +22 -0
  657. package/out/zqlite/src/query-builder.d.ts.map +1 -0
  658. package/out/zqlite/src/query-builder.js +162 -0
  659. package/out/zqlite/src/query-builder.js.map +1 -0
  660. package/out/zqlite/src/table-source.d.ts +2 -16
  661. package/out/zqlite/src/table-source.d.ts.map +1 -1
  662. package/out/zqlite/src/table-source.js +26 -177
  663. package/out/zqlite/src/table-source.js.map +1 -1
  664. package/package.json +63 -36
  665. package/out/chunk-6N4NUSIN.js.map +0 -7
  666. package/out/chunk-G442PJSB.js.map +0 -7
  667. package/out/chunk-MKB4RXL3.js +0 -15
  668. package/out/chunk-MKB4RXL3.js.map +0 -7
  669. package/out/chunk-O7W55FT4.js.map +0 -7
  670. package/out/chunk-WFFZJYGV.js.map +0 -7
  671. package/out/inspector-4ALIZXAU.js +0 -488
  672. package/out/inspector-4ALIZXAU.js.map +0 -7
  673. package/out/replicache/src/expo/store.d.ts +0 -4
  674. package/out/replicache/src/expo/store.d.ts.map +0 -1
  675. package/out/replicache/src/size-of-value.d.ts.map +0 -1
  676. package/out/zero/src/adapters/drizzle-pg.d.ts +0 -2
  677. package/out/zero/src/adapters/drizzle-pg.d.ts.map +0 -1
  678. package/out/zero/src/adapters/drizzle-pg.js +0 -2
  679. package/out/zero/src/adapters/drizzle-pg.js.map +0 -1
  680. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +0 -1
  681. package/out/zero-cache/src/services/view-syncer/database-storage.js.map +0 -1
  682. package/out/zero-client/src/client/inspector/types.d.ts +0 -50
  683. package/out/zero-client/src/client/inspector/types.d.ts.map +0 -1
  684. package/out/zero-react-native/src/mod.d.ts +0 -3
  685. package/out/zero-react-native/src/mod.d.ts.map +0 -1
  686. package/out/zero-server/src/adapters/drizzle-pg.d.ts +0 -22
  687. package/out/zero-server/src/adapters/drizzle-pg.d.ts.map +0 -1
  688. package/out/zero-server/src/adapters/drizzle-pg.js +0 -39
  689. package/out/zero-server/src/adapters/drizzle-pg.js.map +0 -1
  690. package/out/zql/src/query/assert-no-not-exists.d.ts +0 -17
  691. package/out/zql/src/query/assert-no-not-exists.d.ts.map +0 -1
  692. package/out/zql/src/query/assert-no-not-exists.js +0 -40
  693. package/out/zql/src/query/assert-no-not-exists.js.map +0 -1
  694. /package/out/{inspector-YIRP3TTL.js.map → inspector-IU2HG74I.js.map} +0 -0
  695. /package/out/{replicache → shared}/src/size-of-value.d.ts +0 -0
@@ -4,7 +4,8 @@ import { must } from "../../shared/src/must.js";
4
4
  import { difference } from "../../shared/src/set-utils.js";
5
5
  import { createPredicate, transformFilters, } from "../../zql/src/builder/filter.js";
6
6
  import { makeComparator } from "../../zql/src/ivm/data.js";
7
- import { generateWithOverlay, generateWithStart, genPush, } from "../../zql/src/ivm/memory-source.js";
7
+ import { buildSelectQuery, toSQLiteType, } from "./query-builder.js";
8
+ import { generateWithOverlay, generateWithStart, genPushAndWriteWithSplitEdit, } from "../../zql/src/ivm/memory-source.js";
8
9
  import { Database, Statement } from "./db.js";
9
10
  import { compile, format, sql } from "./internal/sql.js";
10
11
  import { StatementCache } from "./internal/statement-cache.js";
@@ -35,7 +36,6 @@ export class TableSource {
35
36
  #lc;
36
37
  #stmts;
37
38
  #overlay;
38
- #splitEditOverlay;
39
39
  constructor(logContext, logConfig, db, tableName, columns, primaryKey) {
40
40
  this.#lc = logContext;
41
41
  this.#logConfig = logConfig;
@@ -63,7 +63,9 @@ export class TableSource {
63
63
  }
64
64
  const stmts = {
65
65
  cache: new StatementCache(db),
66
- insert: db.prepare(compile(sql `INSERT INTO ${sql.ident(this.#table)} (${sql.join(Object.keys(this.#columns).map(c => sql.ident(c)), ', ')}) VALUES (${sql.__dangerous__rawValue(new Array(Object.keys(this.#columns).length).fill('?').join(','))})`)),
66
+ insert: db.prepare(compile(sql `INSERT INTO ${sql.ident(this.#table)} (${sql.join(Object.keys(this.#columns).map(c => sql.ident(c)), ', ')}) VALUES (${sql.__dangerous__rawValue(Array.from({ length: Object.keys(this.#columns).length })
67
+ .fill('?')
68
+ .join(','))})`)),
67
69
  delete: db.prepare(compile(sql `DELETE FROM ${sql.ident(this.#table)} WHERE ${sql.join(this.#primaryKey.map(k => sql `${sql.ident(k)}=?`), ' AND ')}`)),
68
70
  // If all the columns are part of the primary key, we cannot use UPDATE.
69
71
  update: Object.keys(this.#columns).length > this.#primaryKey.length
@@ -145,7 +147,7 @@ export class TableSource {
145
147
  assert(callingConnectionIndex !== -1, 'Connection not found');
146
148
  const comparator = makeComparator(sort, req.reverse);
147
149
  debug?.initQuery(this.#table, sqlAndBindings.text);
148
- yield* generateWithStart(generateWithOverlay(req.start?.row, this.#mapFromSQLiteTypes(this.#columns, rowIterator, sqlAndBindings.text, debug), req.constraint, this.#overlay, this.#splitEditOverlay, callingConnectionIndex, comparator, connection.filters?.predicate), req.start, comparator);
150
+ yield* generateWithStart(generateWithOverlay(req.start?.row, this.#mapFromSQLiteTypes(this.#columns, rowIterator, sqlAndBindings.text, debug), req.constraint, this.#overlay, callingConnectionIndex, comparator, connection.filters?.predicate), req.start, comparator);
149
151
  }
150
152
  finally {
151
153
  this.#stmts.cache.return(cachedStatement);
@@ -159,7 +161,7 @@ export class TableSource {
159
161
  if (result.done) {
160
162
  break;
161
163
  }
162
- const row = fromSQLiteTypes(valueTypes, result.value);
164
+ const row = fromSQLiteTypes(valueTypes, result.value, this.#table);
163
165
  debug?.rowVended(this.#table, query, row);
164
166
  yield row;
165
167
  } while (!result.done);
@@ -176,7 +178,7 @@ export class TableSource {
176
178
  *genPush(change) {
177
179
  const exists = (row) => this.#stmts.checkExists.get(...toSQLiteTypes(this.#primaryKey, row, this.#columns))?.exists === 1;
178
180
  const setOverlay = (o) => (this.#overlay = o);
179
- const setSplitEditOverlay = (o) => (this.#splitEditOverlay = o);
181
+ const writeChange = (c) => this.#writeChange(c);
180
182
  if (change.type === 'set') {
181
183
  const existing = this.#stmts.getExisting.get(...toSQLiteTypes(this.#primaryKey, change.row, this.#columns));
182
184
  if (existing !== undefined) {
@@ -193,9 +195,9 @@ export class TableSource {
193
195
  };
194
196
  }
195
197
  }
196
- for (const x of genPush(change, exists, this.#connections.entries(), setOverlay, setSplitEditOverlay)) {
197
- yield x;
198
- }
198
+ yield* genPushAndWriteWithSplitEdit(this.#connections, change, exists, setOverlay, writeChange);
199
+ }
200
+ #writeChange(change) {
199
201
  switch (change.type) {
200
202
  case 'add':
201
203
  this.#stmts.insert.run(...toSQLiteTypes(Object.keys(this.#columns), change.row, this.#columns));
@@ -249,35 +251,12 @@ export class TableSource {
249
251
  const stmt = this.#getRowStmt(keyCols);
250
252
  const row = this.#stmts.cache.use(stmt, cached => cached.statement.safeIntegers(true).get(keyVals));
251
253
  if (row) {
252
- return fromSQLiteTypes(this.#columns, row);
254
+ return fromSQLiteTypes(this.#columns, row, this.#table);
253
255
  }
254
256
  return row;
255
257
  }
256
258
  #requestToSQL(request, filters, order) {
257
- const { constraint, start, reverse } = request;
258
- let query = sql `SELECT ${this.#allColumns} FROM ${sql.ident(this.#table)}`;
259
- const constraints = [];
260
- if (constraint) {
261
- for (const [key, value] of Object.entries(constraint)) {
262
- constraints.push(sql `${sql.ident(key)} IS ${toSQLiteType(value, this.#columns[key].type)}`);
263
- }
264
- }
265
- if (start) {
266
- constraints.push(gatherStartConstraints(start, reverse, order, this.#columns));
267
- }
268
- if (filters) {
269
- constraints.push(filtersToSQL(filters));
270
- }
271
- if (constraints.length > 0) {
272
- query = sql `${query} WHERE ${sql.join(constraints, sql ` AND `)}`;
273
- }
274
- if (reverse) {
275
- query = sql `${query} ORDER BY ${sql.join(order.map(s => sql `${sql.ident(s[0])} ${sql.__dangerous__rawValue(s[1] === 'asc' ? 'desc' : 'asc')}`), sql `, `)}`;
276
- }
277
- else {
278
- query = sql `${query} ORDER BY ${sql.join(order.map(s => sql `${sql.ident(s[0])} ${sql.__dangerous__rawValue(s[1])}`), sql `, `)}`;
279
- }
280
- return query;
259
+ return buildSelectQuery(this.#table, this.#columns, request.constraint, filters, order, request.reverse, request.start);
281
260
  }
282
261
  #selectPrimaryKeyFor(sort) {
283
262
  const columns = new Set(sort.map(([col]) => col));
@@ -295,128 +274,6 @@ export class TableSource {
295
274
  `(non-null) unique index on the "${this.#table}" table?`);
296
275
  }
297
276
  }
298
- /**
299
- * This applies all filters present in the AST for a query to the source.
300
- * This will work until subquery filters are added
301
- * at which point either:
302
- * a. we move filters to connect
303
- * b. we do the transform of removing subquery filters from filters while
304
- * preserving the meaning of the filters.
305
- *
306
- * https://www.notion.so/replicache/Optional-Filters-OR-1303bed895458013a26ee5aafd5725d2
307
- */
308
- export function filtersToSQL(filters) {
309
- switch (filters.type) {
310
- case 'simple':
311
- return simpleConditionToSQL(filters);
312
- case 'and':
313
- return filters.conditions.length > 0
314
- ? sql `(${sql.join(filters.conditions.map(condition => filtersToSQL(condition)), sql ` AND `)})`
315
- : sql `TRUE`;
316
- case 'or':
317
- return filters.conditions.length > 0
318
- ? sql `(${sql.join(filters.conditions.map(condition => filtersToSQL(condition)), sql ` OR `)})`
319
- : sql `FALSE`;
320
- }
321
- }
322
- function simpleConditionToSQL(filter) {
323
- const { op } = filter;
324
- if (op === 'IN' || op === 'NOT IN') {
325
- switch (filter.right.type) {
326
- case 'literal':
327
- return sql `${valuePositionToSQL(filter.left)} ${sql.__dangerous__rawValue(filter.op)} (SELECT value FROM json_each(${JSON.stringify(filter.right.value)}))`;
328
- case 'static':
329
- throw new Error('Static parameters must be replaced before conversion to SQL');
330
- }
331
- }
332
- return sql `${valuePositionToSQL(filter.left)} ${sql.__dangerous__rawValue(
333
- // SQLite's LIKE operator is case-insensitive by default, so we
334
- // convert ILIKE to LIKE and NOT ILIKE to NOT LIKE.
335
- filter.op === 'ILIKE'
336
- ? 'LIKE'
337
- : filter.op === 'NOT ILIKE'
338
- ? 'NOT LIKE'
339
- : filter.op)} ${valuePositionToSQL(filter.right)}`;
340
- }
341
- function valuePositionToSQL(value) {
342
- switch (value.type) {
343
- case 'column':
344
- return sql.ident(value.name);
345
- case 'literal':
346
- return sql `${toSQLiteType(value.value, getJsType(value.value))}`;
347
- case 'static':
348
- throw new Error('Static parameters must be replaced before conversion to SQL');
349
- }
350
- }
351
- function getJsType(value) {
352
- if (value === null) {
353
- return 'null';
354
- }
355
- return typeof value === 'string'
356
- ? 'string'
357
- : typeof value === 'number'
358
- ? 'number'
359
- : typeof value === 'boolean'
360
- ? 'boolean'
361
- : 'json';
362
- }
363
- /**
364
- * The ordering could be complex such as:
365
- * `ORDER BY a ASC, b DESC, c ASC`
366
- *
367
- * In those cases, we need to encode the constraints as various
368
- * `OR` clauses.
369
- *
370
- * E.g.,
371
- *
372
- * to get the row after (a = 1, b = 2, c = 3) would be:
373
- *
374
- * `WHERE a > 1 OR (a = 1 AND b < 2) OR (a = 1 AND b = 2 AND c > 3)`
375
- *
376
- * - after vs before flips the comparison operators.
377
- * - inclusive adds a final `OR` clause for the exact match.
378
- */
379
- function gatherStartConstraints(start, reverse, order, columnTypes) {
380
- const constraints = [];
381
- const { row: from, basis } = start;
382
- for (let i = 0; i < order.length; i++) {
383
- const group = [];
384
- const [iField, iDirection] = order[i];
385
- for (let j = 0; j <= i; j++) {
386
- if (j === i) {
387
- const constraintValue = toSQLiteType(from[iField], columnTypes[iField].type);
388
- if (iDirection === 'asc') {
389
- if (!reverse) {
390
- group.push(sql `(${constraintValue} IS NULL OR ${sql.ident(iField)} > ${constraintValue})`);
391
- }
392
- else {
393
- reverse;
394
- group.push(sql `(${sql.ident(iField)} IS NULL OR ${sql.ident(iField)} < ${constraintValue})`);
395
- }
396
- }
397
- else {
398
- iDirection;
399
- if (!reverse) {
400
- group.push(sql `(${sql.ident(iField)} IS NULL OR ${sql.ident(iField)} < ${constraintValue})`);
401
- }
402
- else {
403
- reverse;
404
- group.push(sql `(${constraintValue} IS NULL OR ${sql.ident(iField)} > ${constraintValue})`);
405
- }
406
- }
407
- }
408
- else {
409
- const [jField] = order[j];
410
- group.push(sql `${sql.ident(jField)} IS ${toSQLiteType(from[jField], columnTypes[jField].type)}`);
411
- }
412
- }
413
- constraints.push(sql `(${sql.join(group, sql ` AND `)})`);
414
- }
415
- if (basis === 'at') {
416
- constraints.push(sql `(${sql.join(order.map(s => sql `${sql.ident(s[0])} IS ${toSQLiteType(from[s[0]], columnTypes[s[0]].type)}`), sql ` AND `)})`);
417
- }
418
- return sql `(${sql.join(constraints, sql ` OR `)})`;
419
- }
420
277
  function getUniqueIndexes(db, tableName) {
421
278
  const sqlAndBindings = format(sql `
422
279
  SELECT idx.name, json_group_array(col.name) as columnsJSON
@@ -439,18 +296,6 @@ function getUniqueIndexes(db, tableName) {
439
296
  export function toSQLiteTypes(columns, row, columnTypes) {
440
297
  return columns.map(col => toSQLiteType(row[col], columnTypes[col].type));
441
298
  }
442
- function toSQLiteType(v, type) {
443
- switch (type) {
444
- case 'boolean':
445
- return v === null ? null : v ? 1 : 0;
446
- case 'number':
447
- case 'string':
448
- case 'null':
449
- return v;
450
- case 'json':
451
- return JSON.stringify(v);
452
- }
453
- }
454
299
  export function toSQLiteTypeName(type) {
455
300
  switch (type) {
456
301
  case 'boolean':
@@ -465,18 +310,19 @@ export function toSQLiteTypeName(type) {
465
310
  return 'TEXT';
466
311
  }
467
312
  }
468
- export function fromSQLiteTypes(valueTypes, row) {
313
+ export function fromSQLiteTypes(valueTypes, row, tableName) {
469
314
  const newRow = {};
470
315
  for (const key of Object.keys(row)) {
471
316
  const valueType = valueTypes[key];
472
317
  if (valueType === undefined) {
473
- throw new Error(`Invalid column "${key}". Synced columns include ${Object.keys(valueTypes).sort()}`);
318
+ const columnList = Object.keys(valueTypes).sort().join(', ');
319
+ throw new Error(`Invalid column "${key}" for table "${tableName}". Synced columns include ${columnList}`);
474
320
  }
475
- newRow[key] = fromSQLiteType(valueType.type, row[key], key);
321
+ newRow[key] = fromSQLiteType(valueType.type, row[key], key, tableName);
476
322
  }
477
323
  return newRow;
478
324
  }
479
- function fromSQLiteType(valueType, v, column) {
325
+ function fromSQLiteType(valueType, v, column, tableName) {
480
326
  if (v === null) {
481
327
  return null;
482
328
  }
@@ -488,19 +334,22 @@ function fromSQLiteType(valueType, v, column) {
488
334
  case 'null':
489
335
  if (typeof v === 'bigint') {
490
336
  if (v > Number.MAX_SAFE_INTEGER || v < Number.MIN_SAFE_INTEGER) {
491
- throw new UnsupportedValueError(`value ${v} (in column ${column}) is outside of supported bounds`);
337
+ throw new UnsupportedValueError(`value ${v} (in ${tableName}.${column}) is outside of supported bounds`);
492
338
  }
493
339
  return Number(v);
494
340
  }
495
341
  return v;
496
342
  case 'json':
497
- return JSON.parse(v);
343
+ try {
344
+ return JSON.parse(v);
345
+ }
346
+ catch (error) {
347
+ const errorMessage = error instanceof Error ? error.message : String(error);
348
+ throw new UnsupportedValueError(`Failed to parse JSON for ${tableName}.${column}: ${errorMessage}`, { cause: error });
349
+ }
498
350
  }
499
351
  }
500
352
  export class UnsupportedValueError extends Error {
501
- constructor(msg) {
502
- super(msg);
503
- }
504
353
  }
505
354
  function canUseUpdate(oldRow, row, columns, primaryKey) {
506
355
  for (const pk of primaryKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"table-source.js","sourceRoot":"","sources":["../../../../zqlite/src/table-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-source.js","sourceRoot":"","sources":["../../../../zqlite/src/table-source.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocicorp/zero",
3
- "version": "0.23.2025101600",
3
+ "version": "0.24.3000-canary.1",
4
4
  "description": "Zero is a web framework for serverless web development.",
5
5
  "author": "Rocicorp, Inc.",
6
6
  "repository": {
@@ -15,13 +15,13 @@
15
15
  },
16
16
  "scripts": {
17
17
  "build": "rm -rf out && npm run build-server && npm run build-client",
18
- "build-client": "tsc -p tsconfig.client.json && npx tsx tool/build.js",
18
+ "build-client": "tsc -p tsconfig.client.json && tsx tool/build.js",
19
19
  "build-server": "tsc -p tsconfig.server.json && chmod +x out/zero/src/cli.js out/zero/src/build-schema.js out/zero/src/deploy-permissions.js out/zero/src/zero-cache-dev.js out/zero/src/ast-to-zql.js out/zero/src/analyze-query.js out/zero/src/transform-query.js",
20
- "check-types": "tsc",
21
- "check-types:watch": "tsc --watch",
20
+ "check-types": "tsc -p tsconfig.client.json -p tsconfig.server.json",
21
+ "check-types:watch": "tsc -p tsconfig.client.json -p tsconfig.server.json --watch",
22
22
  "format": "prettier --write .",
23
23
  "check-format": "prettier --check .",
24
- "lint": "eslint --ext .ts,.tsx,.js,.jsx src/",
24
+ "lint": "oxlint --type-aware src/",
25
25
  "prepack": "cp ../zero-cache/src/services/litestream/config.yml ./out/zero-cache/src/services/litestream/",
26
26
  "docs": "node --experimental-strip-types --no-warnings tool/generate-docs.ts",
27
27
  "docs:server": "node --watch --experimental-strip-types --no-warnings tool/generate-docs.ts --server"
@@ -47,7 +47,7 @@
47
47
  "@rocicorp/lock": "^1.0.4",
48
48
  "@rocicorp/logger": "^5.4.0",
49
49
  "@rocicorp/resolver": "^1.0.2",
50
- "@rocicorp/zero-sqlite3": "^1.0.8",
50
+ "@rocicorp/zero-sqlite3": "^1.0.11",
51
51
  "@types/basic-auth": "^1.1.8",
52
52
  "basic-auth": "^2.0.1",
53
53
  "chalk": "^5.3.0",
@@ -66,35 +66,49 @@
66
66
  "json-custom-numbers": "^3.1.1",
67
67
  "kasi": "^1.1.0",
68
68
  "nanoid": "^5.1.2",
69
+ "parse-prometheus-text-format": "^1.1.1",
69
70
  "pg-format": "npm:pg-format-fix@^1.0.5",
70
71
  "postgres": "^3.4.4",
71
72
  "prettier": "^3.5.3",
72
- "parse-prometheus-text-format": "^1.1.1",
73
73
  "semver": "^7.5.4",
74
74
  "tsx": "^4.19.1",
75
- "typedoc": "^0.28.2",
76
- "typedoc-plugin-markdown": "^4.6.1",
77
75
  "url-pattern": "^1.0.3",
76
+ "urlpattern-polyfill": "^10.1.0",
78
77
  "ws": "^8.18.1"
79
78
  },
80
79
  "devDependencies": {
81
- "@rocicorp/eslint-config": "^0.7.0",
82
- "@rocicorp/prettier-config": "^0.3.0",
80
+ "@op-engineering/op-sqlite": ">=15",
81
+ "@rocicorp/prettier-config": "^0.4.0",
83
82
  "@vitest/runner": "3.2.4",
84
- "esbuild": "^0.25.0",
83
+ "analyze-query": "0.0.0",
84
+ "ast-to-zql": "0.0.0",
85
+ "esbuild": "^0.25.10",
86
+ "expo-sqlite": ">=15",
85
87
  "replicache": "15.2.1",
86
88
  "shared": "0.0.0",
89
+ "typedoc": "^0.28.2",
90
+ "typedoc-plugin-markdown": "^4.6.1",
87
91
  "typescript": "~5.8.2",
88
92
  "vitest": "3.2.4",
93
+ "zero-cache": "0.0.0",
89
94
  "zero-client": "0.0.0",
90
- "zqlite": "0.0.0",
91
- "zero-events": "0.0.0",
92
- "zero-solid": "0.0.0",
93
95
  "zero-pg": "0.0.0",
94
96
  "zero-react": "0.0.0",
95
97
  "zero-server": "0.0.0",
96
- "zero-cache": "0.0.0",
97
- "zero-react-native": "0.0.0"
98
+ "zero-solid": "0.0.0",
99
+ "zqlite": "0.0.0"
100
+ },
101
+ "peerDependencies": {
102
+ "expo-sqlite": ">=15",
103
+ "@op-engineering/op-sqlite": ">=15"
104
+ },
105
+ "peerDependenciesMeta": {
106
+ "expo-sqlite": {
107
+ "optional": true
108
+ },
109
+ "@op-engineering/op-sqlite": {
110
+ "optional": true
111
+ }
98
112
  },
99
113
  "type": "module",
100
114
  "main": "out/zero.js",
@@ -105,41 +119,57 @@
105
119
  "types": "./out/zero-client/src/mod.d.ts",
106
120
  "default": "./out/zero.js"
107
121
  },
122
+ "./change-protocol/v0": {
123
+ "types": "./out/zero/src/change-protocol/v0.d.ts",
124
+ "default": "./out/zero/src/change-protocol/v0.js"
125
+ },
126
+ "./expo-sqlite": {
127
+ "types": "./out/zero/src/expo-sqlite.d.ts",
128
+ "default": "./out/expo-sqlite.js"
129
+ },
130
+ "./op-sqlite": {
131
+ "types": "./out/zero/src/op-sqlite.d.ts",
132
+ "default": "./out/op-sqlite.js"
133
+ },
134
+ "./pg": {
135
+ "types": "./out/zero-pg/src/mod.d.ts",
136
+ "default": "./out/zero/src/pg.js"
137
+ },
108
138
  "./react": {
109
139
  "types": "./out/zero-react/src/mod.d.ts",
110
140
  "default": "./out/react.js"
111
141
  },
142
+ "./react-native": {
143
+ "types": "./out/zero-react-native/src/mod.d.ts",
144
+ "default": "./out/react-native.js"
145
+ },
112
146
  "./server": {
113
147
  "types": "./out/zero-server/src/mod.d.ts",
114
148
  "default": "./out/zero/src/server.js"
115
149
  },
150
+ "./server/adapters/drizzle": {
151
+ "types": "./out/zero-server/src/adapters/drizzle.d.ts",
152
+ "default": "./out/zero/src/adapters/drizzle.js"
153
+ },
154
+ "./server/adapters/pg": {
155
+ "types": "./out/zero-server/src/adapters/pg.d.ts",
156
+ "default": "./out/zero/src/adapters/pg.js"
157
+ },
116
158
  "./server/adapters/postgresjs": {
117
- "types": "./out/zero-server/src/adapters/postgres.d.ts",
159
+ "types": "./out/zero-server/src/adapters/postgresjs.d.ts",
118
160
  "default": "./out/zero/src/adapters/postgresjs.js"
119
161
  },
120
- "./server/adapters/drizzle-pg": {
121
- "types": "./out/zero-server/src/adapters/drizzle-pg.d.ts",
122
- "default": "./out/zero/src/adapters/drizzle-pg.js"
123
- },
124
162
  "./solid": {
125
163
  "types": "./out/zero-solid/src/mod.d.ts",
126
164
  "default": "./out/solid.js"
127
165
  },
128
- "./change-protocol/v0": {
129
- "types": "./out/zero/src/change-protocol/v0.d.ts",
130
- "default": "./out/zero/src/change-protocol/v0.js"
131
- },
132
- "./pg": {
133
- "types": "./out/zero-pg/src/mod.d.ts",
134
- "default": "./out/zero/src/pg.js"
166
+ "./sqlite": {
167
+ "types": "./out/zero/src/sqlite.d.ts",
168
+ "default": "./out/sqlite.js"
135
169
  },
136
170
  "./zqlite": {
137
171
  "types": "./out/zqlite/src/mod.d.ts",
138
172
  "default": "./out/zero/src/zqlite.js"
139
- },
140
- "./react-native": {
141
- "types": "./out/zero-react-native/src/mod.d.ts",
142
- "default": "./out/react-native.js"
143
173
  }
144
174
  },
145
175
  "bin": {
@@ -158,8 +188,5 @@
158
188
  "out",
159
189
  "!*.tsbuildinfo"
160
190
  ],
161
- "eslintConfig": {
162
- "extends": "../../eslint-config.json"
163
- },
164
191
  "prettier": "@rocicorp/prettier-config"
165
192
  }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../zero-schema/src/builder/relationship-builder.ts", "../../zql/src/query/static-query.ts", "../../zero-schema/src/permissions.ts", "../../zql/src/query/escape-like.ts", "../../zql/src/query/named.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type {Relationship, TableSchema} from '../table-schema.ts';\nimport type {TableBuilderWithColumns} from './table-builder.ts';\n\ntype ConnectArg<TSourceField, TDestField, TDest extends TableSchema> = {\n readonly sourceField: TSourceField;\n readonly destField: TDestField;\n readonly destSchema: TableBuilderWithColumns<TDest>;\n};\n\ntype ManyConnection<TSourceField, TDestField, TDest extends TableSchema> = {\n readonly sourceField: TSourceField;\n readonly destField: TDestField;\n readonly destSchema: TDest['name'];\n readonly cardinality: 'many';\n};\n\ntype OneConnection<TSourceField, TDestField, TDest extends TableSchema> = {\n readonly sourceField: TSourceField;\n readonly destField: TDestField;\n readonly destSchema: TDest['name'];\n readonly cardinality: 'one';\n};\n\ntype Prev = [-1, 0, 1, 2, 3, 4, 5, 6];\n\nexport type PreviousSchema<\n TSource extends TableSchema,\n K extends number,\n TDests extends TableSchema[],\n> = K extends 0 ? TSource : TDests[Prev[K]];\n\nexport type Relationships = {\n name: string; // table name\n relationships: Record<string, Relationship>; // relationships for that table\n};\n\nexport function relationships<\n TSource extends TableSchema,\n TRelationships extends Record<string, Relationship>,\n>(\n table: TableBuilderWithColumns<TSource>,\n cb: (connects: {\n many: <\n TDests extends TableSchema[],\n TSourceFields extends {\n [K in keyof TDests]: (keyof PreviousSchema<\n TSource,\n K & number,\n TDests\n >['columns'] &\n string)[];\n },\n TDestFields extends {\n [K in keyof TDests]: (keyof TDests[K]['columns'] & string)[];\n },\n >(\n ...args: {\n [K in keyof TDests]: ConnectArg<\n TSourceFields[K],\n TDestFields[K],\n TDests[K]\n >;\n }\n ) => {\n [K in keyof TDests]: ManyConnection<\n TSourceFields[K],\n TDestFields[K],\n TDests[K]\n >;\n };\n one: <\n TDests extends TableSchema[],\n TSourceFields extends {\n [K in keyof TDests]: (keyof PreviousSchema<\n TSource,\n K & number,\n TDests\n >['columns'] &\n string)[];\n },\n TDestFields extends {\n [K in keyof TDests]: (keyof TDests[K]['columns'] & string)[];\n },\n >(\n ...args: {\n [K in keyof TDests]: ConnectArg<\n TSourceFields[K],\n TDestFields[K],\n TDests[K]\n >;\n }\n ) => {\n [K in keyof TDests]: OneConnection<\n TSourceFields[K],\n TDestFields[K],\n TDests[K]\n >;\n };\n }) => TRelationships,\n): {name: TSource['name']; relationships: TRelationships} {\n const relationships = cb({many, one} as any);\n\n return {\n name: table.schema.name,\n relationships,\n };\n}\n\nfunction many(\n ...args: readonly ConnectArg<any, any, TableSchema>[]\n): ManyConnection<any, any, any>[] {\n return args.map(arg => ({\n sourceField: arg.sourceField,\n destField: arg.destField,\n destSchema: arg.destSchema.schema.name,\n cardinality: 'many',\n }));\n}\n\nfunction one(\n ...args: readonly ConnectArg<any, any, TableSchema>[]\n): OneConnection<any, any, any>[] {\n return args.map(arg => ({\n sourceField: arg.sourceField,\n destField: arg.destField,\n destSchema: arg.destSchema.schema.name,\n cardinality: 'one',\n }));\n}\n", "import type {AST, System} from '../../../zero-protocol/src/ast.ts';\nimport type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts';\nimport type {Format} from '../ivm/view.ts';\nimport {ExpressionBuilder} from './expression.ts';\nimport type {CustomQueryID} from './named.ts';\nimport type {QueryDelegate} from './query-delegate.ts';\nimport {AbstractQuery, defaultFormat, newQuerySymbol} from './query-impl.ts';\nimport type {HumanReadable, PullRow, Query} from './query.ts';\nimport type {TypedView} from './typed-view.ts';\n\nexport function staticQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(schema: TSchema, tableName: TTable): Query<TSchema, TTable> {\n return new StaticQuery<TSchema, TTable>(\n schema,\n tableName,\n {table: tableName},\n defaultFormat,\n );\n}\n\n/**\n * A query that cannot be run.\n * Only serves to generate ASTs.\n */\nexport class StaticQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn = PullRow<TTable, TSchema>,\n> extends AbstractQuery<TSchema, TTable, TReturn> {\n constructor(\n schema: TSchema,\n tableName: TTable,\n ast: AST,\n format: Format,\n system: System = 'permissions',\n customQueryID?: CustomQueryID | undefined,\n currentJunction?: string | undefined,\n ) {\n super(\n undefined,\n schema,\n tableName,\n ast,\n format,\n system,\n customQueryID,\n currentJunction,\n );\n }\n\n expressionBuilder() {\n return new ExpressionBuilder(this._exists);\n }\n\n protected [newQuerySymbol]<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n >(\n _delegate: QueryDelegate | undefined,\n schema: TSchema,\n tableName: TTable,\n ast: AST,\n format: Format,\n customQueryID: CustomQueryID | undefined,\n currentJunction: string | undefined,\n ): StaticQuery<TSchema, TTable, TReturn> {\n return new StaticQuery(\n schema,\n tableName,\n ast,\n format,\n 'permissions',\n customQueryID,\n currentJunction,\n );\n }\n\n get ast() {\n return this._completeAst();\n }\n\n materialize(): TypedView<HumanReadable<TReturn>> {\n throw new Error('StaticQuery cannot be materialized');\n }\n\n run(): Promise<HumanReadable<TReturn>> {\n return Promise.reject(new Error('StaticQuery cannot be run'));\n }\n\n preload(): {\n cleanup: () => void;\n complete: Promise<void>;\n } {\n throw new Error('StaticQuery cannot be preloaded');\n }\n}\n", "import {assert} from '../../shared/src/asserts.ts';\nimport {\n mapCondition,\n toStaticParam,\n type Condition,\n type Parameter,\n} from '../../zero-protocol/src/ast.ts';\nimport type {ExpressionBuilder} from '../../zql/src/query/expression.ts';\nimport {defaultFormat, staticParam} from '../../zql/src/query/query-impl.ts';\nimport type {Query} from '../../zql/src/query/query.ts';\nimport {StaticQuery} from '../../zql/src/query/static-query.ts';\nimport type {Schema} from './builder/schema-builder.ts';\nimport type {\n AssetPermissions as CompiledAssetPermissions,\n PermissionsConfig as CompiledPermissionsConfig,\n} from './compiled-permissions.ts';\nimport {clientToServer, NameMapper} from './name-mapper.ts';\n\nexport const ANYONE_CAN = [\n (_: unknown, eb: ExpressionBuilder<Schema, never>) => eb.and(),\n];\n\n/**\n * @deprecated Use {@link ANYONE_CAN} instead.\n */\nexport const ANYONE_CAN_DO_ANYTHING = {\n row: {\n select: ANYONE_CAN,\n insert: ANYONE_CAN,\n update: {\n preMutation: ANYONE_CAN,\n postMutation: ANYONE_CAN,\n },\n delete: ANYONE_CAN,\n },\n};\n\nexport const NOBODY_CAN = [];\n\nexport type Anchor = 'authData' | 'preMutationRow';\n\nexport type Queries<TSchema extends Schema> = {\n [K in keyof TSchema['tables']]: Query<Schema, K & string>;\n};\n\nexport type PermissionRule<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n> = (\n authData: TAuthDataShape,\n eb: ExpressionBuilder<TSchema, TTable>,\n) => Condition;\n\nexport type AssetPermissions<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n> = {\n // Why an array of rules?: https://github.com/rocicorp/mono/pull/3184/files#r1869680716\n select?: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined;\n /**\n * @deprecated Use Mutators instead.\n * @see {@link https://zero.rocicorp.dev/docs/writing-data}\n */\n insert?: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined;\n /**\n * @deprecated Use Mutators instead.\n * @see {@link https://zero.rocicorp.dev/docs/writing-data}\n */\n update?:\n | {\n preMutation?: PermissionRule<TAuthDataShape, TSchema, TTable>[];\n postMutation?: PermissionRule<TAuthDataShape, TSchema, TTable>[];\n }\n | undefined;\n /**\n * @deprecated Use Mutators instead.\n * @see {@link https://zero.rocicorp.dev/docs/writing-data}\n */\n delete?: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined;\n};\n\nexport type PermissionsConfig<TAuthDataShape, TSchema extends Schema> = {\n [K in keyof TSchema['tables']]?: {\n row?: AssetPermissions<TAuthDataShape, TSchema, K & string> | undefined;\n cell?:\n | {\n [C in keyof TSchema['tables'][K]['columns']]?: Omit<\n AssetPermissions<TAuthDataShape, TSchema, K & string>,\n 'cell'\n >;\n }\n | undefined;\n };\n};\n\nexport async function definePermissions<TAuthDataShape, TSchema extends Schema>(\n schema: TSchema,\n definer: () =>\n | Promise<PermissionsConfig<TAuthDataShape, TSchema>>\n | PermissionsConfig<TAuthDataShape, TSchema>,\n): Promise<CompiledPermissionsConfig | undefined> {\n const expressionBuilders = {} as Record<\n string,\n ExpressionBuilder<Schema, string>\n >;\n for (const name of Object.keys(schema.tables)) {\n expressionBuilders[name] = new StaticQuery(\n schema,\n name,\n {table: name},\n defaultFormat,\n ).expressionBuilder();\n }\n\n const config = await definer();\n return compilePermissions(schema, config, expressionBuilders);\n}\n\nfunction compilePermissions<TAuthDataShape, TSchema extends Schema>(\n schema: TSchema,\n authz: PermissionsConfig<TAuthDataShape, TSchema> | undefined,\n expressionBuilders: Record<string, ExpressionBuilder<Schema, string>>,\n): CompiledPermissionsConfig | undefined {\n if (!authz) {\n return undefined;\n }\n const nameMapper = clientToServer(schema.tables);\n const ret: CompiledPermissionsConfig = {tables: {}};\n for (const [tableName, tableConfig] of Object.entries(authz)) {\n const serverName = schema.tables[tableName].serverName ?? tableName;\n ret.tables[serverName] = {\n row: compileRowConfig(\n nameMapper,\n tableName,\n tableConfig.row,\n expressionBuilders[tableName],\n ),\n cell: compileCellConfig(\n nameMapper,\n tableName,\n tableConfig.cell,\n expressionBuilders[tableName],\n ),\n };\n }\n\n return ret;\n}\n\nfunction compileRowConfig<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(\n clientToServer: NameMapper,\n tableName: TTable,\n rowRules: AssetPermissions<TAuthDataShape, TSchema, TTable> | undefined,\n expressionBuilder: ExpressionBuilder<TSchema, TTable>,\n): CompiledAssetPermissions | undefined {\n if (!rowRules) {\n return undefined;\n }\n return {\n select: compileRules(\n clientToServer,\n tableName,\n rowRules.select,\n expressionBuilder,\n ),\n insert: compileRules(\n clientToServer,\n tableName,\n rowRules.insert,\n expressionBuilder,\n ),\n update: {\n preMutation: compileRules(\n clientToServer,\n tableName,\n rowRules.update?.preMutation,\n expressionBuilder,\n ),\n postMutation: compileRules(\n clientToServer,\n tableName,\n rowRules.update?.postMutation,\n expressionBuilder,\n ),\n },\n delete: compileRules(\n clientToServer,\n tableName,\n rowRules.delete,\n expressionBuilder,\n ),\n };\n}\n\n/**\n * What is this \"allow\" and why are permissions policies an array of rules?\n *\n * Please read: https://github.com/rocicorp/mono/pull/3184/files#r1869680716\n */\nfunction compileRules<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(\n clientToServer: NameMapper,\n tableName: TTable,\n rules: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined,\n expressionBuilder: ExpressionBuilder<TSchema, TTable>,\n): ['allow', Condition][] | undefined {\n if (!rules) {\n return undefined;\n }\n\n return rules.map(rule => {\n const cond = rule(authDataRef as TAuthDataShape, expressionBuilder);\n return ['allow', mapCondition(cond, tableName, clientToServer)] as const;\n });\n}\n\nfunction compileCellConfig<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(\n clientToServer: NameMapper,\n tableName: TTable,\n cellRules:\n | Record<string, AssetPermissions<TAuthDataShape, TSchema, TTable>>\n | undefined,\n expressionBuilder: ExpressionBuilder<TSchema, TTable>,\n): Record<string, CompiledAssetPermissions> | undefined {\n if (!cellRules) {\n return undefined;\n }\n const ret: Record<string, CompiledAssetPermissions> = {};\n for (const [columnName, rules] of Object.entries(cellRules)) {\n ret[columnName] = {\n select: compileRules(\n clientToServer,\n tableName,\n rules.select,\n expressionBuilder,\n ),\n insert: compileRules(\n clientToServer,\n tableName,\n rules.insert,\n expressionBuilder,\n ),\n update: {\n preMutation: compileRules(\n clientToServer,\n tableName,\n rules.update?.preMutation,\n expressionBuilder,\n ),\n postMutation: compileRules(\n clientToServer,\n tableName,\n rules.update?.postMutation,\n expressionBuilder,\n ),\n },\n delete: compileRules(\n clientToServer,\n tableName,\n rules.delete,\n expressionBuilder,\n ),\n };\n }\n return ret;\n}\n\nclass CallTracker {\n readonly #anchor: Anchor;\n readonly #path: string[];\n constructor(anchor: Anchor, path: string[]) {\n this.#anchor = anchor;\n this.#path = path;\n }\n\n get(target: {[toStaticParam]: () => Parameter}, prop: string | symbol) {\n if (prop === toStaticParam) {\n return target[toStaticParam];\n }\n assert(typeof prop === 'string');\n const path = [...this.#path, prop];\n return new Proxy(\n {\n [toStaticParam]: () => staticParam(this.#anchor, path),\n },\n new CallTracker(this.#anchor, path),\n );\n }\n}\n\nfunction baseTracker(anchor: Anchor) {\n return new Proxy(\n {\n [toStaticParam]: () => {\n throw new Error('no JWT field specified');\n },\n },\n new CallTracker(anchor, []),\n );\n}\n\nexport const authDataRef = baseTracker('authData');\nexport const preMutationRowRef = baseTracker('preMutationRow');\n", "export function escapeLike(val: string) {\n return val.replace(/[%_]/g, '\\\\$&');\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type {ReadonlyJSONValue} from '../../../shared/src/json.ts';\nimport type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts';\nimport type {SchemaQuery} from '../mutate/custom.ts';\nimport {newQuery} from './query-impl.ts';\nimport type {Query} from './query.ts';\n\nexport type QueryFn<\n TContext,\n TTakesContext extends boolean,\n TArg extends ReadonlyJSONValue[],\n TReturnQuery extends Query<any, any, any>,\n> = TTakesContext extends false\n ? {(...args: TArg): TReturnQuery}\n : {(context: TContext, ...args: TArg): TReturnQuery};\n\nexport type SyncedQuery<\n TName extends string,\n TContext,\n TTakesContext extends boolean,\n TArg extends ReadonlyJSONValue[],\n TReturnQuery extends Query<any, any, any>,\n> = QueryFn<TContext, TTakesContext, TArg, TReturnQuery> & {\n queryName: TName;\n parse: ParseFn<TArg> | undefined;\n takesContext: TTakesContext;\n};\n\nfunction normalizeParser<T extends ReadonlyJSONValue[]>(\n parser: ParseFn<T> | HasParseFn<T> | undefined,\n): ParseFn<T> | undefined {\n if (parser) {\n if ('parse' in parser) {\n return parser.parse.bind(parser);\n }\n return parser;\n }\n return undefined;\n}\n\nexport function syncedQuery<\n TName extends string,\n TArg extends ReadonlyJSONValue[],\n TReturnQuery extends Query<any, any, any>,\n>(\n name: TName,\n parser: ParseFn<TArg> | HasParseFn<TArg> | undefined,\n fn: QueryFn<unknown, false, TArg, TReturnQuery>,\n): SyncedQuery<TName, unknown, false, TArg, TReturnQuery> {\n const impl = syncedQueryImpl(name, fn, false);\n const ret: any = (...args: TArg) => impl(undefined, args);\n ret.queryName = name;\n ret.parse = normalizeParser(parser);\n ret.takesContext = false;\n return ret;\n}\n\nexport function syncedQueryWithContext<\n TName extends string,\n TContext,\n TArg extends ReadonlyJSONValue[],\n TReturnQuery extends Query<any, any, any>,\n>(\n name: TName,\n parser: ParseFn<TArg> | HasParseFn<TArg> | undefined,\n fn: QueryFn<TContext, true, TArg, TReturnQuery>,\n): SyncedQuery<TName, TContext, true, TArg, TReturnQuery> {\n const impl = syncedQueryImpl(name, fn, true);\n const ret: any = (context: TContext, ...args: TArg) => impl(context, args);\n ret.queryName = name;\n ret.parse = normalizeParser(parser);\n ret.takesContext = true;\n return ret;\n}\n\nfunction syncedQueryImpl<\n TName extends string,\n TContext,\n TArg extends ReadonlyJSONValue[],\n TReturnQuery extends Query<any, any, any>,\n>(name: TName, fn: any, takesContext: boolean) {\n return (context: TContext, args: TArg) => {\n const q = takesContext ? fn(context, ...args) : fn(...args);\n return q.nameAndArgs(name, args) as TReturnQuery;\n };\n}\n\nexport function withValidation<T extends SyncedQuery<any, any, any, any, any>>(\n fn: T,\n): T extends SyncedQuery<infer N, infer C, any, any, infer R>\n ? SyncedQuery<N, C, true, ReadonlyJSONValue[], R>\n : never {\n if (!fn.parse) {\n throw new Error('ret does not have a parse function defined');\n }\n const ret: any = (context: unknown, ...args: unknown[]) => {\n const f = fn as any;\n const parsed = f.parse(args);\n return f.takesContext ? f(context, ...parsed) : f(...parsed);\n };\n ret.queryName = fn.queryName;\n ret.parse = fn.parse;\n ret.takesContext = true;\n\n return ret;\n}\n\nexport type ParseFn<T extends ReadonlyJSONValue[]> = (args: unknown[]) => T;\n\nexport type HasParseFn<T extends ReadonlyJSONValue[]> = {\n parse: ParseFn<T>;\n};\n\nexport type Parser<T extends ReadonlyJSONValue[]> = ParseFn<T> | HasParseFn<T>;\n\nexport type CustomQueryID = {\n name: string;\n args: ReadonlyArray<ReadonlyJSONValue>;\n};\n\n/**\n * Returns a set of query builders for the given schema.\n */\nexport function createBuilder<S extends Schema>(s: S): SchemaQuery<S> {\n return makeQueryBuilders(s) as SchemaQuery<S>;\n}\n\n/**\n * This produces the query builders for a given schema.\n * For use in Zero on the server to process custom queries.\n */\nfunction makeQueryBuilders<S extends Schema>(schema: S): SchemaQuery<S> {\n return new Proxy(\n {},\n {\n get: (\n target: Record<\n string,\n Omit<Query<S, string, any>, 'materialize' | 'preload'>\n >,\n prop: string,\n ) => {\n if (prop in target) {\n return target[prop];\n }\n\n if (!(prop in schema.tables)) {\n throw new Error(`Table ${prop} does not exist in schema`);\n }\n\n const q = newQuery(undefined, schema, prop);\n target[prop] = q;\n return q;\n },\n },\n ) as SchemaQuery<S>;\n}\n"],
5
- "mappings": "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",
6
- "names": ["table", "relationships", "clientToServer"]
7
- }