@rocicorp/zero 0.24.2025100900 → 0.24.2025101403

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 (351) hide show
  1. package/out/analyze-query/src/bin-analyze.d.ts.map +1 -1
  2. package/out/analyze-query/src/bin-analyze.js +5 -4
  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/run-ast.d.ts.map +1 -1
  8. package/out/analyze-query/src/run-ast.js +12 -4
  9. package/out/analyze-query/src/run-ast.js.map +1 -1
  10. package/out/ast-to-zql/src/ast-to-zql.js +1 -1
  11. package/out/ast-to-zql/src/ast-to-zql.js.map +1 -1
  12. package/out/ast-to-zql/src/bin.js +1 -1
  13. package/out/ast-to-zql/src/format.js +1 -1
  14. package/out/{chunk-2MVN6X6T.js → chunk-5OBZ7D27.js} +4546 -178
  15. package/out/chunk-5OBZ7D27.js.map +7 -0
  16. package/out/{chunk-IQYQOLDZ.js → chunk-ACPVJXLI.js} +16 -9
  17. package/out/chunk-ACPVJXLI.js.map +7 -0
  18. package/out/{chunk-X7SAVR5O.js → chunk-ECUMGQGC.js} +3 -3
  19. package/out/{chunk-X7SAVR5O.js.map → chunk-ECUMGQGC.js.map} +1 -1
  20. package/out/{chunk-SGW2EIVJ.js → chunk-EZM3XBAB.js} +1 -1
  21. package/out/{chunk-SGW2EIVJ.js.map → chunk-EZM3XBAB.js.map} +2 -2
  22. package/out/chunk-VHLCXJ6Q.js +4124 -0
  23. package/out/chunk-VHLCXJ6Q.js.map +7 -0
  24. package/out/{chunk-O7W55FT4.js → chunk-VZOYWIRW.js} +1 -1
  25. package/out/chunk-VZOYWIRW.js.map +7 -0
  26. package/out/{inspector-YIRP3TTL.js → inspector-IU2HG74I.js} +2 -2
  27. package/out/{lazy-inspector-A5VQLZYJ.js → lazy-inspector-NCBESZMS.js} +22 -4
  28. package/out/lazy-inspector-NCBESZMS.js.map +7 -0
  29. package/out/react-native.js +3 -73
  30. package/out/react-native.js.map +4 -4
  31. package/out/react.js +6 -6
  32. package/out/react.js.map +2 -2
  33. package/out/replicache/src/btree/read.d.ts.map +1 -1
  34. package/out/replicache/src/btree/write.d.ts.map +1 -1
  35. package/out/replicache/src/call-default-fetch.d.ts.map +1 -1
  36. package/out/replicache/src/dag/key-type-enum.d.ts.map +1 -1
  37. package/out/replicache/src/dag/lazy-store.d.ts.map +1 -1
  38. package/out/replicache/src/db/index-operation-enum.d.ts.map +1 -1
  39. package/out/replicache/src/db/meta-type-enum.d.ts.map +1 -1
  40. package/out/replicache/src/format-version-enum.d.ts.map +1 -1
  41. package/out/replicache/src/get-default-puller.d.ts.map +1 -1
  42. package/out/replicache/src/invoke-kind-enum.d.ts.map +1 -1
  43. package/out/replicache/src/persist/gather-not-cached-visitor.d.ts.map +1 -1
  44. package/out/replicache/src/process-scheduler.d.ts.map +1 -1
  45. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  46. package/out/replicache/src/sync/handle-pull-response-result-type-enum.d.ts.map +1 -1
  47. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  48. package/out/replicache/src/transactions.d.ts +1 -1
  49. package/out/replicache/src/transactions.d.ts.map +1 -1
  50. package/out/shared/src/bigint-json.d.ts.map +1 -1
  51. package/out/shared/src/bigint-json.js +1 -2
  52. package/out/shared/src/bigint-json.js.map +1 -1
  53. package/out/shared/src/btree-set.js +3 -5
  54. package/out/shared/src/btree-set.js.map +1 -1
  55. package/out/shared/src/config.d.ts.map +1 -1
  56. package/out/shared/src/config.js.map +1 -1
  57. package/out/shared/src/custom-key-map.js +1 -1
  58. package/out/shared/src/custom-key-set.js +1 -1
  59. package/out/shared/src/deep-merge.d.ts +1 -1
  60. package/out/shared/src/deep-merge.d.ts.map +1 -1
  61. package/out/shared/src/json.js +1 -1
  62. package/out/shared/src/logging.d.ts +1 -1
  63. package/out/shared/src/logging.d.ts.map +1 -1
  64. package/out/shared/src/logging.js +2 -2
  65. package/out/shared/src/logging.js.map +1 -1
  66. package/out/shared/src/must.js +1 -1
  67. package/out/shared/src/options.js +1 -1
  68. package/out/shared/src/size-of-value.d.ts.map +1 -0
  69. package/out/shared/src/valita.d.ts.map +1 -1
  70. package/out/shared/src/valita.js +1 -2
  71. package/out/shared/src/valita.js.map +1 -1
  72. package/out/solid.js +8 -8
  73. package/out/solid.js.map +2 -2
  74. package/out/sqlite.js +2 -2
  75. package/out/z2s/src/compiler.d.ts +1 -1
  76. package/out/z2s/src/compiler.d.ts.map +1 -1
  77. package/out/z2s/src/compiler.js +2 -2
  78. package/out/z2s/src/compiler.js.map +1 -1
  79. package/out/zero/package.json +8 -7
  80. package/out/zero/src/build-schema.js +1 -1
  81. package/out/zero/src/change-protocol/v0.js +1 -1
  82. package/out/zero/src/pg.js +1 -1
  83. package/out/zero/src/server.js +1 -1
  84. package/out/zero/src/zero-cache-dev.d.ts.map +1 -1
  85. package/out/zero/src/zero-cache-dev.js +1 -3
  86. package/out/zero/src/zero-cache-dev.js.map +1 -1
  87. package/out/zero/src/zqlite.js +1 -1
  88. package/out/zero-cache/src/auth/write-authorizer.js +1 -1
  89. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  90. package/out/zero-cache/src/config/zero-config.js +1 -0
  91. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  92. package/out/zero-cache/src/db/pg-copy.d.ts.map +1 -1
  93. package/out/zero-cache/src/db/pg-copy.js +0 -1
  94. package/out/zero-cache/src/db/pg-copy.js.map +1 -1
  95. package/out/zero-cache/src/db/postgres-replica-identity-enum.d.ts.map +1 -1
  96. package/out/zero-cache/src/db/postgres-replica-identity-enum.js +0 -1
  97. package/out/zero-cache/src/db/postgres-replica-identity-enum.js.map +1 -1
  98. package/out/zero-cache/src/db/postgres-type-class-enum.d.ts.map +1 -1
  99. package/out/zero-cache/src/db/postgres-type-class-enum.js +0 -1
  100. package/out/zero-cache/src/db/postgres-type-class-enum.js.map +1 -1
  101. package/out/zero-cache/src/db/statements.js +2 -2
  102. package/out/zero-cache/src/scripts/deploy-permissions.d.ts.map +1 -1
  103. package/out/zero-cache/src/scripts/deploy-permissions.js +1 -1
  104. package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
  105. package/out/zero-cache/src/server/inspector-delegate.d.ts +10 -0
  106. package/out/zero-cache/src/server/inspector-delegate.d.ts.map +1 -1
  107. package/out/zero-cache/src/server/inspector-delegate.js +33 -0
  108. package/out/zero-cache/src/server/inspector-delegate.js.map +1 -1
  109. package/out/zero-cache/src/server/runner/main.d.ts.map +1 -1
  110. package/out/zero-cache/src/server/runner/main.js.map +1 -1
  111. package/out/zero-cache/src/server/runner/run-worker.d.ts.map +1 -1
  112. package/out/zero-cache/src/server/runner/run-worker.js +1 -1
  113. package/out/zero-cache/src/server/runner/run-worker.js.map +1 -1
  114. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  115. package/out/zero-cache/src/server/syncer.js +8 -3
  116. package/out/zero-cache/src/server/syncer.js.map +1 -1
  117. package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
  118. package/out/zero-cache/src/services/analyze.js +3 -3
  119. package/out/zero-cache/src/services/analyze.js.map +1 -1
  120. package/out/zero-cache/src/services/change-source/pg/change-source.js +1 -1
  121. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  122. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +0 -1
  123. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  124. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +1 -1
  125. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js +0 -1
  126. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -1
  127. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js +1 -1
  128. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.js +1 -1
  129. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +6 -5
  130. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  131. package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts.map +1 -1
  132. package/out/zero-cache/src/services/change-streamer/error-type-enum.js +0 -1
  133. package/out/zero-cache/src/services/change-streamer/error-type-enum.js.map +1 -1
  134. package/out/zero-cache/src/services/change-streamer/schema/init.js +1 -1
  135. package/out/zero-cache/src/services/change-streamer/storer.d.ts +1 -1
  136. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  137. package/out/zero-cache/src/services/change-streamer/storer.js +26 -22
  138. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  139. package/out/zero-cache/src/services/life-cycle.js +2 -2
  140. package/out/zero-cache/src/services/mutagen/pusher.d.ts +52 -36
  141. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
  142. package/out/zero-cache/src/services/replicator/replication-status.js +0 -2
  143. package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -1
  144. package/out/zero-cache/src/services/run-ast.d.ts +21 -0
  145. package/out/zero-cache/src/services/run-ast.d.ts.map +1 -0
  146. package/out/zero-cache/src/services/run-ast.js +93 -0
  147. package/out/zero-cache/src/services/run-ast.js.map +1 -0
  148. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +10 -0
  149. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +1 -0
  150. package/out/zero-cache/src/services/view-syncer/inspect-handler.js +95 -0
  151. package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -0
  152. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  153. package/out/zero-cache/src/services/view-syncer/snapshotter.js +1 -1
  154. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  155. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +6 -5
  156. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  157. package/out/zero-cache/src/services/view-syncer/view-syncer.js +62 -118
  158. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  159. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  160. package/out/zero-cache/src/workers/replicator.js +0 -2
  161. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  162. package/out/zero-client/src/client/connection-state-enum.d.ts.map +1 -1
  163. package/out/zero-client/src/client/crud.d.ts +1 -1
  164. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  165. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  166. package/out/zero-client/src/client/inspector/inspector.d.ts +4 -0
  167. package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
  168. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts +4 -1
  169. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts.map +1 -1
  170. package/out/zero-client/src/client/metric-name-enum.d.ts.map +1 -1
  171. package/out/zero-client/src/client/ping-result-enum.d.ts.map +1 -1
  172. package/out/zero-client/src/client/update-needed-reason-type-enum.d.ts.map +1 -1
  173. package/out/zero-client/src/client/zero-log-context.d.ts.map +1 -1
  174. package/out/zero-client/src/client/zero.d.ts +4 -4
  175. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  176. package/out/zero-client/src/mod.d.ts +1 -1
  177. package/out/zero-client/src/mod.d.ts.map +1 -1
  178. package/out/zero-events/src/index.d.ts +4 -6
  179. package/out/zero-events/src/index.d.ts.map +1 -1
  180. package/out/zero-events/src/index.js +1 -27
  181. package/out/zero-events/src/index.js.map +1 -1
  182. package/out/zero-events/src/status.d.ts +43 -111
  183. package/out/zero-events/src/status.d.ts.map +1 -1
  184. package/out/zero-events/src/status.js +2 -73
  185. package/out/zero-events/src/status.js.map +1 -1
  186. package/out/zero-events/src/util.d.ts +26 -0
  187. package/out/zero-events/src/util.d.ts.map +1 -0
  188. package/out/zero-events/src/util.js +2 -0
  189. package/out/zero-events/src/util.js.map +1 -0
  190. package/out/zero-pg/src/mod.d.ts.map +1 -1
  191. package/out/zero-pg/src/mod.js +1 -1
  192. package/out/zero-pg/src/mod.js.map +1 -1
  193. package/out/zero-protocol/src/analyze-query-result.d.ts +7 -0
  194. package/out/zero-protocol/src/analyze-query-result.d.ts.map +1 -1
  195. package/out/zero-protocol/src/analyze-query-result.js +7 -0
  196. package/out/zero-protocol/src/analyze-query-result.js.map +1 -1
  197. package/out/zero-protocol/src/ast.d.ts +2 -1
  198. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  199. package/out/zero-protocol/src/ast.js +1 -0
  200. package/out/zero-protocol/src/ast.js.map +1 -1
  201. package/out/zero-protocol/src/down.d.ts +9 -0
  202. package/out/zero-protocol/src/down.d.ts.map +1 -1
  203. package/out/zero-protocol/src/error-kind-enum.d.ts.map +1 -1
  204. package/out/zero-protocol/src/error-kind-enum.js +0 -1
  205. package/out/zero-protocol/src/error-kind-enum.js.map +1 -1
  206. package/out/zero-protocol/src/inspect-down.d.ts +29 -0
  207. package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
  208. package/out/zero-protocol/src/inspect-down.js +5 -1
  209. package/out/zero-protocol/src/inspect-down.js.map +1 -1
  210. package/out/zero-protocol/src/inspect-up.d.ts +18 -6
  211. package/out/zero-protocol/src/inspect-up.d.ts.map +1 -1
  212. package/out/zero-protocol/src/inspect-up.js +6 -1
  213. package/out/zero-protocol/src/inspect-up.js.map +1 -1
  214. package/out/zero-protocol/src/mutation-type-enum.d.ts.map +1 -1
  215. package/out/zero-protocol/src/mutation-type-enum.js +0 -1
  216. package/out/zero-protocol/src/mutation-type-enum.js.map +1 -1
  217. package/out/zero-protocol/src/protocol-version.d.ts +1 -1
  218. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  219. package/out/zero-protocol/src/protocol-version.js +4 -1
  220. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  221. package/out/zero-protocol/src/push.d.ts +1 -1
  222. package/out/zero-protocol/src/push.d.ts.map +1 -1
  223. package/out/zero-protocol/src/up.d.ts +5 -2
  224. package/out/zero-protocol/src/up.d.ts.map +1 -1
  225. package/out/zero-react/src/components/mark-icon.d.ts.map +1 -1
  226. package/out/zero-react/src/components/zero-inspector.d.ts.map +1 -1
  227. package/out/zero-react/src/use-query.d.ts.map +1 -1
  228. package/out/zero-react/src/zero-provider.d.ts +2 -2
  229. package/out/zero-react/src/zero-provider.d.ts.map +1 -1
  230. package/out/zero-react-native/src/mod.d.ts +0 -1
  231. package/out/zero-react-native/src/mod.d.ts.map +1 -1
  232. package/out/zero-schema/src/builder/schema-builder.d.ts +3 -25
  233. package/out/zero-schema/src/builder/schema-builder.d.ts.map +1 -1
  234. package/out/zero-schema/src/builder/schema-builder.js +1 -1
  235. package/out/zero-schema/src/builder/schema-builder.js.map +1 -1
  236. package/out/zero-schema/src/builder/table-builder.js +1 -1
  237. package/out/zero-schema/src/name-mapper.d.ts +2 -19
  238. package/out/zero-schema/src/name-mapper.d.ts.map +1 -1
  239. package/out/zero-schema/src/name-mapper.js +2 -44
  240. package/out/zero-schema/src/name-mapper.js.map +1 -1
  241. package/out/zero-schema/src/permissions.d.ts +1 -0
  242. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  243. package/out/zero-schema/src/schema-config.d.ts +1 -1
  244. package/out/zero-schema/src/schema-config.js +2 -2
  245. package/out/zero-schema/src/table-schema.d.ts +3 -55
  246. package/out/zero-schema/src/table-schema.d.ts.map +1 -1
  247. package/out/zero-schema/src/table-schema.js +0 -6
  248. package/out/zero-schema/src/table-schema.js.map +1 -1
  249. package/out/zero-server/src/adapters/drizzle.d.ts.map +1 -1
  250. package/out/zero-server/src/adapters/drizzle.js +3 -1
  251. package/out/zero-server/src/adapters/drizzle.js.map +1 -1
  252. package/out/zero-server/src/custom.d.ts +1 -1
  253. package/out/zero-server/src/custom.d.ts.map +1 -1
  254. package/out/zero-server/src/custom.js +1 -1
  255. package/out/zero-server/src/custom.js.map +1 -1
  256. package/out/zero-server/src/process-mutations.d.ts +3 -3
  257. package/out/zero-server/src/process-mutations.d.ts.map +1 -1
  258. package/out/zero-server/src/process-mutations.js +4 -4
  259. package/out/zero-server/src/process-mutations.js.map +1 -1
  260. package/out/zero-server/src/query.d.ts +2 -2
  261. package/out/zero-server/src/query.d.ts.map +1 -1
  262. package/out/zero-server/src/query.js +2 -1
  263. package/out/zero-server/src/query.js.map +1 -1
  264. package/out/zero-server/src/zql-database.d.ts +1 -1
  265. package/out/zero-server/src/zql-database.d.ts.map +1 -1
  266. package/out/zero-server/src/zql-database.js +10 -0
  267. package/out/zero-server/src/zql-database.js.map +1 -1
  268. package/out/zero-solid/src/use-query.d.ts +3 -1
  269. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  270. package/out/zero-solid/src/use-zero.d.ts +4 -1
  271. package/out/zero-solid/src/use-zero.d.ts.map +1 -1
  272. package/out/zero-types/src/format.d.ts +11 -0
  273. package/out/zero-types/src/format.d.ts.map +1 -0
  274. package/out/zero-types/src/format.js +5 -0
  275. package/out/zero-types/src/format.js.map +1 -0
  276. package/out/zero-types/src/name-mapper.d.ts +19 -0
  277. package/out/zero-types/src/name-mapper.d.ts.map +1 -0
  278. package/out/zero-types/src/name-mapper.js +45 -0
  279. package/out/zero-types/src/name-mapper.js.map +1 -0
  280. package/out/zero-types/src/schema-value.d.ts +36 -0
  281. package/out/zero-types/src/schema-value.d.ts.map +1 -0
  282. package/out/zero-types/src/schema-value.js +2 -0
  283. package/out/zero-types/src/schema-value.js.map +1 -0
  284. package/out/zero-types/src/schema.d.ts +54 -0
  285. package/out/zero-types/src/schema.d.ts.map +1 -0
  286. package/out/zero-types/src/schema.js +2 -0
  287. package/out/zero-types/src/schema.js.map +1 -0
  288. package/out/zero.js +5 -6
  289. package/out/zql/src/builder/builder.js +2 -2
  290. package/out/zql/src/ivm/data.js +1 -1
  291. package/out/zql/src/ivm/default-format.d.ts +2 -0
  292. package/out/zql/src/ivm/default-format.d.ts.map +1 -0
  293. package/out/zql/src/ivm/default-format.js +2 -0
  294. package/out/zql/src/ivm/default-format.js.map +1 -0
  295. package/out/zql/src/ivm/flipped-join.d.ts.map +1 -1
  296. package/out/zql/src/ivm/flipped-join.js +16 -1
  297. package/out/zql/src/ivm/flipped-join.js.map +1 -1
  298. package/out/zql/src/ivm/memory-source.d.ts +2 -2
  299. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  300. package/out/zql/src/ivm/memory-source.js +2 -2
  301. package/out/zql/src/ivm/memory-source.js.map +1 -1
  302. package/out/zql/src/ivm/schema.d.ts +1 -1
  303. package/out/zql/src/ivm/schema.d.ts.map +1 -1
  304. package/out/zql/src/ivm/view.d.ts +3 -5
  305. package/out/zql/src/ivm/view.d.ts.map +1 -1
  306. package/out/zql/src/mutate/custom.d.ts +2 -2
  307. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  308. package/out/zql/src/mutate/custom.js.map +1 -1
  309. package/out/zql/src/query/expression.d.ts +1 -1
  310. package/out/zql/src/query/expression.d.ts.map +1 -1
  311. package/out/zql/src/query/expression.js +1 -1
  312. package/out/zql/src/query/named.d.ts +2 -3
  313. package/out/zql/src/query/named.d.ts.map +1 -1
  314. package/out/zql/src/query/named.js.map +1 -1
  315. package/out/zql/src/query/query-delegate.d.ts +1 -1
  316. package/out/zql/src/query/query-delegate.d.ts.map +1 -1
  317. package/out/zql/src/query/query-impl.d.ts +4 -10
  318. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  319. package/out/zql/src/query/query-impl.js +14 -22
  320. package/out/zql/src/query/query-impl.js.map +1 -1
  321. package/out/zql/src/query/query.d.ts +7 -5
  322. package/out/zql/src/query/query.d.ts.map +1 -1
  323. package/out/zql/src/query/query.js.map +1 -1
  324. package/out/zql/src/query/static-query.d.ts +1 -1
  325. package/out/zql/src/query/static-query.d.ts.map +1 -1
  326. package/out/zql/src/query/static-query.js +2 -1
  327. package/out/zql/src/query/static-query.js.map +1 -1
  328. package/out/zqlite/src/db.js +7 -17
  329. package/out/zqlite/src/db.js.map +1 -1
  330. package/out/zqlite/src/explain-queries.d.ts +4 -0
  331. package/out/zqlite/src/explain-queries.d.ts.map +1 -0
  332. package/out/zqlite/src/explain-queries.js +18 -0
  333. package/out/zqlite/src/explain-queries.js.map +1 -0
  334. package/out/zqlite/src/mod.d.ts +2 -1
  335. package/out/zqlite/src/mod.d.ts.map +1 -1
  336. package/out/zqlite/src/mod.js +2 -1
  337. package/out/zqlite/src/mod.js.map +1 -1
  338. package/package.json +8 -7
  339. package/out/chunk-2MVN6X6T.js.map +0 -7
  340. package/out/chunk-IQYQOLDZ.js.map +0 -7
  341. package/out/chunk-O7W55FT4.js.map +0 -7
  342. package/out/chunk-YXYKEMHQ.js +0 -8491
  343. package/out/chunk-YXYKEMHQ.js.map +0 -7
  344. package/out/lazy-inspector-A5VQLZYJ.js.map +0 -7
  345. package/out/replicache/src/kv/op-sqlite/store.d.ts +0 -14
  346. package/out/replicache/src/kv/op-sqlite/store.d.ts.map +0 -1
  347. package/out/replicache/src/kv/op-sqlite/types.d.ts +0 -13
  348. package/out/replicache/src/kv/op-sqlite/types.d.ts.map +0 -1
  349. package/out/replicache/src/size-of-value.d.ts.map +0 -1
  350. /package/out/{inspector-YIRP3TTL.js.map → inspector-IU2HG74I.js.map} +0 -0
  351. /package/out/{replicache → shared}/src/size-of-value.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"snapshotter.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/snapshotter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshotter.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/snapshotter.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import type { DeleteClientsMessage } from '../../../../zero-protocol/src/delete-
