@rocicorp/zero 1.10.0-canary.18 → 1.10.0-canary.19

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 (99) hide show
  1. package/out/zero/package.js +1 -1
  2. package/out/zero/package.js.map +1 -1
  3. package/out/zero-cache/src/config/zero-config.d.ts +2 -19
  4. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  5. package/out/zero-cache/src/config/zero-config.js +28 -87
  6. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  7. package/out/zero-cache/src/db/create.d.ts.map +1 -1
  8. package/out/zero-cache/src/db/create.js +1 -4
  9. package/out/zero-cache/src/db/create.js.map +1 -1
  10. package/out/zero-cache/src/db/lite-tables.d.ts +2 -10
  11. package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
  12. package/out/zero-cache/src/db/lite-tables.js +3 -8
  13. package/out/zero-cache/src/db/lite-tables.js.map +1 -1
  14. package/out/zero-cache/src/db/specs.d.ts +0 -41
  15. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  16. package/out/zero-cache/src/db/specs.js +3 -30
  17. package/out/zero-cache/src/db/specs.js.map +1 -1
  18. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  19. package/out/zero-cache/src/server/change-streamer.js +1 -2
  20. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  21. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  22. package/out/zero-cache/src/server/replicator.js +2 -6
  23. package/out/zero-cache/src/server/replicator.js.map +1 -1
  24. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +1 -11
  25. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  26. package/out/zero-cache/src/services/change-source/pg/change-source.js +2 -21
  27. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  28. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +0 -1
  29. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  30. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +6 -7
  31. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  32. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +229 -1513
  33. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -1
  34. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +2 -2
  35. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -1
  36. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +1 -1
  37. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
  38. package/out/zero-cache/src/services/change-source/pg/schema/init.js +6 -15
  39. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
  40. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +20 -137
  41. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts.map +1 -1
  42. package/out/zero-cache/src/services/change-source/pg/schema/published.js +13 -82
  43. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
  44. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +21 -128
  45. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
  46. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +5 -5
  47. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  48. package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts +0 -2
  49. package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts.map +1 -1
  50. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +0 -3
  51. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts.map +1 -1
  52. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +0 -1
  53. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  54. package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -1
  55. package/out/zero-cache/src/services/litestream/commands.js +3 -8
  56. package/out/zero-cache/src/services/litestream/commands.js.map +1 -1
  57. package/out/zero-cache/src/services/litestream/config-v5.yml +1 -15
  58. package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
  59. package/out/zero-cache/src/services/replicator/change-processor.js +16 -16
  60. package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
  61. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  62. package/out/zero-cache/src/services/replicator/incremental-sync.js +0 -1
  63. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  64. package/out/zero-cache/src/services/replicator/write-worker-client.d.ts +2 -27
  65. package/out/zero-cache/src/services/replicator/write-worker-client.d.ts.map +1 -1
  66. package/out/zero-cache/src/services/replicator/write-worker-client.js +2 -3
  67. package/out/zero-cache/src/services/replicator/write-worker-client.js.map +1 -1
  68. package/out/zero-cache/src/services/replicator/write-worker.js +5 -24
  69. package/out/zero-cache/src/services/replicator/write-worker.js.map +1 -1
  70. package/out/zero-cache/src/workers/replicator.d.ts +0 -1
  71. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  72. package/out/zero-cache/src/workers/replicator.js +2 -4
  73. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  74. package/out/zero-client/src/client/version.js +1 -1
  75. package/out/zqlite/src/query-builder.d.ts.map +1 -1
  76. package/out/zqlite/src/query-builder.js +1 -2
  77. package/out/zqlite/src/query-builder.js.map +1 -1
  78. package/out/zqlite/src/sqlite-stat-fanout.d.ts.map +1 -1
  79. package/out/zqlite/src/sqlite-stat-fanout.js +0 -1
  80. package/out/zqlite/src/sqlite-stat-fanout.js.map +1 -1
  81. package/out/zqlite/src/table-source.d.ts +1 -1
  82. package/out/zqlite/src/table-source.d.ts.map +1 -1
  83. package/out/zqlite/src/table-source.js +1 -2
  84. package/out/zqlite/src/table-source.js.map +1 -1
  85. package/package.json +1 -1
  86. package/out/zero-cache/src/db/index-predicate.d.ts +0 -4
  87. package/out/zero-cache/src/db/index-predicate.d.ts.map +0 -1
  88. package/out/zero-cache/src/db/index-predicate.js +0 -46
  89. package/out/zero-cache/src/db/index-predicate.js.map +0 -1
  90. package/out/zero-cache/src/services/change-source/pg/schema/index-predicate.d.ts +0 -19
  91. package/out/zero-cache/src/services/change-source/pg/schema/index-predicate.d.ts.map +0 -1
  92. package/out/zero-cache/src/services/change-source/pg/schema/index-predicate.js +0 -581
  93. package/out/zero-cache/src/services/change-source/pg/schema/index-predicate.js.map +0 -1
  94. package/out/zero-cache/src/services/litestream/litestream-checkpointer.js +0 -131
  95. package/out/zero-cache/src/services/litestream/litestream-checkpointer.js.map +0 -1
  96. package/out/zero-cache/src/services/litestream/litestream-controller.d.ts +0 -70
  97. package/out/zero-cache/src/services/litestream/litestream-controller.d.ts.map +0 -1
  98. package/out/zero-cache/src/services/litestream/litestream-controller.js +0 -101
  99. package/out/zero-cache/src/services/litestream/litestream-controller.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  var package_default = {
2
2
  name: "@rocicorp/zero",
3
- version: "1.10.0-canary.18",
3
+ version: "1.10.0-canary.19",
4
4
  description: "Zero is a web framework for serverless web development.",
5
5
  homepage: "https://zero.rocicorp.dev",
6
6
  bugs: { "url": "https://bugs.rocicorp.dev" },
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","names":[],"sources":["../../package.json"],"sourcesContent":["{\n \"name\": \"@rocicorp/zero\",\n \"version\": \"1.10.0-canary.18\",\n \"description\": \"Zero is a web framework for serverless web development.\",\n \"homepage\": \"https://zero.rocicorp.dev\",\n \"bugs\": {\n \"url\": \"https://bugs.rocicorp.dev\"\n },\n \"license\": \"Apache-2.0\",\n \"author\": \"Rocicorp, Inc.\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/rocicorp/mono.git\",\n \"directory\": \"packages/zero\"\n },\n \"bin\": {\n \"analyze-query\": \"./out/zero/src/analyze-query.js\",\n \"ast-to-zql\": \"./out/zero/src/ast-to-zql.js\",\n \"transform-query\": \"./out/zero/src/transform-query.js\",\n \"zero-build-schema\": \"./out/zero/src/build-schema.js\",\n \"zero-cache\": \"./out/zero/src/cli.js\",\n \"zero-cache-dev\": \"./out/zero/src/zero-cache-dev.js\",\n \"zero-deploy-permissions\": \"./out/zero/src/deploy-permissions.js\",\n \"zero-out\": \"./out/zero/src/zero-out.js\"\n },\n \"files\": [\n \"out\",\n \"!*.tsbuildinfo\"\n ],\n \"type\": \"module\",\n \"main\": \"out/zero/src/zero.js\",\n \"module\": \"out/zero/src/zero.js\",\n \"types\": \"out/zero/src/zero.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./out/zero/src/zero.d.ts\",\n \"default\": \"./out/zero/src/zero.js\"\n },\n \"./analyze\": {\n \"types\": \"./out/zero/src/analyze.d.ts\",\n \"default\": \"./out/zero/src/analyze.js\"\n },\n \"./bindings\": {\n \"types\": \"./out/zero/src/bindings.d.ts\",\n \"default\": \"./out/zero/src/bindings.js\"\n },\n \"./change-protocol/v0\": {\n \"types\": \"./out/zero/src/change-protocol/v0.d.ts\",\n \"default\": \"./out/zero/src/change-protocol/v0.js\"\n },\n \"./expo-sqlite\": {\n \"types\": \"./out/zero/src/expo-sqlite.d.ts\",\n \"default\": \"./out/zero/src/expo-sqlite.js\"\n },\n \"./op-sqlite\": {\n \"types\": \"./out/zero/src/op-sqlite.d.ts\",\n \"default\": \"./out/zero/src/op-sqlite.js\"\n },\n \"./pg\": {\n \"types\": \"./out/zero/src/pg.d.ts\",\n \"default\": \"./out/zero/src/pg.js\"\n },\n \"./react\": {\n \"types\": \"./out/zero/src/react.d.ts\",\n \"default\": \"./out/zero/src/react.js\"\n },\n \"./react-native\": {\n \"types\": \"./out/zero/src/react-native.d.ts\",\n \"default\": \"./out/zero/src/react-native.js\"\n },\n \"./server\": {\n \"types\": \"./out/zero/src/server.d.ts\",\n \"default\": \"./out/zero/src/server.js\"\n },\n \"./server/adapters/drizzle\": {\n \"types\": \"./out/zero/src/adapters/drizzle.d.ts\",\n \"default\": \"./out/zero/src/adapters/drizzle.js\"\n },\n \"./server/adapters/kysely\": {\n \"types\": \"./out/zero/src/adapters/kysely.d.ts\",\n \"default\": \"./out/zero/src/adapters/kysely.js\"\n },\n \"./server/adapters/prisma\": {\n \"types\": \"./out/zero/src/adapters/prisma.d.ts\",\n \"default\": \"./out/zero/src/adapters/prisma.js\"\n },\n \"./server/adapters/pg\": {\n \"types\": \"./out/zero/src/adapters/pg.d.ts\",\n \"default\": \"./out/zero/src/adapters/pg.js\"\n },\n \"./server/adapters/postgresjs\": {\n \"types\": \"./out/zero/src/adapters/postgresjs.d.ts\",\n \"default\": \"./out/zero/src/adapters/postgresjs.js\"\n },\n \"./solid\": {\n \"types\": \"./out/zero/src/solid.d.ts\",\n \"default\": \"./out/zero/src/solid.js\"\n },\n \"./sqlite\": {\n \"types\": \"./out/zero/src/sqlite.d.ts\",\n \"default\": \"./out/zero/src/sqlite.js\"\n },\n \"./zqlite\": {\n \"types\": \"./out/zero/src/zqlite.d.ts\",\n \"default\": \"./out/zero/src/zqlite.js\"\n }\n },\n \"scripts\": {\n \"build\": \"node --experimental-strip-types --no-warnings tool/build.ts\",\n \"build:watch\": \"node --experimental-strip-types --no-warnings tool/build.ts --watch\",\n \"check-types\": \"tsc -p tsconfig.client.json && tsc -p tsconfig.server.json\",\n \"check-types:client:watch\": \"tsc -p tsconfig.client.json --watch\",\n \"check-types:server:watch\": \"tsc -p tsconfig.server.json --watch\",\n \"format\": \"oxfmt .\",\n \"check-format\": \"oxfmt --check .\",\n \"lint\": \"oxlint --quiet --config ../../oxlint.config.ts src/\",\n \"docs\": \"node --experimental-strip-types --no-warnings tool/generate-docs.ts\",\n \"docs:server\": \"node --watch --experimental-strip-types --no-warnings tool/generate-docs.ts --server\",\n \"fmt\": \"oxfmt .\",\n \"check-fmt\": \"oxfmt --check .\"\n },\n \"dependencies\": {\n \"@badrap/valita\": \"0.3.11\",\n \"@databases/escape-identifier\": \"^1.0.3\",\n \"@databases/sql\": \"^3.3.0\",\n \"@dotenvx/dotenvx\": \"^1.39.0\",\n \"@drdgvhbh/postgres-error-codes\": \"^0.0.6\",\n \"@fastify/cors\": \"^10.0.0\",\n \"@fastify/websocket\": \"^11.0.0\",\n \"@google-cloud/precise-date\": \"^4.0.0\",\n \"@opentelemetry/api\": \"^1.9.0\",\n \"@opentelemetry/api-logs\": \"^0.218.0\",\n \"@opentelemetry/auto-instrumentations-node\": \"^0.76.0\",\n \"@opentelemetry/exporter-metrics-otlp-http\": \"^0.218.0\",\n \"@opentelemetry/resources\": \"^2.7.1\",\n \"@opentelemetry/sdk-metrics\": \"^2.7.1\",\n \"@opentelemetry/sdk-node\": \"^0.218.0\",\n \"@opentelemetry/sdk-trace-node\": \"^2.7.1\",\n \"@opentelemetry/semantic-conventions\": \"^1.41.1\",\n \"@postgresql-typed/oids\": \"^0.2.0\",\n \"@rocicorp/lock\": \"^1.0.4\",\n \"@rocicorp/logger\": \"^6.1.0\",\n \"@rocicorp/resolver\": \"^1.0.2\",\n \"@rocicorp/zero-sqlite3\": \"^1.1.4\",\n \"@standard-schema/spec\": \"^1.0.0\",\n \"@types/basic-auth\": \"^1.1.8\",\n \"@types/ws\": \"^8.5.12\",\n \"basic-auth\": \"^2.0.1\",\n \"chalk-template\": \"^1.1.0\",\n \"chokidar\": \"^4.0.1\",\n \"cloudevents\": \"^10.0.0\",\n \"command-line-args\": \"^6.0.1\",\n \"command-line-usage\": \"^7.0.3\",\n \"compare-utf8\": \"^0.2.0\",\n \"defu\": \"^6.1.4\",\n \"eventemitter3\": \"^5.0.1\",\n \"fastify\": \"^5.0.0\",\n \"is-in-subnet\": \"^4.0.1\",\n \"jose\": \"^5.9.3\",\n \"js-xxhash\": \"^4.0.0\",\n \"json-custom-numbers\": \"^3.1.1\",\n \"kasi\": \"^1.1.0\",\n \"nanoid\": \"^5.1.2\",\n \"oxfmt\": \"^0.45.0\",\n \"parse-prometheus-text-format\": \"^1.1.1\",\n \"pg-format\": \"npm:pg-format-fix@^1.0.5\",\n \"postgres\": \"3.4.7\",\n \"semver\": \"^7.5.4\",\n \"url-pattern\": \"^1.0.3\",\n \"urlpattern-polyfill\": \"^10.1.0\",\n \"ws\": \"^8.18.1\"\n },\n \"devDependencies\": {\n \"@op-engineering/op-sqlite\": \">=15\",\n \"@vitest/runner\": \"^4.1.6\",\n \"analyze-query\": \"workspace:*\",\n \"ast-to-zql\": \"workspace:*\",\n \"expo-sqlite\": \">=15\",\n \"oxc-parser\": \"^0.129.0\",\n \"replicache\": \"workspace:*\",\n \"shared\": \"workspace:*\",\n \"syncpack\": \"^14.3.0\",\n \"typedoc\": \"^0.28.17\",\n \"typedoc-plugin-markdown\": \"^4.10.0\",\n \"typescript\": \"~6.0.2\",\n \"vite\": \"^8.0.13\",\n \"vitest\": \"^4.1.6\",\n \"zero-cache\": \"workspace:*\",\n \"zero-client\": \"workspace:*\",\n \"zero-pg\": \"workspace:*\",\n \"zero-react\": \"workspace:*\",\n \"zero-server\": \"workspace:*\",\n \"zero-solid\": \"workspace:*\",\n \"zqlite\": \"workspace:*\"\n },\n \"engines\": {\n \"node\": \">=22\"\n },\n \"packageManager\": \"pnpm@11.11.0\"\n}\n"],"mappings":""}
1
+ {"version":3,"file":"package.js","names":[],"sources":["../../package.json"],"sourcesContent":["{\n \"name\": \"@rocicorp/zero\",\n \"version\": \"1.10.0-canary.19\",\n \"description\": \"Zero is a web framework for serverless web development.\",\n \"homepage\": \"https://zero.rocicorp.dev\",\n \"bugs\": {\n \"url\": \"https://bugs.rocicorp.dev\"\n },\n \"license\": \"Apache-2.0\",\n \"author\": \"Rocicorp, Inc.\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/rocicorp/mono.git\",\n \"directory\": \"packages/zero\"\n },\n \"bin\": {\n \"analyze-query\": \"./out/zero/src/analyze-query.js\",\n \"ast-to-zql\": \"./out/zero/src/ast-to-zql.js\",\n \"transform-query\": \"./out/zero/src/transform-query.js\",\n \"zero-build-schema\": \"./out/zero/src/build-schema.js\",\n \"zero-cache\": \"./out/zero/src/cli.js\",\n \"zero-cache-dev\": \"./out/zero/src/zero-cache-dev.js\",\n \"zero-deploy-permissions\": \"./out/zero/src/deploy-permissions.js\",\n \"zero-out\": \"./out/zero/src/zero-out.js\"\n },\n \"files\": [\n \"out\",\n \"!*.tsbuildinfo\"\n ],\n \"type\": \"module\",\n \"main\": \"out/zero/src/zero.js\",\n \"module\": \"out/zero/src/zero.js\",\n \"types\": \"out/zero/src/zero.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./out/zero/src/zero.d.ts\",\n \"default\": \"./out/zero/src/zero.js\"\n },\n \"./analyze\": {\n \"types\": \"./out/zero/src/analyze.d.ts\",\n \"default\": \"./out/zero/src/analyze.js\"\n },\n \"./bindings\": {\n \"types\": \"./out/zero/src/bindings.d.ts\",\n \"default\": \"./out/zero/src/bindings.js\"\n },\n \"./change-protocol/v0\": {\n \"types\": \"./out/zero/src/change-protocol/v0.d.ts\",\n \"default\": \"./out/zero/src/change-protocol/v0.js\"\n },\n \"./expo-sqlite\": {\n \"types\": \"./out/zero/src/expo-sqlite.d.ts\",\n \"default\": \"./out/zero/src/expo-sqlite.js\"\n },\n \"./op-sqlite\": {\n \"types\": \"./out/zero/src/op-sqlite.d.ts\",\n \"default\": \"./out/zero/src/op-sqlite.js\"\n },\n \"./pg\": {\n \"types\": \"./out/zero/src/pg.d.ts\",\n \"default\": \"./out/zero/src/pg.js\"\n },\n \"./react\": {\n \"types\": \"./out/zero/src/react.d.ts\",\n \"default\": \"./out/zero/src/react.js\"\n },\n \"./react-native\": {\n \"types\": \"./out/zero/src/react-native.d.ts\",\n \"default\": \"./out/zero/src/react-native.js\"\n },\n \"./server\": {\n \"types\": \"./out/zero/src/server.d.ts\",\n \"default\": \"./out/zero/src/server.js\"\n },\n \"./server/adapters/drizzle\": {\n \"types\": \"./out/zero/src/adapters/drizzle.d.ts\",\n \"default\": \"./out/zero/src/adapters/drizzle.js\"\n },\n \"./server/adapters/kysely\": {\n \"types\": \"./out/zero/src/adapters/kysely.d.ts\",\n \"default\": \"./out/zero/src/adapters/kysely.js\"\n },\n \"./server/adapters/prisma\": {\n \"types\": \"./out/zero/src/adapters/prisma.d.ts\",\n \"default\": \"./out/zero/src/adapters/prisma.js\"\n },\n \"./server/adapters/pg\": {\n \"types\": \"./out/zero/src/adapters/pg.d.ts\",\n \"default\": \"./out/zero/src/adapters/pg.js\"\n },\n \"./server/adapters/postgresjs\": {\n \"types\": \"./out/zero/src/adapters/postgresjs.d.ts\",\n \"default\": \"./out/zero/src/adapters/postgresjs.js\"\n },\n \"./solid\": {\n \"types\": \"./out/zero/src/solid.d.ts\",\n \"default\": \"./out/zero/src/solid.js\"\n },\n \"./sqlite\": {\n \"types\": \"./out/zero/src/sqlite.d.ts\",\n \"default\": \"./out/zero/src/sqlite.js\"\n },\n \"./zqlite\": {\n \"types\": \"./out/zero/src/zqlite.d.ts\",\n \"default\": \"./out/zero/src/zqlite.js\"\n }\n },\n \"scripts\": {\n \"build\": \"node --experimental-strip-types --no-warnings tool/build.ts\",\n \"build:watch\": \"node --experimental-strip-types --no-warnings tool/build.ts --watch\",\n \"check-types\": \"tsc -p tsconfig.client.json && tsc -p tsconfig.server.json\",\n \"check-types:client:watch\": \"tsc -p tsconfig.client.json --watch\",\n \"check-types:server:watch\": \"tsc -p tsconfig.server.json --watch\",\n \"format\": \"oxfmt .\",\n \"check-format\": \"oxfmt --check .\",\n \"lint\": \"oxlint --quiet --config ../../oxlint.config.ts src/\",\n \"docs\": \"node --experimental-strip-types --no-warnings tool/generate-docs.ts\",\n \"docs:server\": \"node --watch --experimental-strip-types --no-warnings tool/generate-docs.ts --server\",\n \"fmt\": \"oxfmt .\",\n \"check-fmt\": \"oxfmt --check .\"\n },\n \"dependencies\": {\n \"@badrap/valita\": \"0.3.11\",\n \"@databases/escape-identifier\": \"^1.0.3\",\n \"@databases/sql\": \"^3.3.0\",\n \"@dotenvx/dotenvx\": \"^1.39.0\",\n \"@drdgvhbh/postgres-error-codes\": \"^0.0.6\",\n \"@fastify/cors\": \"^10.0.0\",\n \"@fastify/websocket\": \"^11.0.0\",\n \"@google-cloud/precise-date\": \"^4.0.0\",\n \"@opentelemetry/api\": \"^1.9.0\",\n \"@opentelemetry/api-logs\": \"^0.218.0\",\n \"@opentelemetry/auto-instrumentations-node\": \"^0.76.0\",\n \"@opentelemetry/exporter-metrics-otlp-http\": \"^0.218.0\",\n \"@opentelemetry/resources\": \"^2.7.1\",\n \"@opentelemetry/sdk-metrics\": \"^2.7.1\",\n \"@opentelemetry/sdk-node\": \"^0.218.0\",\n \"@opentelemetry/sdk-trace-node\": \"^2.7.1\",\n \"@opentelemetry/semantic-conventions\": \"^1.41.1\",\n \"@postgresql-typed/oids\": \"^0.2.0\",\n \"@rocicorp/lock\": \"^1.0.4\",\n \"@rocicorp/logger\": \"^6.1.0\",\n \"@rocicorp/resolver\": \"^1.0.2\",\n \"@rocicorp/zero-sqlite3\": \"^1.1.4\",\n \"@standard-schema/spec\": \"^1.0.0\",\n \"@types/basic-auth\": \"^1.1.8\",\n \"@types/ws\": \"^8.5.12\",\n \"basic-auth\": \"^2.0.1\",\n \"chalk-template\": \"^1.1.0\",\n \"chokidar\": \"^4.0.1\",\n \"cloudevents\": \"^10.0.0\",\n \"command-line-args\": \"^6.0.1\",\n \"command-line-usage\": \"^7.0.3\",\n \"compare-utf8\": \"^0.2.0\",\n \"defu\": \"^6.1.4\",\n \"eventemitter3\": \"^5.0.1\",\n \"fastify\": \"^5.0.0\",\n \"is-in-subnet\": \"^4.0.1\",\n \"jose\": \"^5.9.3\",\n \"js-xxhash\": \"^4.0.0\",\n \"json-custom-numbers\": \"^3.1.1\",\n \"kasi\": \"^1.1.0\",\n \"nanoid\": \"^5.1.2\",\n \"oxfmt\": \"^0.45.0\",\n \"parse-prometheus-text-format\": \"^1.1.1\",\n \"pg-format\": \"npm:pg-format-fix@^1.0.5\",\n \"postgres\": \"3.4.7\",\n \"semver\": \"^7.5.4\",\n \"url-pattern\": \"^1.0.3\",\n \"urlpattern-polyfill\": \"^10.1.0\",\n \"ws\": \"^8.18.1\"\n },\n \"devDependencies\": {\n \"@op-engineering/op-sqlite\": \">=15\",\n \"@vitest/runner\": \"^4.1.6\",\n \"analyze-query\": \"workspace:*\",\n \"ast-to-zql\": \"workspace:*\",\n \"expo-sqlite\": \">=15\",\n \"oxc-parser\": \"^0.129.0\",\n \"replicache\": \"workspace:*\",\n \"shared\": \"workspace:*\",\n \"syncpack\": \"^14.3.0\",\n \"typedoc\": \"^0.28.17\",\n \"typedoc-plugin-markdown\": \"^4.10.0\",\n \"typescript\": \"~6.0.2\",\n \"vite\": \"^8.0.13\",\n \"vitest\": \"^4.1.6\",\n \"zero-cache\": \"workspace:*\",\n \"zero-client\": \"workspace:*\",\n \"zero-pg\": \"workspace:*\",\n \"zero-react\": \"workspace:*\",\n \"zero-server\": \"workspace:*\",\n \"zero-solid\": \"workspace:*\",\n \"zqlite\": \"workspace:*\"\n },\n \"engines\": {\n \"node\": \">=22\"\n },\n \"packageManager\": \"pnpm@11.11.0\"\n}\n"],"mappings":""}
@@ -111,10 +111,6 @@ export declare const zeroOptions: {
111
111
  type: v.Optional<boolean>;
112
112
  desc: string[];
113
113
  };
