@rocicorp/zero 0.5.2024110200 → 0.6.2024111600

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 (330) hide show
  1. package/out/{internal.js → advanced.js} +1 -1
  2. package/out/{chunk-INJ4WJHS.js → chunk-V5NTGJ4X.js} +1152 -585
  3. package/out/chunk-V5NTGJ4X.js.map +7 -0
  4. package/out/react.js.map +2 -2
  5. package/out/shared/src/browser-env.d.ts +17 -0
  6. package/out/shared/src/browser-env.d.ts.map +1 -1
  7. package/out/shared/src/expand.d.ts +7 -0
  8. package/out/shared/src/expand.d.ts.map +1 -0
  9. package/out/solid.js +4 -4
  10. package/out/solid.js.map +2 -2
  11. package/out/zero-cache/src/auth/load-authorization.d.ts +3 -0
  12. package/out/zero-cache/src/auth/load-authorization.d.ts.map +1 -0
  13. package/out/zero-cache/src/auth/load-authorization.js +21 -0
  14. package/out/zero-cache/src/auth/load-authorization.js.map +1 -0
  15. package/out/zero-cache/src/config/config.d.ts +112 -0
  16. package/out/zero-cache/src/config/config.d.ts.map +1 -0
  17. package/out/zero-cache/src/config/config.js +246 -0
  18. package/out/zero-cache/src/config/config.js.map +1 -0
  19. package/out/zero-cache/src/config/zero-config.d.ts +145 -964
  20. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  21. package/out/zero-cache/src/config/zero-config.js +242 -115
  22. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  23. package/out/zero-cache/src/db/delete-lite-db.d.ts +2 -0
  24. package/out/zero-cache/src/db/delete-lite-db.d.ts.map +1 -0
  25. package/out/zero-cache/src/db/delete-lite-db.js +7 -0
  26. package/out/zero-cache/src/db/delete-lite-db.js.map +1 -0
  27. package/out/zero-cache/src/db/migration.d.ts +1 -0
  28. package/out/zero-cache/src/db/migration.d.ts.map +1 -1
  29. package/out/zero-cache/src/db/migration.js +17 -7
  30. package/out/zero-cache/src/db/migration.js.map +1 -1
  31. package/out/zero-cache/src/db/pg-to-lite.d.ts +1 -1
  32. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  33. package/out/zero-cache/src/db/pg-to-lite.js +7 -3
  34. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  35. package/out/zero-cache/src/db/short-lived-client.d.ts +16 -0
  36. package/out/zero-cache/src/db/short-lived-client.d.ts.map +1 -0
  37. package/out/zero-cache/src/db/short-lived-client.js +50 -0
  38. package/out/zero-cache/src/db/short-lived-client.js.map +1 -0
  39. package/out/zero-cache/src/db/specs.d.ts +12 -3
  40. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  41. package/out/zero-cache/src/db/specs.js +6 -1
  42. package/out/zero-cache/src/db/specs.js.map +1 -1
  43. package/out/zero-cache/src/db/transaction-pool.d.ts +7 -2
  44. package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
  45. package/out/zero-cache/src/db/transaction-pool.js +42 -8
  46. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  47. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  48. package/out/zero-cache/src/server/change-streamer.js +34 -9
  49. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  50. package/out/zero-cache/src/server/life-cycle.d.ts +1 -1
  51. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
  52. package/out/zero-cache/src/server/life-cycle.js +2 -3
  53. package/out/zero-cache/src/server/life-cycle.js.map +1 -1
  54. package/out/zero-cache/src/server/logging.d.ts.map +1 -1
  55. package/out/zero-cache/src/server/logging.js +2 -15
  56. package/out/zero-cache/src/server/logging.js.map +1 -1
  57. package/out/zero-cache/src/server/main.js +28 -10
  58. package/out/zero-cache/src/server/main.js.map +1 -1
  59. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  60. package/out/zero-cache/src/server/replicator.js +6 -5
  61. package/out/zero-cache/src/server/replicator.js.map +1 -1
  62. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  63. package/out/zero-cache/src/server/syncer.js +16 -12
  64. package/out/zero-cache/src/server/syncer.js.map +1 -1
  65. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +2 -3
  66. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  67. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +2 -3
  68. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  69. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +153 -2
  70. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  71. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +136 -19
  72. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  73. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +17 -9
  74. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  75. package/out/zero-cache/src/services/change-streamer/change-streamer.js +4 -2
  76. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  77. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +1 -0
  78. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -1
  79. package/out/zero-cache/src/services/change-streamer/forwarder.js +9 -2
  80. package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -1
  81. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts +10 -0
  82. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
  83. package/out/zero-cache/src/services/change-streamer/pg/change-source.js +171 -24
  84. package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
  85. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
  86. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +32 -18
  87. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
  88. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts +62 -39
  89. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -1
  90. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js +8 -40
  91. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -1
  92. package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts +8 -0
  93. package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts.map +1 -1
  94. package/out/zero-cache/src/services/change-streamer/pg/schema/init.js +41 -8
  95. package/out/zero-cache/src/services/change-streamer/pg/schema/init.js.map +1 -1
  96. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts +83 -13
  97. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +1 -1
  98. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js +15 -5
  99. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +1 -1
  100. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts +39 -3
  101. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts.map +1 -1
  102. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js +67 -36
  103. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js.map +1 -1
  104. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts +8 -0
  105. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts.map +1 -0
  106. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js +33 -0
  107. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js.map +1 -0
  108. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts +5 -1
  109. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +1 -1
  110. package/out/zero-cache/src/services/change-streamer/schema/change.js +3 -0
  111. package/out/zero-cache/src/services/change-streamer/schema/change.js.map +1 -1
  112. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
  113. package/out/zero-cache/src/services/change-streamer/schema/init.js +4 -6
  114. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  115. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +6 -1
  116. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  117. package/out/zero-cache/src/services/change-streamer/schema/tables.js +19 -4
  118. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  119. package/out/zero-cache/src/services/change-streamer/storer.d.ts +29 -2
  120. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  121. package/out/zero-cache/src/services/change-streamer/storer.js +90 -8
  122. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  123. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +1 -0
  124. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  125. package/out/zero-cache/src/services/change-streamer/subscriber.js +18 -3
  126. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  127. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +5 -3
  128. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -1
  129. package/out/zero-cache/src/services/dispatcher/dispatcher.js +20 -5
  130. package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
  131. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +6 -5
  132. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  133. package/out/zero-cache/src/services/mutagen/mutagen.js +26 -20
  134. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  135. package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts +7 -6
  136. package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts.map +1 -1
  137. package/out/zero-cache/src/services/mutagen/write-authorizer.js +10 -18
  138. package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
  139. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
  140. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  141. package/out/zero-cache/src/services/replicator/incremental-sync.js +8 -8
  142. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  143. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  144. package/out/zero-cache/src/services/replicator/schema/replication-state.js +1 -10
  145. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  146. package/out/zero-cache/src/services/running-state.d.ts +6 -1
  147. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  148. package/out/zero-cache/src/services/running-state.js +23 -5
  149. package/out/zero-cache/src/services/running-state.js.map +1 -1
  150. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +49 -29
  151. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
  152. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  153. package/out/zero-cache/src/services/view-syncer/view-syncer.js +2 -1
  154. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  155. package/out/zero-cache/src/types/lexi-version.d.ts +3 -2
  156. package/out/zero-cache/src/types/lexi-version.d.ts.map +1 -1
  157. package/out/zero-cache/src/types/lexi-version.js +8 -6
  158. package/out/zero-cache/src/types/lexi-version.js.map +1 -1
  159. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  160. package/out/zero-cache/src/types/processes.js +1 -0
  161. package/out/zero-cache/src/types/processes.js.map +1 -1
  162. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  163. package/out/zero-cache/src/workers/replicator.js +2 -4
  164. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  165. package/out/zero-cache/src/workers/syncer.js +1 -1
  166. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  167. package/out/zero-client/src/client/crud.d.ts +56 -25
  168. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  169. package/out/zero-client/src/client/http-string.d.ts +1 -0
  170. package/out/zero-client/src/client/http-string.d.ts.map +1 -1
  171. package/out/zero-client/src/client/log-options.d.ts +2 -1
  172. package/out/zero-client/src/client/log-options.d.ts.map +1 -1
  173. package/out/zero-client/src/client/options.d.ts +8 -8
  174. package/out/zero-client/src/client/options.d.ts.map +1 -1
  175. package/out/zero-client/src/client/protocol-version.d.ts +2 -0
  176. package/out/zero-client/src/client/protocol-version.d.ts.map +1 -0
  177. package/out/zero-client/src/client/server-option.d.ts.map +1 -1
  178. package/out/zero-client/src/client/zero-poke-handler.d.ts +1 -1
  179. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  180. package/out/zero-client/src/client/zero.d.ts +26 -14
  181. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  182. package/out/zero-client/src/mod.d.ts +4 -2
  183. package/out/zero-client/src/mod.d.ts.map +1 -1
  184. package/out/zero-protocol/src/ast.d.ts +37 -21
  185. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  186. package/out/zero-protocol/src/ast.js +21 -6
  187. package/out/zero-protocol/src/ast.js.map +1 -1
  188. package/out/zero-protocol/src/change-desired-queries.d.ts +16 -8
  189. package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
  190. package/out/zero-protocol/src/connect.d.ts +16 -8
  191. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  192. package/out/zero-protocol/src/down.d.ts +16 -8
  193. package/out/zero-protocol/src/down.d.ts.map +1 -1
  194. package/out/zero-protocol/src/poke.d.ts +32 -16
  195. package/out/zero-protocol/src/poke.d.ts.map +1 -1
  196. package/out/zero-protocol/src/push.d.ts +18 -18
  197. package/out/zero-protocol/src/push.d.ts.map +1 -1
  198. package/out/zero-protocol/src/push.js +5 -5
  199. package/out/zero-protocol/src/push.js.map +1 -1
  200. package/out/zero-protocol/src/queries-patch.d.ts +24 -12
  201. package/out/zero-protocol/src/queries-patch.d.ts.map +1 -1
  202. package/out/zero-protocol/src/up.d.ts +18 -10
  203. package/out/zero-protocol/src/up.d.ts.map +1 -1
  204. package/out/zero-react/src/use-zero.d.ts.map +1 -1
  205. package/out/zero-schema/src/authorization.d.ts +25 -0
  206. package/out/zero-schema/src/authorization.d.ts.map +1 -0
  207. package/out/zero-schema/src/compiled-authorization.d.ts +379 -0
  208. package/out/zero-schema/src/compiled-authorization.d.ts.map +1 -0
  209. package/out/zero-schema/src/compiled-authorization.js +15 -0
  210. package/out/zero-schema/src/compiled-authorization.js.map +1 -0
  211. package/out/zero-schema/src/mod.d.ts +1 -0
  212. package/out/zero-schema/src/mod.d.ts.map +1 -1
  213. package/out/{zero-client/src/client → zero-schema/src}/normalized-schema.d.ts +2 -2
  214. package/out/zero-schema/src/normalized-schema.d.ts.map +1 -0
  215. package/out/zero-schema/src/table-schema.d.ts +15 -7
  216. package/out/zero-schema/src/table-schema.d.ts.map +1 -1
  217. package/out/zero-schema/src/table-schema.js.map +1 -1
  218. package/out/zero.js +9 -13
  219. package/out/zql/src/builder/builder.d.ts +1 -1
  220. package/out/zql/src/builder/builder.d.ts.map +1 -1
  221. package/out/zql/src/builder/builder.js +74 -30
  222. package/out/zql/src/builder/builder.js.map +1 -1
  223. package/out/zql/src/builder/filter.d.ts +2 -1
  224. package/out/zql/src/builder/filter.d.ts.map +1 -1
  225. package/out/zql/src/builder/filter.js +18 -0
  226. package/out/zql/src/builder/filter.js.map +1 -1
  227. package/out/zql/src/builder/like.d.ts +2 -2
  228. package/out/zql/src/builder/like.d.ts.map +1 -1
  229. package/out/zql/src/ivm/change.d.ts +1 -0
  230. package/out/zql/src/ivm/change.d.ts.map +1 -1
  231. package/out/zql/src/ivm/change.js +4 -1
  232. package/out/zql/src/ivm/change.js.map +1 -1
  233. package/out/zql/src/ivm/exists.d.ts +18 -0
  234. package/out/zql/src/ivm/exists.d.ts.map +1 -0
  235. package/out/zql/src/ivm/exists.js +186 -0
  236. package/out/zql/src/ivm/exists.js.map +1 -0
  237. package/out/zql/src/ivm/fan-in.d.ts +1 -1
  238. package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
  239. package/out/zql/src/ivm/fan-in.js +3 -3
  240. package/out/zql/src/ivm/fan-in.js.map +1 -1
  241. package/out/zql/src/ivm/fan-out.d.ts.map +1 -1
  242. package/out/zql/src/ivm/fan-out.js +4 -7
  243. package/out/zql/src/ivm/fan-out.js.map +1 -1
  244. package/out/zql/src/ivm/filter.js +1 -1
  245. package/out/zql/src/ivm/filter.js.map +1 -1
  246. package/out/zql/src/ivm/memory-source.d.ts +10 -6
  247. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  248. package/out/zql/src/ivm/memory-source.js +60 -75
  249. package/out/zql/src/ivm/memory-source.js.map +1 -1
  250. package/out/zql/src/ivm/skip.js +1 -1
  251. package/out/zql/src/ivm/skip.js.map +1 -1
  252. package/out/zql/src/ivm/take.d.ts +1 -1
  253. package/out/zql/src/ivm/take.d.ts.map +1 -1
  254. package/out/zql/src/ivm/take.js +11 -7
  255. package/out/zql/src/ivm/take.js.map +1 -1
  256. package/out/zql/src/query/auth-query.d.ts +7 -3
  257. package/out/zql/src/query/auth-query.d.ts.map +1 -1
  258. package/out/zql/src/query/dnf.d.ts +10 -0
  259. package/out/zql/src/query/dnf.d.ts.map +1 -0
  260. package/out/zql/src/query/expression.d.ts +40 -23
  261. package/out/zql/src/query/expression.d.ts.map +1 -1
  262. package/out/zql/src/query/query-impl.d.ts +7 -6
  263. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  264. package/out/zql/src/query/query.d.ts +17 -46
  265. package/out/zql/src/query/query.d.ts.map +1 -1
  266. package/out/zqlite/src/db.d.ts.map +1 -1
  267. package/out/zqlite/src/db.js +19 -6
  268. package/out/zqlite/src/db.js.map +1 -1
  269. package/out/zqlite/src/table-source.d.ts +12 -3
  270. package/out/zqlite/src/table-source.d.ts.map +1 -1
  271. package/out/zqlite/src/table-source.js +81 -2
  272. package/out/zqlite/src/table-source.js.map +1 -1
  273. package/package.json +7 -11
  274. package/out/chunk-INJ4WJHS.js.map +0 -7
  275. package/out/datadog/src/datadog-log-sink.js +0 -231
  276. package/out/datadog/src/datadog-log-sink.js.map +0 -1
  277. package/out/datadog/src/mod.js +0 -2
  278. package/out/datadog/src/mod.js.map +0 -1
  279. package/out/shared/src/immutable.js +0 -2
  280. package/out/shared/src/immutable.js.map +0 -1
  281. package/out/shared/src/sorted-entries.js +0 -6
  282. package/out/shared/src/sorted-entries.js.map +0 -1
  283. package/out/shared/src/writable.js +0 -2
  284. package/out/shared/src/writable.js.map +0 -1
  285. package/out/zero/src/config.d.ts +0 -2
  286. package/out/zero/src/config.d.ts.map +0 -1
  287. package/out/zero/src/config.js +0 -2
  288. package/out/zero/src/config.js.map +0 -1
  289. package/out/zero-cache/src/config/config-query.d.ts +0 -19
  290. package/out/zero-cache/src/config/config-query.d.ts.map +0 -1
  291. package/out/zero-cache/src/config/config-query.js +0 -22
  292. package/out/zero-cache/src/config/config-query.js.map +0 -1
  293. package/out/zero-cache/src/config/define-config.d.ts +0 -43
  294. package/out/zero-cache/src/config/define-config.d.ts.map +0 -1
  295. package/out/zero-cache/src/config/define-config.js +0 -121
  296. package/out/zero-cache/src/config/define-config.js.map +0 -1
  297. package/out/zero-cache/src/config/refs.d.ts +0 -3
  298. package/out/zero-cache/src/config/refs.d.ts.map +0 -1
  299. package/out/zero-cache/src/config/refs.js +0 -14
  300. package/out/zero-cache/src/config/refs.js.map +0 -1
  301. package/out/zero-client/src/client/normalized-schema.d.ts.map +0 -1
  302. package/out/zero-client/src/client/normalized-schema.js +0 -31
  303. package/out/zero-client/src/client/normalized-schema.js.map +0 -1
  304. package/out/zero-protocol/src/ast-hash.js +0 -14
  305. package/out/zero-protocol/src/ast-hash.js.map +0 -1
  306. package/out/zero-schema/src/mod.js +0 -4
  307. package/out/zero-schema/src/mod.js.map +0 -1
  308. package/out/zero-schema/src/normalize-table-schema.js +0 -116
  309. package/out/zero-schema/src/normalize-table-schema.js.map +0 -1
  310. package/out/zero-schema/src/schema.js +0 -4
  311. package/out/zero-schema/src/schema.js.map +0 -1
  312. package/out/zql/src/ivm/array-view.js +0 -70
  313. package/out/zql/src/ivm/array-view.js.map +0 -1
  314. package/out/zql/src/ivm/view-apply-change.js +0 -156
  315. package/out/zql/src/ivm/view-apply-change.js.map +0 -1
  316. package/out/zql/src/ivm/view.js +0 -2
  317. package/out/zql/src/ivm/view.js.map +0 -1
  318. package/out/zql/src/query/auth-query.js +0 -26
  319. package/out/zql/src/query/auth-query.js.map +0 -1
  320. package/out/zql/src/query/expression.js +0 -121
  321. package/out/zql/src/query/expression.js.map +0 -1
  322. package/out/zql/src/query/query-impl.js +0 -291
  323. package/out/zql/src/query/query-impl.js.map +0 -1
  324. package/out/zql/src/query/query-internal.js +0 -2
  325. package/out/zql/src/query/query-internal.js.map +0 -1
  326. package/out/zql/src/query/query.js +0 -3
  327. package/out/zql/src/query/query.js.map +0 -1
  328. package/out/zql/src/query/typed-view.js +0 -2
  329. package/out/zql/src/query/typed-view.js.map +0 -1
  330. /package/out/{internal.js.map → advanced.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"zero-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AAGnD,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/D,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;eAA2C,CAAC;AAC5D,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;gBAAsB,CAAC;AACzC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAKf,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAE7D,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAO9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAuC5E,QAAA,MAAM,eAAe;IACnB;;;OAGG;;IAUH;;;OAGG;;;;aAKH,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAYxD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;aA4BlB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QApG3B;;;;;;;;;WASG;;QAGH;;;;;;;;;;;;;;;;;WAiBG;;;;QAKH;;;WAGG;;QAUH;;;WAGG;;;;;aAsDH,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAI1D,wBAAgB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAsBnD"}