6
6
  import type { Downstream } from '../../../../zero-protocol/src/down.ts';
7
7
  import type { InspectUpMessage } from '../../../../zero-protocol/src/inspect-up.ts';
8
8
  import type { NormalizedZeroConfig } from '../../config/normalize.ts';
9
+ import { CustomQueryTransformer } from '../../custom-queries/transform-query.ts';
9
10
  import { InspectorDelegate } from '../../server/inspector-delegate.ts';
10
11
  import type { PostgresDB } from '../../types/pg.ts';
11
12
  import type { ShardID } from '../../types/shards.ts';
@@ -52,7 +53,7 @@ export declare class ViewSyncerService implements ViewSyncer, ActivityBasedServi
52
53
  #private;
53
54
  readonly id: string;
54
55
  userQueryURL?: string | undefined;
55
- constructor(config: NormalizedZeroConfig, lc: LogContext, shard: ShardID, taskID: string, clientGroupID: string, cvrDb: PostgresDB, upstreamDb: PostgresDB | undefined, pipelineDriver: PipelineDriver, versionChanges: Subscription<ReplicaState>, drainCoordinator: DrainCoordinator, slowHydrateThreshold: number, inspectorDelegate: InspectorDelegate, keepaliveMs?: number, setTimeoutFn?: SetTimeout);
56
+ constructor(config: NormalizedZeroConfig, lc: LogContext, shard: ShardID, taskID: string, clientGroupID: string, cvrDb: PostgresDB, upstreamDb: PostgresDB | undefined, pipelineDriver: PipelineDriver, versionChanges: Subscription<ReplicaState>, drainCoordinator: DrainCoordinator, slowHydrateThreshold: number, inspectorDelegate: InspectorDelegate, customQueryTransformer: CustomQueryTransformer | undefined, keepaliveMs?: number, setTimeoutFn?: SetTimeout);
56
57
  run(): Promise<void>;