114
- pgPartialIndexTriggers: {
115
- type: v.Type<boolean>;
116
- hidden: boolean;
117
- };
118
114
  pgStreamInboundTimeoutMs: {
119
115
  type: v.Optional<number>;
120
116
  desc: string[];
@@ -593,34 +589,21 @@ export declare const zeroOptions: {
593
589
  };
594
590
  minCheckpointPageCount: {
595
591
  type: v.Optional<number>;
596
- deprecated: string[];
597
- hidden: boolean;
592
+ desc: string[];
598
593
  };
599
594
  maxCheckpointPageCount: {
600
595
  type: v.Optional<number>;
601
596
  desc: string[];
602
597
  };
603
- forceCheckpointThresholdMB: {
604
- type: v.Type<number>;
605
- desc: string[];
606
- };
607
- maxWalSizeMB: {
608
- type: v.Type<number>;
609
- desc: string[];
610
- };
611
598
  incrementalBackupIntervalMinutes: {
612
599
  type: v.Type<number>;
613
600
  desc: string[];
614
601
  };
615
- snapshotBackupIntervalHours: {
616
- type: v.Type<number>;
617
- desc: string[];
618
- };
619
602
  incrementalBackupIntervalSeconds: {
620
603
  type: v.Type<number>;
621
604
  desc: string[];
622
605
  };
623
- snapshotBackupIntervalHoursV5: {
606
+ snapshotBackupIntervalHours: {
624
607
  type: v.Type<number>;
625
608
  desc: string[];
626
609
  };
@@ -1 +1 @@
1
- {"version":3,"file":"zero-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zero-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AAUnD,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAC,SAAS,EAAC,MAAM,kCAAkC,CAAC;AAEhE,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAE3C,eAAO,MAAM,UAAU;;;;;;;;;CA+CtB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;CAwBxB,CAAC;AAEF,QAAA,MAAM,cAAc;;;;;;;;;CAmBnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAE3D,QAAA,MAAM,oBAAoB;;;;;;;;;CAczB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5D,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DhB,CAAC;AA0HF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,+DAA+D;AAC/D,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,UAAU,EACV,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CACrD,CAAC;AAKF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4EtB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGlB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmIhB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkHlB,kBAAkB;;;;;;QASlB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAomBpB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAIpD,wBAAgB,aAAa,CAC3B,IAAI,GAAE,IAAI,CAAC,YAAY,EAAE,eAAe,CAAM,GAC7C,UAAU,CAaZ;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,GAAE,IAAI,CAAC,YAAY,EAAE,eAAe,CAAM,GAC7C,oBAAoB,CAItB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,SAAS,GACpD,MAAM,CAER;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC,EACnD,QAAQ,EAAE,MAAM,GAAG,SAAS,WAwC7B;AAYD,wBAAgB,kBAAkB,SAEjC"}
@@ -274,10 +274,6 @@ var zeroOptions = {
274
274
  `(Note that this option has no effect for Postgres versions before 17.)`
275
275
  ]
276
276
  },
277
- pgPartialIndexTriggers: {
278
- type: valita_exports.boolean().default(false),
279
- hidden: true
280
- },
281
277
  pgStreamInboundTimeoutMs: {
282
278
  type: valita_exports.number().optional(),
283
279
  desc: [
@@ -619,7 +615,7 @@ var zeroOptions = {
619
615
  ]
620
616
  },
621
617
  flowControlConsensusTimeoutProportion: {
622
- type: valita_exports.number().default(4),
618
+ type: valita_exports.number().default(2),
623
619
  desc: [
624
620
  `During periodic flow control checks (every 64kb), the amount of time to wait after the majority`,
625
621
  `of subscribers have acked, proportional to that interval, after which replication will continue`,
@@ -633,7 +629,7 @@ var zeroOptions = {
633
629
  ``,
634
630
  `For example, if the majority of subscribers ack a message in 2.5ms, a padding proportion of`,
635
631
  `1.0 instructs replication to continue after an additional 2.5ms; for a proportion of 2.0, an`,
636
- `additional 5.0ms, etc. The default value of 4.0 allows for a subscriber to be 5x slower than the`,
632
+ `additional 5.0ms, etc. The default value of 2.0 allows for a subscriber to be 3x slower than the`,
637
633
  `majority in the steady state, while similarly bounding the extent to which a temporarily lagging`,
638
634
  `subscriber (e.g. due to catchup) slows down the fleet.`,
639
635
  ``,
@@ -876,18 +872,26 @@ var zeroOptions = {
876
872
  checkpointThresholdMB: {
877
873
  type: valita_exports.number().default(40),
878
874
  desc: [
879
- `The size of the WAL file at which litestream performs background, best-effort (PASSIVE)`,
880
- `SQLite checkpoints to apply the writes in the WAL to the main database file. Checkpoints`,
881
- `result in new WAL (v3) or LTS (v5) files that are then backed up asynchronously.`,
875
+ `The size of the WAL file at which to perform an SQlite checkpoint to apply`,
876
+ `the writes in the WAL to the main database file. Each checkpoint creates`,
877
+ `a new WAL segment file that will be backed up by litestream (v3). Smaller thresholds`,
878
+ `may improve read performance, at the expense of creating more files to download`,
879
+ `when restoring the replica from the backup.`,
882
880
  ``,
883
- `Note that these PASSIVE checkpoints are skipped if a write is in progress, so high writes rates`,
884
- `can precipitate runaway wal growth. Also see {bold ZERO_LITESTREAM_FORCE_CHECKPOINT_THRESHOLD_MB}`
881
+ `This setting is only relevant when replicating with litestream v3, and is ignored`,
882
+ `when replicating with litestream v5.`
885
883
  ]
886
884
  },
887
885
  minCheckpointPageCount: {
888
886
  type: valita_exports.number().optional(),
889
- deprecated: [`Use {bold ZERO_CHECKPOINT_THRESHOLD_MB}`],
890
- hidden: true
887
+ desc: [
888
+ `The WAL page count at which SQLite attempts a PASSIVE checkpoint, which`,
889
+ `transfers pages to the main database file without blocking writers.`,
890
+ `Defaults to {bold checkpointThresholdMB * 250} (since SQLite page size is 4KB).`,
891
+ ``,
892
+ `This setting is only relevant when replicating with litestream v3, and is ignored`,
893
+ `when replicating with litestream v5.`
894
+ ]
891
895
  },
892
896
  maxCheckpointPageCount: {
893
897
  type: valita_exports.number().optional(),
@@ -900,47 +904,8 @@ var zeroOptions = {
900
904
  `when replicating with litestream v5.`
901
905
  ]
902
906
  },
903
- forceCheckpointThresholdMB: {
904
- type: valita_exports.number().default(256),
905
- desc: [
906
- `The size of the WAL file at which to pause writes and explicitly initiate a`,
907
- `local litestream sync. This is a safeguard for the situation in which litestream's`,
908
- `background checkpoints continually defer to incoming writes (i.e. high write load).`,
909
- ``,
910
- `If the WAL size reaches the forced checkpoint threshold, writes pause for an`,
911
- `an explicit litestream checkpoint, providing a flow-control mechanism to ensure timely`,
912
- `backups and prevent runaway wal growth.`,
913
- ``,
914
- `Note that these checkpoints {italic can} be skipped if litestream is performing a`,
915
- `snapshot at the time (though snapshots are disabled by default). For such configurations,`,
916
- `the {bold ZERO_LITESTREAM_MAX_WAL_SIZE_MB} provides an emergency break to prevent`,
917
- `exceeding available disk space.`,
918
- ``,
919
- `Set this to 0 to disable and instead rely on the litestream's default {bold truncate-page-n}`,
920
- `emergency break.`,
921
- ``,
922
- `This feature is only enabled with {bold ZERO_LITESTREAM_BACKUP_USING_V5}.`
923
- ]
924
- },
925
- maxWalSizeMB: {
926
- type: valita_exports.number().default(10240),
927
- desc: [
928
- `A fail-safe that pauses writes once the un-checkpointed WAL reaches this size,`,
929
- `resuming when litestream manages to checkpoint it. This bounds WAL growth (and`,
930
- `ultimately disk usage) whenever litestream cannot checkpoint — e.g. while it holds`,
931
- `the checkpoint lock for an in-progress snapshot — and serves as an alternative to`,
932
- `litestream's {bold truncate-page-n} emergency checkpoint, which would otherwise block`,
933
- `writes for a second "bounary" snapshot.`,
934
- ``,
935
- `Size this generously relative to available disk; it should rarely be hit, as`,
936
- `{bold ZERO_LITESTREAM_FORCE_CHECKPOINT_THRESHOLD_MB} keeps the WAL far smaller in`,
937
- `normal operation. Set to {bold 0} to disable.`,
938
- ``,
939
- `This feature is only enabled with {bold ZERO_LITESTREAM_BACKUP_USING_V5}.`
940
- ]
941
- },
942
907
  incrementalBackupIntervalMinutes: {
943
- type: valita_exports.number().default(5),
908
+ type: valita_exports.number().default(15),
944
909
  desc: [
945
910
  `The interval between incremental v3 backups of the replica. Shorter intervals`,
946
911
  `reduce the amount of change history that needs to be replayed when catching`,
@@ -952,20 +917,6 @@ var zeroOptions = {
952
917
  `frequency, use {bold ZERO_LITESTREAM_INCREMENTAL_BACKUP_INTERVAL_SECONDS}.`
953
918
  ]
954
919
  },
955
- snapshotBackupIntervalHours: {
956
- type: valita_exports.number().default(4),
957
- desc: [
958
- `The interval between snapshot backups of the replica. Snapshot backups`,
959
- `make a full copy of the database to a new litestream generation. This`,
960
- `improves restore time at the expense of bandwidth. Applications with a`,
961
- `large database and low write rate can increase this interval to reduce`,
962
- `network usage for backups (litestream defaults to 24 hours).`,
963
- ``,
964
- `This option only applies to litestream v3 backups and will be deprecated/removed`,
965
- `once the zero-cache is transitioned to litestream v5. For configuring v5 backup`,
966
- `frequency, use {bold ZERO_LITESTREAM_SNAPSHOT_BACKUP_INTERVAL_HOURS_V5}.`
967
- ]
968
- },
969
920
  incrementalBackupIntervalSeconds: {
970
921
  type: valita_exports.number().default(15),
971
922
  desc: [
@@ -981,28 +932,18 @@ var zeroOptions = {
981
932
  `{bold ZERO_LITESTREAM_INCREMENTAL_BACKUP_INTERVAL_MINUTES}.`
982
933
  ]
983
934
  },
984
- snapshotBackupIntervalHoursV5: {
985
- type: valita_exports.number().default(720),
935
+ snapshotBackupIntervalHours: {
936
+ type: valita_exports.number().default(12),
986
937
  desc: [
987
- `The interval between snapshot backups of the replica when`,
988
- `{bold ZERO_LITESTREAM_BACKUP_USING_V5} is enabled.`,
989
- ``,
990
- `By default, snapshots are effectively disabled (i.e. every 30 days)`,
991
- `because v5 compaction fulfills the role that snapshots played in v3`,
992
- `(i.e. because of litestream v5 compaction, restores will generally involve`,
993
- `O(db-size) bytes.`,
994
- ``,
995
- `Snapshots are disabled by default because they hold a read-lock on`,
996
- `the database and prevent wal checkpoints, introducing the risk of large wal`,
997
- `files for large databases with a high write rate.`,
998
- ``,
999
- `If configuring the zero-cache to actually perform v5 snapshots, the`,
1000
- `{bold ZERO_LITESTREAM_MAX_WAL_SIZE_MB} option can be used to pause replication`,
1001
- `if the wal reaches a certain size and cannot be checkpointed because of an`,
1002
- `in-progress snapshot.`,
938
+ `The interval between snapshot backups of the replica. Snapshot backups`,
939
+ `make a full copy of the database to a new litestream generation. This`,
940
+ `improves restore time at the expense of bandwidth. Applications with a`,
941
+ `large database and low write rate can increase this interval to reduce`,
942
+ `network usage for backups (litestream defaults to 24 hours).`,
1003
943
  ``,
1004
- `This option only applies to litestream v5 backups. For v3 backups, use`,
1005
- `{bold ZERO_LITESTREAM_SNAPSHOT_BACKUP_INTERVAL_HOURS}.`
944
+ `This setting is applied when replicating with either litestream v3 or v5.`,
945
+ `Note, however, that snapshots are generally not needed to improve restore time`,
946
+ `with v5, and so a longer interval (e.g. the litestream default of 24h) is fine.`
1006
947
  ]
1007
948
  },
1008
949
  restoreParallelism: {