1
+ {"version":3,"file":"zero-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,aAAa,CAAC;AAEtD;;GAEG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;CAqCjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtD,QAAA,MAAM,UAAU;;;;;;CAiBf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAElD,QAAA,MAAM,oBAAoB;;;;;;;;;CAczB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAK5D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8LvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAMpD,wBAAgB,aAAa,CAAC,IAAI,WAAwB,GAAG,UAAU,CAOtE"}
@@ -1,129 +1,256 @@
1
1
  /**
2
2
  * These types represent the _compiled_ config whereas `define-config` types represent the _source_ config.
3
3
  */
4
- import path from 'node:path';
5
- import { fileURLToPath } from 'node:url';
6
- import { tsImport } from 'tsx/esm/api';
7
4
  import * as v from '../../../shared/src/valita.js';
8
- import { astSchema } from '../../../zero-protocol/src/ast.js';
9
- const ruleSchema = v.tuple([v.literal('allow'), astSchema]);
10
- const policySchema = v.array(ruleSchema);
11
- const assetSchema = v.object({
12
- select: policySchema.optional(),
13
- insert: policySchema.optional(),
14
- update: policySchema.optional(),
15
- delete: policySchema.optional(),
16
- });
17
- const authorizationConfigSchema = v.record(v.object({
18
- table: assetSchema.optional(),
19
- column: v.record(assetSchema).optional(),
20
- row: assetSchema.optional(),
21
- cell: v.record(assetSchema).optional(),
22
- }));
5
+ import { parseOptions } from './config.js';
23
6
  /**
24
7
  * Configures the view of the upstream database replicated to this zero-cache.
25
8
  */