57
58
  /**
58
59
  * Guarantees that the ViewSyncer will remain running for at least
@@ -71,12 +72,12 @@ export declare class ViewSyncerService implements ViewSyncer, ActivityBasedServi
71
72
  stop(): Promise<void>;
72
73
  }
73
74
  export declare function pickToken(lc: LogContext, previousToken: TokenData | undefined, newToken: TokenData | undefined): TokenData | undefined;
74
- export declare class Timer {
75
+ export declare class TimeSliceTimer {
75
76
  #private;
76
- start(): this;
77
- startLap(): void;
77
+ start(): Promise<this>;
78
+ startWithoutYielding(): this;
79
+ yieldProcess(): Promise<void>;
78
80
  elapsedLap(): number;
79
- stopLap(): void;
80
81
  /** @returns the total elapsed time */
81
82
  stop(): number;
82
83
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"view-syncer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/view-syncer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-syncer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/view-syncer.ts"],"names":[],"mappings":"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"}
@@ -12,18 +12,17 @@ import { randInt } from "../../../../shared/src/rand.js";
12
12
  import { ErrorKind } from "../../../../zero-protocol/src/error-kind.js";
13
13
  import { clampTTL, MAX_TTL_MS } from "../../../../zql/src/query/ttl.js";
14
14
  import { transformAndHashQuery, } from "../../auth/read-authorizer.js";
15
- import { getServerVersion, isAdminPasswordValid, } from "../../config/zero-config.js";
16
15
  import { CustomQueryTransformer } from "../../custom-queries/transform-query.js";
17
16
  import { getOrCreateCounter, getOrCreateHistogram, getOrCreateUpDownCounter, } from "../../observability/metrics.js";
18
17
  import { InspectorDelegate } from "../../server/inspector-delegate.js";
19
18
  import { ErrorForClient, getLogLevel } from "../../types/error-for-client.js";
20
19
  import { rowIDString } from "../../types/row-key.js";
21
20
  import { Subscription } from "../../types/subscription.js";
22
- import { analyzeQuery } from "../analyze.js";
23
21
  import { ZERO_VERSION_COLUMN_NAME } from "../replicator/schema/replication-state.js";
24
22
  import { ClientHandler, startPoke, } from "./client-handler.js";
25
23
  import { CVRStore } from "./cvr-store.js";
26
24
  import { CVRConfigDrivenUpdater, CVRQueryDrivenUpdater, CVRUpdater, nextEvictionTime, } from "./cvr.js";
25
+ import { handleInspect } from "./inspect-handler.js";
27
26
  import { PipelineDriver } from "./pipeline-driver.js";
28
27
  import { cmpVersions, EMPTY_CVR_VERSION, versionFromString, versionString, versionToCookie, } from "./schema/types.js";