26
- const shardConfigSchema = v.object({
27
- /**
28
- * Unique identifier for the zero-cache shard. This is used to partition
29
- * shardable tables such as `zero.clients`, as well as reserve a name for
30
- * the replication slot.
31
- *
32
- * The shard `id` value is written to the `shardID` column when updating
33
- * the `lastMutationID` for clients in the `zero.clients` table.
34
- *
35
- * Defaults to "0".
36
- */
37
- id: v.string(),
38
- /**
39
- * Optional (comma-separated) list of of Postgres `PUBLICATION`s that the
40
- * shard subscribes to. All publication names must begin with the prefix
41
- * `"zero_"`, and all tables must be in the `"public"` Postgres schema.
42
- *
43
- * If unspecified, zero will create and use a `"zero_public"` publication that
44
- * publishes all tables in the `"public"` schema.
45
- *
46
- * ```sql
47
- * CREATE PUBLICATION zero_public FOR TABLES IN SCHEMA public;
48
- * ```
49
- *
50
- * Note that once a shard has begun syncing data, this list of publications
51
- * cannot be changed, and zero-cache will refuse to start if a specified
52
- * value differs from what it originally synced.
53
- *
54
- * To use a different set of publications, a new shard should be created.
55
- */
56
- publications: v.array(v.string()),
57
- });
58
- const logConfigSchema = v.object({
59
- /**
60
- * `debug`, `info`, `warn`, or `error`.
61
- * Defaults to `info`.
62
- */
9
+ const shardOptions = {
10
+ id: {
11
+ type: v.string().default('0'),
12
+ desc: [
13
+ 'Unique identifier for the zero-cache shard.',
14
+ '',
15
+ 'A shard presents a logical partition of the upstream database, delineated',
16
+ 'by a set of publications and managed by a dedicated replication slot.',
17
+ '',
18
+ `A shard's zero {bold clients} table and shard-internal functions are stored in`,
19
+ `the {bold zero_\\{id\\}} schema in the upstream database.`,
20
+ '',
21
+ 'Due to constraints on replication slot names, a shard ID may only consist of',
22
+ 'lower-case letters, numbers, and the underscore character.',
23
+ ],
24
+ allCaps: true, // so that the flag is --shardID
25
+ },
26
+ publications: {
27
+ type: v.array(v.string()).optional(() => []),
28
+ desc: [
29
+ `Postgres {bold PUBLICATION}s that define the partition of the upstream`,
30
+ `replicated to the shard. All publication names must begin with the prefix`,
31
+ `{bold zero_}, and all tables must be in the {bold public} schema.`,
32
+ ``,
33
+ `If unspecified, zero-cache will create and use a {bold zero_public} publication that`,
34
+ `publishes all tables in the {bold public} schema, i.e.:`,
35
+ ``,
36
+ `CREATE PUBLICATION zero_public FOR TABLES IN SCHEMA public;`,
37
+ ``,
38
+ `Note that once a shard has begun syncing data, this list of publications`,
39
+ `cannot be changed, and zero-cache will refuse to start if a specified`,
40
+ `value differs from what was originally synced.`,
41
+ ``,
42
+ `To use a different set of publications, a new shard should be created.`,
43
+ ],
44
+ },
45
+ };
46
+ const logOptions = {
63
47
  level: v
64
48
  .union(v.literal('debug'), v.literal('info'), v.literal('warn'), v.literal('error'))
65
- .optional(),
66
- /**
67
- * Defaults to `text` for developer-friendly console logging.
68
- * Also supports `json` for consumption by structured-logging services.
69
- */
70
- format: v.union(v.literal('text'), v.literal('json')).optional(),
71
- datadogLogsApiKey: v.string().optional(),
72
- datadogServiceLabel: v.string().optional(),
73
- });
74
- const rateLimitConfigSchema = v.object({
75
- // Limits to `max` transactions per `windowMs` milliseconds.
76
- // This uses a sliding window algorithm to track number of transactions in the current window.
77
- mutationTransactions: v.object({
78
- algorithm: v.literal('sliding-window'),
79
- windowMs: v.number(),
80
- maxTransactions: v.number(),
81
- }),
82
- });
83
- const zeroConfigBase = v.object({
84
- upstreamDBConnStr: v.string(),
85
- cvrDBConnStr: v.string(),
86
- changeDBConnStr: v.string(),
87
- taskId: v.string().optional(),
88
- replicaDBFile: v.string(),
89
- storageDBTmpDir: v.string().optional(),
90
- warmWebsocket: v.number().optional(),
91
- // The number of sync workers defaults to available-cores - 1.
92
- // It should be set to 0 for the `replication-manager`.
93
- numSyncWorkers: v.number().optional(),
94
- // In development, the `zero-cache` runs its own `replication-manager`
95
- // (i.e. `change-streamer`). In production, this URI should point to
96
- // to the `replication-manager`, which runs a `change-streamer`
97
- // on port 4849.
98
- changeStreamerConnStr: v.string().optional(),
99
- // Indicates that a `litestream replicate` process is backing up
100
- // the `replicatDbFile`. This should be the production configuration
101
- // for the `replication-manager`. It is okay to run this in
102
- // development too.
103
- litestream: v.boolean().optional(),
104
- jwtSecret: v.string().optional(),
105
- rateLimit: rateLimitConfigSchema.optional(),
106
- });
107
- export const zeroConfigSchema = zeroConfigBase.extend({
108
- authorization: authorizationConfigSchema.optional(),
109
- shard: shardConfigSchema,
110
- log: logConfigSchema,
111
- });
49
+ .default('info'),
50
+ format: {
51
+ type: v.union(v.literal('text'), v.literal('json')).default('text'),
52
+ desc: [
53
+ `Use {bold text} for developer-friendly console logging`,
54
+ `and {bold json} for consumption by structured-logging services`,
55
+ ],
56
+ },
57
+ };
58
+ const perUserMutationLimit = {
59
+ max: {
60
+ type: v.number().optional(),
61
+ desc: [
62
+ `The maximum mutations per user within the specified {bold windowMs}.`,
63
+ `If unset, no rate limiting is enforced.`,
64
+ ],
65
+ },
66
+ windowMs: {
67
+ type: v.number().default(60_000),
68
+ desc: [
69
+ `The sliding window over which the {bold perUserMutationLimitMax} is enforced.`,
70
+ ],
71
+ },
72
+ };
73
+ // Note: --help will list flags in the order in which they are defined here,
74
+ // so order the fields such that the important (e.g. required) ones are first.
75
+ // (Exported for testing)
76
+ export const zeroOptions = {
77
+ upstream: {
78
+ db: {
79
+ type: v.string(),
80
+ desc: [
81
+ `The "upstream" authoritative postgres database.`,
82
+ `In the future we will support other types of upstream besides PG.`,
83
+ ],
84
+ },
85
+ maxConns: {
86
+ type: v.number().default(20),
87
+ desc: [
88
+ `The maximum number of connections to open to the upstream database`,
89
+ `for committing mutations. This is divided evenly amongst sync workers.`,
90
+ `In addition to this number, zero-cache uses one connection for the`,
91
+ `replication stream.`,
92
+ ``,
93
+ `Note that this number must allow for at least one connection per`,
94
+ `sync worker, or zero-cache will fail to start. See {bold --numSyncWorkers}`,
95
+ ],
96
+ },
97
+ maxConnsPerWorker: {
98
+ type: v.number().optional(),
99
+ hidden: true, // Passed from main thread to sync workers
100
+ },
101
+ },
102
+ cvr: {
103
+ db: {
104
+ type: v.string(),
105
+ desc: [
106
+ `A separate Postgres database we use to store CVRs. CVRs (client view records)`,
107
+ `keep track of which clients have which data. This is how we know what diff to`,
108
+ `send on reconnect. It can be same database as above, but it makes most sense`,
109
+ `for it to be a separate "database" in the same postgres "cluster".`,
110
+ ],
111
+ },
112
+ maxConns: {
113
+ type: v.number().default(30),
114
+ desc: [
115
+ `The maximum number of connections to open to the CVR database.`,
116
+ `This is divided evenly amongst sync workers.`,
117
+ ``,
118
+ `Note that this number must allow for at least one connection per`,
119
+ `sync worker, or zero-cache will fail to start. See {bold --numSyncWorkers}`,
120
+ ],
121
+ },
122
+ maxConnsPerWorker: {
123
+ type: v.number().optional(),
124
+ hidden: true, // Passed from main thread to sync workers
125
+ },
126
+ },
127
+ change: {
128
+ db: {
129
+ type: v.string(),
130
+ desc: [`Yet another Postgres database, used to store a replication log.`],
131
+ },
132
+ maxConns: {
133
+ type: v.number().default(1),
134
+ desc: [
135
+ `The maximum number of connections to open to the change database.`,
136
+ `This is used by the {bold change-streamer} for catching up`,
137
+ `{bold zero-cache} replication subscriptions.`,
138
+ ],
139
+ },
140
+ },
141
+ replicaFile: {
142
+ type: v.string(),
143
+ desc: [
144
+ `File path to the SQLite replica that zero-cache maintains.`,
145
+ `This can be lost, but if it is, zero-cache will have to re-replicate next`,
146
+ `time it starts up.`,
147
+ ],
148
+ },
149
+ log: logOptions,
150
+ shard: shardOptions,
151
+ port: {
152
+ type: v.number().default(4848),
153
+ desc: [
154
+ `The main port for client connections.`,
155
+ `Internally, zero-cache will also listen on the 2 ports after {bold --port}.`,
156
+ ],
157
+ },
158
+ changeStreamerPort: {
159
+ type: v.number().optional(),
160
+ desc: [
161
+ `The port on which the {bold change-streamer} runs. This is an internal`,
162
+ `protocol between the {bold replication-manager} and {bold zero-cache}, which`,
163
+ `runs in the same process in local development.`,
164
+ ``,
165
+ `If unspecified, defaults to {bold --port} + 1.`,
166
+ ],
167
+ },
168
+ heartbeatMonitorPort: {
169
+ type: v.number().optional(),
170
+ desc: [
171
+ `The port on which the heartbeat monitor listens for heartbeat`,
172
+ `health checks. Once health checks are received at this port,`,
173
+ `the monitor considers it a keepalive signal and triggers a drain`,
174
+ `if health checks stop for more than 15 seconds. If health checks`,
175
+ `never arrive on this port, the monitor does nothing (i.e. opt-in).`,
176
+ ``,
177
+ `If unspecified, defaults to {bold --port} + 2.`,
178
+ ],
179
+ },
180
+ jwtSecret: {
181
+ type: v.string().optional(),
182
+ desc: [`JWT secret for verifying authentication tokens.`],
183
+ },
184
+ perUserMutationLimit,
185
+ numSyncWorkers: {
186
+ type: v.number().optional(),
187
+ desc: [
188
+ `The number of processes to use for view syncing.`,
189
+ `Leave this unset to use the maximum available parallelism.`,
190
+ `If set to 0, the server runs without sync workers, which is the`,
191
+ `configuration for running the {bold replication-manager}.`,
192
+ ],
193
+ },
194
+ changeStreamerURI: {
195
+ type: v.string().optional(),
196
+ desc: [
197
+ `When unset, the zero-cache runs its own {bold replication-manager}`,
198
+ `(i.e. {bold change-streamer}). In production, this should be set to`,
199
+ `the {bold replication-manager} URI, which runs a {bold change-streamer}`,
200
+ `on port 4849.`,
201
+ ],
202
+ },
203
+ autoReset: {
204
+ type: v.boolean().optional(),
205
+ desc: [
206
+ `Automatically wipe and resync the replica when replication is halted.`,
207
+ `This situation can occur for configurations in which the upstream database`,
208
+ `provider prohibits event trigger creation, preventing the zero-cache from`,
209
+ `being able to correctly replicating schema changes. For such configurations,`,
210
+ `an upstream schema change will instead result in halting replication with an`,
211
+ `error indicating that the replica needs to be reset.`,
212
+ ``,
213
+ `When {bold auto-reset} is enabled, zero-cache will respond to such situations`,
214
+ `by shutting down, and when restarted, resetting the replica and all synced `,
215
+ `clients. This is a heavy-weight operation and can result in user-visible`,
216
+ `slowness or downtime if compute resources are scarce.`,
217
+ ``,
218
+ `Moreover, {bold auto-reset} is only supported for single-node configurations`,
219
+ `with a permanent volume for the replica. Specifically, it is incompatible`,
220
+ `with the {bold litestream} option, and will be ignored with a warning if`,
221
+ `set in combination with {bold litestream}.`,
222
+ ],
223
+ },
224
+ litestream: {
225
+ type: v.boolean().optional(),
226
+ desc: [
227
+ `Indicates that a {bold litestream replicate} process is backing up the`,
228
+ `{bold replica-file}. This should be the production configuration for the`,
229
+ `{bold replication-manager}. It is okay to run this in development too.`,
230
+ ``,
231
+ `Note that this flag does actually run {bold litestream}; rather, it `,
232
+ `configures the internal replication logic to operate on the DB file in `,
233
+ `a manner that is compatible with {bold litestream}.`,
234
+ ],
235
+ },
236
+ storageDBTmpDir: {
237
+ type: v.string().optional(),
238
+ desc: [
239
+ `tmp directory for IVM operator storage. Leave unset to use os.tmpdir()`,
240
+ ],
241
+ },
242
+ warmWebsocket: {
243
+ type: v.number().optional(),
244
+ hidden: true, // for internal experimentation
245
+ },
246
+ };
247
+ const ENV_VAR_PREFIX = 'ZERO_';
112
248
  let loadedConfig;