29
28
  import { ResetPipelinesSignal } from "./snapshotter.js";
@@ -100,6 +99,8 @@ export class ViewSyncerService {
100
99
  // DEPRECATED: remove `authData` in favor of forwarding
101
100
  // auth and cookie headers directly
102
101
  #authData;
102
+ // Not sure why lint can't see that this is used?
103
+ // oxlint-disable-next-line no-unused-private-class-members
103
104
  #httpCookie;
104
105
  #expiredQueriesTimer = 0;
105
106
  #setTimeout;
@@ -116,7 +117,7 @@ export class ViewSyncerService {
116
117
  });
117
118
  #inspectorDelegate;
118
119
  #config;
119
- constructor(config, lc, shard, taskID, clientGroupID, cvrDb, upstreamDb, pipelineDriver, versionChanges, drainCoordinator, slowHydrateThreshold, inspectorDelegate, keepaliveMs = DEFAULT_KEEPALIVE_MS, setTimeoutFn = setTimeout.bind(globalThis)) {
120
+ constructor(config, lc, shard, taskID, clientGroupID, cvrDb, upstreamDb, pipelineDriver, versionChanges, drainCoordinator, slowHydrateThreshold, inspectorDelegate, customQueryTransformer, keepaliveMs = DEFAULT_KEEPALIVE_MS, setTimeoutFn = setTimeout.bind(globalThis)) {
120
121
  const { getQueries: pullConfig } = config;
121
122
  this.#config = config;
122
123
  this.id = clientGroupID;
@@ -129,20 +130,22 @@ export class ViewSyncerService {
129
130
  this.#keepaliveMs = keepaliveMs;
130
131
  this.#slowHydrateThreshold = slowHydrateThreshold;
131
132
  this.#inspectorDelegate = inspectorDelegate;
133
+ this.#customQueryTransformer = customQueryTransformer;
132
134
  this.#cvrStore = new CVRStore(lc, cvrDb, upstreamDb, shard, taskID, clientGroupID,
133
135
  // On failure, cancel the #stateChanges subscription. The run()
134
136
  // loop will then await #cvrStore.flushed() which rejects if necessary.
135
137
  () => this.#stateChanges.cancel());
136
138
  this.#setTimeout = setTimeoutFn;
137
- if (pullConfig.url) {
138
- this.#customQueryTransformer = new CustomQueryTransformer(this.#lc, {
139
- url: pullConfig.url,
140
- forwardCookies: pullConfig.forwardCookies,
141
- }, shard);
142
- }
143
139
  // Wait for the first connection to init.
144
140
  this.keepalive();
145
141
  }
142
+ #getHeaderOptions(forwardCookie) {
143
+ return {
144
+ apiKey: this.#queryConfig.apiKey,
145
+ token: this.#authData?.raw,
146
+ cookie: forwardCookie ? this.#httpCookie : undefined,
147
+ };
148
+ }
146
149
  #runInLockWithCVR(fn) {
147
150
  const rid = randomID();
148
151
  this.#lc.debug?.('about to acquire lock for cvr ', rid);
@@ -281,7 +284,7 @@ export class ViewSyncerService {
281
284
  this.#keepAliveUntil = Date.now() + this.#keepaliveMs;
282
285
  return true;
283
286
  }
284
- // eslint-disable-next-line no-unused-private-class-members -- False positive, used in #scheduleShutdown
287
+ // oxlint-disable-next-line no-unused-private-class-members -- False positive, used in #scheduleShutdown
285
288
  #shutdownTimer = null;
286
289
  #scheduleShutdown(delayMs = 0) {
287
290
  this.#shutdownTimer ??= this.#setTimeout(() => {
@@ -659,13 +662,7 @@ export class ViewSyncerService {
659
662
  const [_, byOriginalHash] = this.#pipelines.addedQueries();
660
663
  if (this.#customQueryTransformer && customQueries.size > 0) {
661
664
  const filteredCustomQueries = this.#filterCustomQueries(customQueries.values(), byOriginalHash, undefined);
662
- const transformedCustomQueries = await this.#customQueryTransformer.transform({
663
- apiKey: this.#queryConfig.apiKey,
664
- token: this.#authData?.raw,
665
- cookie: this.#queryConfig.forwardCookies
666
- ? this.#httpCookie
667
- : undefined,
668
- }, filteredCustomQueries, this.userQueryURL);
665
+ const transformedCustomQueries = await this.#customQueryTransformer.transform(this.#getHeaderOptions(this.#queryConfig.forwardCookies), filteredCustomQueries, this.userQueryURL);
669
666
  this.#processTransformedCustomQueries(lc, transformedCustomQueries, (q) => transformedQueries.push(q), customQueries);
670
667
  }
671
668
  for (const q of otherQueries) {
@@ -678,18 +675,16 @@ export class ViewSyncerService {
678
675
  }
679
676
  }