113
- export function getZeroConfig() {
114
- if (loadedConfig) {
115
- return loadedConfig;
249
+ export function getZeroConfig(argv = process.argv.slice(2)) {
250
+ if (!loadedConfig) {
251
+ const config = parseOptions(zeroOptions, argv, ENV_VAR_PREFIX);
252
+ loadedConfig = config;
116
253
  }
117
- const dirname = path.dirname(fileURLToPath(import.meta.url));
118
- const configFile = process.env['ZERO_CONFIG_PATH'] ?? './zero.config.ts';
119
- const absoluteConfigPath = path.resolve(configFile);
120
- const relativePath = path.join(path.relative(dirname, path.dirname(absoluteConfigPath)), path.basename(absoluteConfigPath));
121
- loadedConfig = tsImport(relativePath, import.meta.url)
122
- .then(async (module) => (await module.default))
123
- .catch(e => {
124
- console.error(`Failed to load zero config from ${absoluteConfigPath}: ${e}`);
125
- throw e;
126
- });
127
254
  return loadedConfig;
128
255
  }
129
256
  //# sourceMappingURL=zero-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zero-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zero-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function deleteLiteDB(dbFile: string): void;
2
+ //# sourceMappingURL=delete-lite-db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-lite-db.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/delete-lite-db.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,QAI1C"}
@@ -0,0 +1,7 @@
1
+ import { rmSync } from 'fs';
2
+ export function deleteLiteDB(dbFile) {
3
+ for (const suffix of ['', '-wal', '-wal2', '-shm']) {
4
+ rmSync(`${dbFile}${suffix}`, { force: true });
5
+ }
6
+ }
7
+ //# sourceMappingURL=delete-lite-db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-lite-db.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/delete-lite-db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,IAAI,CAAC;AAE1B,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,KAAK,MAAM,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
@@ -74,6 +74,7 @@ export declare const versionHistory: v.ObjectType<{
74
74
  minSafeVersion: v.Type<number>;
75
75
  }, undefined>;
76
76
  export type VersionHistory = v.Infer<typeof versionHistory>;
77
+ export declare function createVersionHistoryTable(sql: postgres.Sql, schemaName: string): Promise<void>;
77
78
  export declare function getVersionHistory(sql: postgres.Sql, schemaName: string): Promise<VersionHistory>;
78
79
  export {};
79
80
  //# sourceMappingURL=migration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAGrC,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAEpE,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9E;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,UAAU,CAAC;IAE3B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,SAAS,EACzB,uBAAuB,EAAE,uBAAuB,GAC/C,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAaD,eAAO,MAAM,cAAc;IACzB;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;OAIG;;aAEH,CAAC;AAGH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAG5D,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAsBzB"}
1
+ {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAGrC,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAEpE,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9E;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,UAAU,CAAC;IAE3B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,SAAS,EACzB,uBAAuB,EAAE,uBAAuB,GAC/C,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAaD,eAAO,MAAM,cAAc;IACzB;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;OAIG;;aAEH,CAAC;AAGH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAG5D,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,UAAU,EAAE,MAAM,iBAcnB;AAGD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAiBzB"}
@@ -88,10 +88,10 @@ export const versionHistory = v.object({
88
88
  */
89
89
  minSafeVersion: v.number(),
90
90
  });
91
- // Exposed for tests
92
- export async function getVersionHistory(sql, schemaName) {
91
+ // Exposed for tests.
92
+ export async function createVersionHistoryTable(sql, schemaName) {
93
93
  // Note: The `lock` column transparently ensures that at most one row exists.
94
- const results = await sql `
94
+ await sql `
95
95
  CREATE SCHEMA IF NOT EXISTS ${sql(schemaName)};
96
96
  CREATE TABLE IF NOT EXISTS ${sql(schemaName)}."versionHistory" (
97
97
  "dataVersion" int NOT NULL,
@@ -101,10 +101,20 @@ export async function getVersionHistory(sql, schemaName) {
101
101
  lock char(1) NOT NULL CONSTRAINT DF_schema_meta_lock DEFAULT 'v',
102
102
  CONSTRAINT PK_schema_meta_lock PRIMARY KEY (lock),
103
103
  CONSTRAINT CK_schema_meta_lock CHECK (lock='v')
104
- );
105
- SELECT "dataVersion", "schemaVersion", "minSafeVersion" FROM ${sql(schemaName)}."versionHistory";
106
- `.simple();
107
- const rows = results[1];
104
+ );`.simple();
105
+ }
106
+ // Exposed for tests
107
+ export async function getVersionHistory(sql, schemaName) {
108
+ const exists = await sql `
109
+ SELECT nspname, relname FROM pg_class
110
+ JOIN pg_namespace ON relnamespace = pg_namespace.oid
111
+ WHERE nspname = ${schemaName} AND relname = ${'versionHistory'}`;
112
+ if (exists.length === 0) {
113
+ await createVersionHistoryTable(sql, schemaName);
114
+ }
115
+ const rows = await sql `
116
+ SELECT "dataVersion", "schemaVersion", "minSafeVersion"
117
+ FROM ${sql(schemaName)}."versionHistory"`;
108
118
  if (rows.length === 0) {
109
119
  return { schemaVersion: 0, dataVersion: 0, minSafeVersion: 0 };
110
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/migration.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export declare function warnIfDataTypeSupported(lc: LogContext, pgDataType: stri
5
5
  export declare function mapPostgresToLiteColumn(table: string, column: {
6
6
  name: string;
7
7
  spec: ColumnSpec;
8
- }): ColumnSpec;
8
+ }, ignoreDefault?: 'ignore-default'): ColumnSpec;
9
9
  export declare function mapPostgresToLite(t: TableSpec): LiteTableSpec;
10
10
  export declare function mapPostgresToLiteIndex(index: IndexSpec): LiteIndexSpec;
11
11
  //# sourceMappingURL=pg-to-lite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pg-to-lite.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/pg-to-lite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,wBAAwB,EAAE,UAMtC,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QAQf;AAqCD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,GACvC,UAAU,CASZ;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,aAAa,CAgB7D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAOtE"}
1
+ {"version":3,"file":"pg-to-lite.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/pg-to-lite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,wBAAwB,EAAE,UAMtC,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QAQf;AAqCD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,EACxC,aAAa,CAAC,EAAE,gBAAgB,GAC/B,UAAU,CAYZ;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,aAAa,CAkB7D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAOtE"}
@@ -39,14 +39,16 @@ function mapPostgresToLiteDefault(table, column, dataType, defaultExpression) {
39
39
  }
40
40
  return match[1];
41
41
  }
42
- export function mapPostgresToLiteColumn(table, column) {
42
+ export function mapPostgresToLiteColumn(table, column, ignoreDefault) {
43
43
  const { pos, dataType, notNull, dflt } = column.spec;
44
44
  return {
45
45
  pos,
46
46
  dataType,
47
47
  characterMaximumLength: null,
48
48
  notNull,
49
- dflt: mapPostgresToLiteDefault(table, column.name, dataType, dflt),
49
+ dflt: ignoreDefault === 'ignore-default'
50
+ ? null
51
+ : mapPostgresToLiteDefault(table, column.name, dataType, dflt),
50
52
  };
51
53
  }
52
54
  export function mapPostgresToLite(t) {
@@ -58,7 +60,9 @@ export function mapPostgresToLite(t) {
58
60
  columns: {
59
61
  ...Object.fromEntries(Object.entries(t.columns).map(([col, spec]) => [
60
62
  col,
61
- mapPostgresToLiteColumn(name, { name: col, spec }),
63
+ // `ignore-default` for create table statements because
64
+ // there are no rows to set the default for.
65
+ mapPostgresToLiteColumn(name, { name: col, spec }, 'ignore-default'),
62
66
  ])),
63
67
  [ZERO_VERSION_COLUMN_NAME]: ZERO_VERSION_COLUMN_SPEC,
64
68
  },
@@ -1 +1 @@
1
- {"version":3,"file":"pg-to-lite.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/pg-to-lite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pg-to-lite.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/pg-to-lite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { LogContext } from '@rocicorp/logger';
2
+ import { type PostgresDB } from '../types/pg.js';
3
+ /**
4
+ * Manages on-demand short-lived connections to a DB, shutting down after
5
+ * an idle delay.
6
+ */
7
+ export declare class ShortLivedClient {
8
+ #private;
9
+ constructor(lc: LogContext, dbConnStr: string, appName: string, idleDelay?: number);
10
+ /**
11
+ * Get (or refresh) an upstream DB client that automatically closes
12
+ * after being idle for 10 seconds.
13
+ */
14
+ get db(): PostgresDB;
15
+ }
16
+ //# sourceMappingURL=short-lived-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"short-lived-client.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/short-lived-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAW,KAAK,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,gBAAgB;;gBAUzB,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,SAAS;IAQpB;;;OAGG;IACH,IAAI,EAAE,IAAI,UAAU,CAuBnB;CACF"}