680
677
  for (const { id: queryID, transformationHash, transformedAst, } of transformedQueries) {
681
- const timer = new Timer();
678
+ const timer = new TimeSliceTimer();
682
679
  let count = 0;
683
680
  await startAsyncSpan(tracer, 'vs.#hydrateUnchangedQueries.addQuery', async (span) => {
684
681
  span.setAttribute('queryHash', queryID);
685
682
  span.setAttribute('transformationHash', transformationHash);
686
683
  span.setAttribute('table', transformedAst.table);
687
- for (const _ of this.#pipelines.addQuery(transformationHash, queryID, transformedAst, timer.start())) {
684
+ for (const _ of this.#pipelines.addQuery(transformationHash, queryID, transformedAst, await timer.start())) {
688
685
  if (++count % TIME_SLICE_CHECK_SIZE === 0) {
689
686
  if (timer.elapsedLap() > TIME_SLICE_MS) {
690
- timer.stopLap();
691
- await yieldProcess(this.#setTimeout);
692
- timer.startLap();
687
+ await timer.yieldProcess();
693
688
  }
694
689
  }
695
690
  }
@@ -805,11 +800,7 @@ export class ViewSyncerService {
805
800
  });
806
801
  }
807
802
  });
808
- const transformedCustomQueries = await this.#customQueryTransformer.transform({
809
- apiKey: this.#queryConfig.apiKey,
810
- token: this.#authData?.raw,
811
- cookie: this.#httpCookie,
812
- }, filteredCustomQueries, this.userQueryURL);
803
+ const transformedCustomQueries = await this.#customQueryTransformer.transform(this.#getHeaderOptions(true), filteredCustomQueries, this.userQueryURL);
813
804
  erroredQueries = this.#processTransformedCustomQueries(lc, transformedCustomQueries, (q) => transformedQueries.push({
814
805
  id: q.id,
815
806
  origQuery: must(customQueries.get(q.id)),
@@ -912,19 +903,22 @@ export class ViewSyncerService {
912
903
  }
913
904
  }
914
905
  let totalProcessTime = 0;
915
- const timer = new Timer();
906
+ const timer = new TimeSliceTimer();
916
907
  const pipelines = this.#pipelines;
917
908
  const hydrations = this.#hydrations;
918
909
  const hydrationTime = this.#hydrationTime;
919
- // eslint-disable-next-line @typescript-eslint/no-this-alias
910
+ // oxlint-disable-next-line @typescript-eslint/no-this-alias
920
911
  const self = this;
912
+ // yield at the very beginning so that the first time slice
913
+ // is properly processed by the time-slice queue.
914
+ await yieldProcess();
921
915
  function* generateRowChanges(slowHydrateThreshold) {
922
916
  for (const q of addQueries) {
923
917
  lc = lc
924
918
  .withContext('hash', q.id)
925
919
  .withContext('transformationHash', q.transformationHash);
926
920
  lc.debug?.(`adding pipeline for query`, q.ast);
927
- yield* pipelines.addQuery(q.transformationHash, q.id, q.ast, timer.start());
921
+ yield* pipelines.addQuery(q.transformationHash, q.id, q.ast, timer.startWithoutYielding());
928
922
  const elapsed = timer.stop();
929
923
  totalProcessTime += elapsed;
930
924
  self.#addQueryMaterializationServerMetric(q.transformationHash, elapsed);
@@ -1078,9 +1072,7 @@ export class ViewSyncerService {
1078
1072
  }
1079
1073
  if (rows.size % TIME_SLICE_CHECK_SIZE === 0) {
1080
1074
  if (timer.elapsedLap() > TIME_SLICE_MS) {
1081
- timer.stopLap();
1082
- await yieldProcess(this.#setTimeout);
1083
- timer.startLap();
1075
+ await timer.yieldProcess();
1084
1076
  }
1085
1077
  }
1086
1078
  }
@@ -1103,7 +1095,7 @@ export class ViewSyncerService {
1103
1095
  return startAsyncSpan(tracer, 'vs.#advancePipelines', async () => {
1104
1096
  assert(this.#pipelines.initialized(), 'pipelines must be initialized (advancePipelines');
1105
1097
  const start = performance.now();
1106
- const timer = new Timer();
1098
+ const timer = new TimeSliceTimer();
1107
1099
  const { version, numChanges, changes } = this.#pipelines.advance(timer);
1108
1100
  lc = lc.withContext('newVersion', version);
1109
1101
  // Probably need a new updater type. CVRAdvancementUpdater?
@@ -1115,7 +1107,7 @@ export class ViewSyncerService {
1115
1107
  lc.debug?.(`applying ${numChanges} to advance to ${version}`);
1116
1108
  const hashToIDs = createHashToIDs(cvr);
1117
1109
  try {
1118
- await this.#processChanges(lc, timer.start(), changes, updater, pokers, hashToIDs);
1110
+ await this.#processChanges(lc, await timer.start(), changes, updater, pokers, hashToIDs);
1119
1111
  }
1120
1112
  catch (e) {
1121
1113
  if (e instanceof ResetPipelinesSignal) {
@@ -1138,83 +1130,10 @@ export class ViewSyncerService {
1138
1130
  inspect(context, msg) {
1139
1131
  return this.#runInLockForClient(context, msg, this.#handleInspect);
1140
1132
  }
1141
- // eslint-disable-next-line require-await
1133
+ // oxlint-disable-next-line require-await
1142
1134
  #handleInspect = async (lc, clientID, body, cvr) => {
1143
1135
  const client = must(this.#clients.get(clientID));
1144
- // Check if the client is already authenticated. We only authenticate the clientGroup
1145
- // once per "worker".
1146
- if (body.op !== 'authenticate' &&
1147
- !this.#inspectorDelegate.isAuthenticated(this.id)) {
1148
- lc.info?.('Client not authenticated to access the inspector protocol. Sending authentication challenge');
1149
- client.sendInspectResponse(lc, {
1150
- op: 'authenticated',
1151
- id: body.id,
1152
- value: false,
1153
- });
1154
- return;
1155
- }
1156
- switch (body.op) {
1157
- case 'queries': {
1158
- const queryRows = await this.#cvrStore.inspectQueries(lc, cvr.ttlClock, body.clientID);
1159
- // Enhance query rows with server-side materialization metrics
1160
- const enhancedRows = queryRows.map(row => ({
1161
- ...row,
1162
- ast: row.ast ??
1163
- this.#inspectorDelegate.getASTForQuery(row.queryID) ??
1164
- null,
1165
- metrics: this.#inspectorDelegate.getMetricsJSONForQuery(row.queryID),
1166
- }));
1167
- client.sendInspectResponse(lc, {
1168
- op: 'queries',
1169
- id: body.id,
1170
- value: enhancedRows,
1171
- });
1172
- break;
1173
- }
1174
- case 'metrics': {
1175
- client.sendInspectResponse(lc, {
1176
- op: 'metrics',
1177
- id: body.id,
1178
- value: this.#inspectorDelegate.getMetricsJSON(),
1179
- });
1180
- break;
1181
- }
1182
- case 'version':
1183
- client.sendInspectResponse(lc, {
1184
- op: 'version',
1185
- id: body.id,
1186
- value: getServerVersion(this.#config),
1187
- });
1188
- break;
1189
- case 'authenticate': {
1190
- const password = body.value;
1191
- const ok = isAdminPasswordValid(lc, this.#config, password);
1192
- if (ok) {
1193
- this.#inspectorDelegate.setAuthenticated(this.id);
1194
- }
1195
- else {
1196
- this.#inspectorDelegate.clearAuthenticated(this.id);
1197
- }
1198
- client.sendInspectResponse(lc, {
1199
- op: 'authenticated',
1200
- id: body.id,
1201
- value: ok,
1202
- });
1203
- break;
1204
- }
1205
- case 'analyze-query': {
1206
- const ast = body.value;
1207
- const result = await analyzeQuery(lc, this.#config, ast, body.options);
1208
- client.sendInspectResponse(lc, {
1209
- op: 'analyze-query',
1210
- id: body.id,
1211
- value: result,
1212
- });
1213
- break;
1214
- }
1215
- default:
1216
- unreachable(body);
1217
- }
1136
+ return handleInspect(lc, body, cvr, client, this.#inspectorDelegate, this.id, this.#cvrStore, this.#config, this.#getHeaderOptions(this.#queryConfig.forwardCookies ?? false), this.userQueryURL);
1218
1137
  };
1219
1138
  stop() {
1220
1139
  this.#lc.info?.('stopping view syncer');
@@ -1256,8 +1175,22 @@ function createHashToIDs(cvr) {
1256
1175
  }
1257
1176
  return hashToIDs;
1258
1177
  }
1259
- function yieldProcess(setTimeoutFn) {
1260
- return new Promise(resolve => setTimeoutFn(resolve, 0));
1178
+ // A global Lock acts as a queue to run a single IVM time slice per iteration
1179
+ // of the node event loop, thus bounding I/O delay to the duration of a single
1180
+ // time slice.
1181
+ //
1182
+ // Refresher:
1183
+ // https://nodejs.org/en/learn/asynchronous-work/event-loop-timers-and-nexttick#phases-overview
1184
+ //
1185
+ // Note that recursive use of setImmediate() (i.e. calling setImmediate() from
1186
+ // within a setImmediate() callback), results in enqueuing the latter
1187
+ // callback in the *next* event loop iteration, as documented in:
1188
+ // https://nodejs.org/api/timers.html#setimmediatecallback-args
1189
+ //
1190
+ // This effectively achieves the desired one-per-event-loop-iteration behavior.
1191
+ const timeSliceQueue = new Lock();
1192
+ function yieldProcess() {
1193
+ return timeSliceQueue.withLock(() => new Promise(setImmediate));
1261
1194
  }
1262
1195
  function contentsAndVersion(row) {
1263
1196
  const { [ZERO_VERSION_COLUMN_NAME]: version, ...contents } = row;
@@ -1352,15 +1285,26 @@ function hasExpiredQueries(cvr) {
1352
1285
  }
1353
1286
  return false;
1354
1287
  }
1355
- export class Timer {
1288
+ export class TimeSliceTimer {
1356
1289
  #total = 0;
1357
1290
  #start = 0;
1358
- start() {
1291
+ async start() {
1292
+ // yield at the very beginning so that the first time slice
1293
+ // is properly processed by the time-slice queue.
1294
+ await yieldProcess();
1295
+ return this.startWithoutYielding();
1296
+ }
1297
+ startWithoutYielding() {
1359
1298
  this.#total = 0;
1360
- this.startLap();
1299
+ this.#startLap();
1361
1300
  return this;
1362
1301
  }
1363
- startLap() {
1302
+ async yieldProcess() {
1303
+ this.#stopLap();
1304
+ await yieldProcess();
1305
+ this.#startLap();
1306
+ }
1307
+ #startLap() {
1364
1308
  assert(this.#start === 0, 'already running');
1365
1309
  this.#start = performance.now();
1366
1310
  }
@@ -1368,14 +1312,14 @@ export class Timer {
1368
1312
  assert(this.#start !== 0, 'not running');
1369
1313
  return performance.now() - this.#start;
1370
1314
  }
1371
- stopLap() {
1315
+ #stopLap() {
1372
1316
  assert(this.#start !== 0, 'not running');
1373
1317
  this.#total += performance.now() - this.#start;
1374
1318
  this.#start = 0;
1375
1319
  }
1376
1320
  /** @returns the total elapsed time */
1377
1321
  stop() {
1378
- this.stopLap();
1322
+ this.#stopLap();
1379
1323
  return this.#total;
1380
1324
  }
1381
1325
  /**