@rocicorp/zero 0.16.2025021600 → 0.16.2025021800

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 (75) hide show
  1. package/out/{chunk-UXNMWQHT.js → chunk-DJDCQZQL.js} +88 -97
  2. package/out/{chunk-UXNMWQHT.js.map → chunk-DJDCQZQL.js.map} +4 -4
  3. package/out/solid.js +1 -1
  4. package/out/zero-cache/src/auth/read-authorizer.d.ts.map +1 -1
  5. package/out/zero-cache/src/auth/read-authorizer.js +1 -0
  6. package/out/zero-cache/src/auth/read-authorizer.js.map +1 -1
  7. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  8. package/out/zero-cache/src/services/change-source/pg/change-source.js +10 -5
  9. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  10. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +2 -2
  11. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
  12. package/out/zero-cache/src/services/view-syncer/client-handler.js +0 -3
  13. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  14. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +12 -4
  15. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  16. package/out/zero-cache/src/services/view-syncer/cvr-store.js +24 -320
  17. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  18. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +1 -0
  19. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  20. package/out/zero-cache/src/services/view-syncer/cvr.js +23 -23
  21. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  22. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +87 -0
  23. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -0
  24. package/out/zero-cache/src/services/view-syncer/row-record-cache.js +294 -0
  25. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -0
  26. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +5 -0
  27. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  28. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +12 -2
  29. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  30. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
  31. package/out/zero-cache/src/services/view-syncer/schema/init.js +12 -2
  32. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  33. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +24 -66
  34. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
  35. package/out/zero-cache/src/services/view-syncer/schema/types.js +24 -12
  36. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
  37. package/out/zero-client/src/client/context.d.ts +2 -2
  38. package/out/zero-client/src/client/context.d.ts.map +1 -1
  39. package/out/zero-client/src/client/keys.d.ts +0 -3
  40. package/out/zero-client/src/client/keys.d.ts.map +1 -1
  41. package/out/zero-client/src/client/query-manager.d.ts +1 -1
  42. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  43. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  44. package/out/zero-client/src/client/zero.d.ts +1 -1
  45. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  46. package/out/zero-protocol/src/change-desired-queries.d.ts +2 -0
  47. package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
  48. package/out/zero-protocol/src/connect.d.ts +2 -0
  49. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  50. package/out/zero-protocol/src/down.d.ts +2 -9
  51. package/out/zero-protocol/src/down.d.ts.map +1 -1
  52. package/out/zero-protocol/src/poke.d.ts +4 -18
  53. package/out/zero-protocol/src/poke.d.ts.map +1 -1
  54. package/out/zero-protocol/src/poke.js +0 -4
  55. package/out/zero-protocol/src/poke.js.map +1 -1
  56. package/out/zero-protocol/src/queries-patch.d.ts +4 -1
  57. package/out/zero-protocol/src/queries-patch.d.ts.map +1 -1
  58. package/out/zero-protocol/src/queries-patch.js +2 -1
  59. package/out/zero-protocol/src/queries-patch.js.map +1 -1
  60. package/out/zero-protocol/src/up.d.ts +2 -0
  61. package/out/zero-protocol/src/up.d.ts.map +1 -1
  62. package/out/zero.js +1 -1
  63. package/out/zql/src/query/query-impl.d.ts +5 -5
  64. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  65. package/out/zql/src/query/query-impl.js +27 -23
  66. package/out/zql/src/query/query-impl.js.map +1 -1
  67. package/out/zql/src/query/static-query.d.ts +1 -2
  68. package/out/zql/src/query/static-query.d.ts.map +1 -1
  69. package/out/zql/src/query/static-query.js +2 -5
  70. package/out/zql/src/query/static-query.js.map +1 -1
  71. package/package.json +1 -1
  72. package/out/zero-protocol/src/clients-patch.d.ts +0 -37
  73. package/out/zero-protocol/src/clients-patch.d.ts.map +0 -1
  74. package/out/zero-protocol/src/clients-patch.js +0 -15
  75. package/out/zero-protocol/src/clients-patch.js.map +0 -1
@@ -3113,13 +3113,13 @@ var DataNodeImpl = class extends NodeImpl {
3113
3113
  }
3114
3114
  }
3115
3115
  };
3116
- function readonlySplice(array9, start, deleteCount, ...items) {
3117
- const arr = array9.slice(0, start);
3116
+ function readonlySplice(array8, start, deleteCount, ...items) {
3117
+ const arr = array8.slice(0, start);
3118
3118
  for (let i = 0; i < items.length; i++) {
3119
3119
  arr.push(items[i]);
3120
3120
  }
3121
- for (let i = start + deleteCount; i < array9.length; i++) {
3122
- arr.push(array9[i]);
3121
+ for (let i = start + deleteCount; i < array8.length; i++) {
3122
+ arr.push(array8[i]);
3123
3123
  }
3124
3124
  return arr;
3125
3125
  }
@@ -7085,14 +7085,14 @@ function diffBinarySearch(diff2, prefix, compareKey) {
7085
7085
  }
7086
7086
 
7087
7087
  // ../shared/src/random-values.ts
7088
- function getNonCryptoRandomValues(array9) {
7089
- if (array9 === null) {
7088
+ function getNonCryptoRandomValues(array8) {
7089
+ if (array8 === null) {
7090
7090
  throw new TypeError("array cannot be null");
7091
7091
  }
7092
- for (let i = 0; i < array9.length; i++) {
7093
- array9[i] = Math.floor(Math.random() * 256);
7092
+ for (let i = 0; i < array8.length; i++) {
7093
+ array8[i] = Math.floor(Math.random() * 256);
7094
7094
  }
7095
- return array9;
7095
+ return array8;
7096
7096
  }
7097
7097
 
7098
7098
  // ../replicache/src/sync/request-id.ts
@@ -10973,8 +10973,8 @@ var negateOperatorMap = {
10973
10973
  function negateOperator(op) {
10974
10974
  return must(negateOperatorMap[op]);
10975
10975
  }
10976
- function filterUndefined(array9) {
10977
- return array9.filter((e) => e !== void 0);
10976
+ function filterUndefined(array8) {
10977
+ return array8.filter((e) => e !== void 0);
10978
10978
  }
10979
10979
  function filterTrue(conditions) {
10980
10980
  return conditions.filter((c) => !isAlwaysTrue(c));
@@ -11041,8 +11041,8 @@ var astForTestingSymbol = Symbol();
11041
11041
  function newQuery(delegate, schema, table2) {
11042
11042
  return new QueryImpl(delegate, schema, table2);
11043
11043
  }
11044
- function newQueryWithDetails(delegate, schema, tableName, ast, format) {
11045
- return new QueryImpl(delegate, schema, tableName, ast, format);
11044
+ function newQueryWithDetails(delegate, schema, tableName, ast, ttl, format) {
11045
+ return new QueryImpl(delegate, schema, tableName, ast, ttl, format);
11046
11046
  }
11047
11047
  function staticParam(anchorClass, field) {
11048
11048
  return {
@@ -11054,16 +11054,18 @@ function staticParam(anchorClass, field) {
11054
11054
  }
11055
11055
  var SUBQ_PREFIX = "zsubq_";
11056
11056
  var AbstractQuery = class {
11057
- #ast;
11058
11057
  #schema;
11059
11058
  #tableName;
11059
+ #ast;
11060
+ #ttl;
11060
11061
  #format;
11061
11062
  #hash = "";
11062
- constructor(schema, tableName, ast, format) {
11063
- this.#ast = ast;
11064
- this.#format = format ?? { singular: false, relationships: {} };
11063
+ constructor(schema, tableName, ast = { table: tableName }, ttl, format) {
11065
11064
  this.#schema = schema;
11066
11065
  this.#tableName = tableName;
11066
+ this.#ast = ast;
11067
+ this.#ttl = ttl;
11068
+ this.#format = format ?? { singular: false, relationships: {} };
11067
11069
  }
11068
11070
  get format() {
11069
11071
  return this.#format;
@@ -11088,6 +11090,7 @@ var AbstractQuery = class {
11088
11090
  ...this.#ast,
11089
11091
  limit: 1
11090
11092
  },
11093
+ this.#ttl,
11091
11094
  {
11092
11095
  ...this.#format,
11093
11096
  singular: true
@@ -11116,6 +11119,7 @@ var AbstractQuery = class {
11116
11119
  table: destSchema,
11117
11120
  alias: relationship
11118
11121
  },
11122
+ this.#ttl,
11119
11123
  {
11120
11124
  relationships: {},
11121
11125
  singular: cardinality === "one"
@@ -11154,6 +11158,7 @@ var AbstractQuery = class {
11154
11158
  }
11155
11159
  ]
11156
11160
  },
11161
+ this.#ttl,
11157
11162
  {
11158
11163
  ...this.#format,
11159
11164
  relationships: {
@@ -11176,6 +11181,7 @@ var AbstractQuery = class {
11176
11181
  table: destSchema,
11177
11182
  alias: relationship
11178
11183
  },
11184
+ this.#ttl,
11179
11185
  {
11180
11186
  relationships: {},
11181
11187
  singular: secondRelation.cardinality === "one"
@@ -11224,6 +11230,7 @@ var AbstractQuery = class {
11224
11230
  }
11225
11231
  ]
11226
11232
  },
11233
+ this.#ttl,
11227
11234
  {
11228
11235
  ...this.#format,
11229
11236
  relationships: {
@@ -11256,6 +11263,7 @@ var AbstractQuery = class {
11256
11263
  ...this.#ast,
11257
11264
  where: dnf(cond)
11258
11265
  },
11266
+ this.#ttl,
11259
11267
  this.#format
11260
11268
  );
11261
11269
  }
@@ -11270,6 +11278,7 @@ var AbstractQuery = class {
11270
11278
  exclusive: !opts?.inclusive
11271
11279
  }
11272
11280
  },
11281
+ this.#ttl,
11273
11282
  this.#format
11274
11283
  );
11275
11284
  }
@@ -11287,6 +11296,7 @@ var AbstractQuery = class {
11287
11296
  ...this.#ast,
11288
11297
  limit
11289
11298
  },
11299
+ this.#ttl,
11290
11300
  this.#format
11291
11301
  );
11292
11302
  }
@@ -11298,6 +11308,7 @@ var AbstractQuery = class {
11298
11308
  ...this.#ast,
11299
11309
  orderBy: [...this.#ast.orderBy ?? [], [field, direction]]
11300
11310
  },
11311
+ this.#ttl,
11301
11312
  this.#format
11302
11313
  );
11303
11314
  }
@@ -11316,6 +11327,7 @@ var AbstractQuery = class {
11316
11327
  table: destSchema,
11317
11328
  alias: `${SUBQ_PREFIX}${relationship}`
11318
11329
  },
11330
+ this.#ttl,
11319
11331
  void 0
11320
11332
  )
11321
11333
  );
@@ -11352,6 +11364,7 @@ var AbstractQuery = class {
11352
11364
  table: destSchema,
11353
11365
  alias: `${SUBQ_PREFIX}${relationship}`
11354
11366
  },
11367
+ this.#ttl,
11355
11368
  void 0
11356
11369
  )
11357
11370
  );
@@ -11429,22 +11442,30 @@ var AbstractQuery = class {
11429
11442
  var completedAstSymbol = Symbol();
11430
11443
  var QueryImpl = class extends AbstractQuery {
11431
11444
  #delegate;
11432
- constructor(delegate, schema, tableName, ast = { table: tableName }, format) {
11433
- super(schema, tableName, ast, format);
11445
+ constructor(delegate, schema, tableName, ast, ttl, format) {
11446
+ super(schema, tableName, ast, ttl, format);
11434
11447
  this.#delegate = delegate;
11435
11448
  }
11436
11449
  _system = "client";
11437
11450
  get [completedAstSymbol]() {
11438
11451
  return this._completeAst();
11439
11452
  }
11440
- _newQuery(schema, tableName, ast, format) {
11441
- return newQueryWithDetails(this.#delegate, schema, tableName, ast, format);
11453
+ _newQuery(schema, tableName, ast, ttl, format) {
11454
+ return newQueryWithDetails(
11455
+ this.#delegate,
11456
+ schema,
11457
+ tableName,
11458
+ ast,
11459
+ ttl,
11460
+ format
11461
+ );
11442
11462
  }
11443
11463
  materialize(factory) {
11444
11464
  const ast = this._completeAst();
11445
11465
  const queryCompleteResolver = resolver7();
11446
11466
  let queryGot = false;
11447
- const removeServerQuery = this.#delegate.addServerQuery(ast, (got) => {
11467
+ const ttl = void 0;
11468
+ const removeServerQuery = this.#delegate.addServerQuery(ast, ttl, (got) => {
11448
11469
  if (got) {
11449
11470
  queryGot = true;
11450
11471
  queryCompleteResolver.resolve(true);
@@ -11480,7 +11501,8 @@ var QueryImpl = class extends AbstractQuery {
11480
11501
  preload() {
11481
11502
  const { resolve, promise: complete } = resolver7();
11482
11503
  const ast = this._completeAst();
11483
- const unsub = this.#delegate.addServerQuery(ast, (got) => {
11504
+ const ttl = void 0;
11505
+ const unsub = this.#delegate.addServerQuery(ast, ttl, (got) => {
11484
11506
  if (got) {
11485
11507
  resolve();
11486
11508
  }
@@ -11526,15 +11548,12 @@ function isCompoundKey(field) {
11526
11548
 
11527
11549
  // ../zql/src/query/static-query.ts
11528
11550
  var StaticQuery = class _StaticQuery extends AbstractQuery {
11529
- constructor(schema, tableName, ast = { table: tableName }, format) {
11530
- super(schema, tableName, ast, format);
11531
- }
11532
11551
  expressionBuilder() {
11533
11552
  return new ExpressionBuilder(this._exists);
11534
11553
  }
11535
11554
  _system = "permissions";
11536
- _newQuery(schema, tableName, ast, format) {
11537
- return new _StaticQuery(schema, tableName, ast, format);
11555
+ _newQuery(schema, tableName, ast, ttl, format) {
11556
+ return new _StaticQuery(schema, tableName, ast, ttl, format);
11538
11557
  }
11539
11558
  get ast() {
11540
11559
  return this._completeAst();
@@ -11833,7 +11852,8 @@ var deleteClientsMessageSchema = valita_exports.tuple([
11833
11852
  var putOpSchema = valita_exports.object({
11834
11853
  op: valita_exports.literal("put"),
11835
11854
  hash: valita_exports.string(),
11836
- ast: astSchema
11855
+ ast: astSchema,
11856
+ ttl: valita_exports.number().optional()
11837
11857
  });
11838
11858
  var delOpSchema = valita_exports.object({
11839
11859
  op: valita_exports.literal("del"),
@@ -11935,21 +11955,6 @@ var errorMessageSchema = valita_exports.tuple([
11935
11955
  errorBodySchema
11936
11956
  ]);
11937
11957
 
11938
- // ../zero-protocol/src/clients-patch.ts
11939
- var putOpSchema2 = valita_exports.object({
11940
- op: valita_exports.literal("put"),
11941
- clientID: valita_exports.string()
11942
- });
11943
- var delOpSchema2 = valita_exports.object({
11944
- op: valita_exports.literal("del"),
11945
- clientID: valita_exports.string()
11946
- });
11947
- var clearOpSchema2 = valita_exports.object({
11948
- op: valita_exports.literal("clear")
11949
- });
11950
- var patchOpSchema2 = valita_exports.union(putOpSchema2, delOpSchema2, clearOpSchema2);
11951
- var clientsPatchSchema = valita_exports.array(patchOpSchema2);
11952
-
11953
11958
  // ../zero-protocol/src/primary-key.ts
11954
11959
  var primaryKeySchema = readonly(
11955
11960
  valita_exports.tuple([valita_exports.string()]).concat(valita_exports.array(valita_exports.string()))
@@ -11964,7 +11969,7 @@ var primaryKeyValueRecordSchema = readonlyRecord(
11964
11969
  );
11965
11970
 
11966
11971
  // ../zero-protocol/src/row-patch.ts
11967
- var putOpSchema3 = valita_exports.object({
11972
+ var putOpSchema2 = valita_exports.object({
11968
11973
  op: valita_exports.literal("put"),
11969
11974
  tableName: valita_exports.string(),
11970
11975
  value: rowSchema
@@ -11976,19 +11981,19 @@ var updateOpSchema = valita_exports.object({
11976
11981
  merge: jsonObjectSchema.optional(),
11977
11982
  constrain: valita_exports.array(valita_exports.string()).optional()
11978
11983
  });
11979
- var delOpSchema3 = valita_exports.object({
11984
+ var delOpSchema2 = valita_exports.object({
11980
11985
  op: valita_exports.literal("del"),
11981
11986
  tableName: valita_exports.string(),
11982
11987
  id: primaryKeyValueRecordSchema
11983
11988
  });
11984
- var clearOpSchema3 = valita_exports.object({
11989
+ var clearOpSchema2 = valita_exports.object({
11985
11990
  op: valita_exports.literal("clear")
11986
11991
  });
11987
11992
  var rowPatchOpSchema = valita_exports.union(
11988
- putOpSchema3,
11993
+ putOpSchema2,
11989
11994
  updateOpSchema,
11990
- delOpSchema3,
11991
- clearOpSchema3
11995
+ delOpSchema2,
11996
+ clearOpSchema2
11992
11997
  );
11993
11998
  var rowsPatchSchema = valita_exports.array(rowPatchOpSchema);
11994
11999
 
@@ -12018,9 +12023,6 @@ var pokePartBodySchema = valita_exports.object({
12018
12023
  pokeID: valita_exports.string(),
12019
12024
  // Changes to last mutation id by client id.
12020
12025
  lastMutationIDChanges: valita_exports.record(valita_exports.number()).optional(),
12021
- // Patches to the set of "alive" clients (according to server) belonging to
12022
- // this client group.
12023
- clientsPatch: clientsPatchSchema.optional(),
12024
12026
  // Patches to the desired query sets by client id.
12025
12027
  desiredQueriesPatches: valita_exports.record(queriesPatchSchema).optional(),
12026
12028
  // Patches to the set of queries for which entities are sync'd in
@@ -12220,6 +12222,13 @@ function mapCRUD(arg, map) {
12220
12222
  };
12221
12223
  }
12222
12224
 
12225
+ // ../zql/src/mutate/custom.ts
12226
+ function customMutatorKey(namespace, name) {
12227
+ assert(!namespace.includes("|"), "mutator namespaces must not include a |");
12228
+ assert(!name.includes("|"), "mutator names must not include a |");
12229
+ return `${namespace}|${name}`;
12230
+ }
12231
+
12223
12232
  // ../zero-client/src/util/nanoid.ts
12224
12233
  function nanoid(size = 21) {
12225
12234
  const randomBytes = getNonCryptoRandomValues(new Uint8Array(size));
@@ -13223,13 +13232,9 @@ function* generateRows(data, scanStart, reverse) {
13223
13232
  }
13224
13233
 
13225
13234
  // ../zero-client/src/client/keys.ts
13226
- var CLIENTS_KEY_PREFIX = "c/";
13227
13235
  var DESIRED_QUERIES_KEY_PREFIX = "d/";
13228
13236
  var GOT_QUERIES_KEY_PREFIX = "g/";
13229
13237
  var ENTITIES_KEY_PREFIX = "e/";
13230
- function toClientsKey(clientID) {
13231
- return CLIENTS_KEY_PREFIX + clientID;
13232
- }
13233
13238
  function toDesiredQueriesKey(clientID, hash2) {
13234
13239
  return DESIRED_QUERIES_KEY_PREFIX + clientID + "/" + hash2;
13235
13240
  }
@@ -13404,8 +13409,8 @@ var ZeroContext = class {
13404
13409
  getSource(name) {
13405
13410
  return this.#mainSources.getSource(name);
13406
13411
  }
13407
- addServerQuery(ast, gotCallback) {
13408
- return this.#addQuery(ast, gotCallback);
13412
+ addServerQuery(ast, ttl, gotCallback) {
13413
+ return this.#addQuery(ast, ttl, gotCallback);
13409
13414
  }
13410
13415
  createStorage() {
13411
13416
  return new MemoryStorage();
@@ -14082,7 +14087,7 @@ function makeMessage(message, context, logLevel) {
14082
14087
  }
14083
14088
 
14084
14089
  // ../zero-client/src/client/version.ts
14085
- var version2 = "0.16.2025021600";
14090
+ var version2 = "0.16.2025021800";
14086
14091
 
14087
14092
  // ../zero-client/src/client/log-options.ts
14088
14093
  var LevelFilterLogSink = class {
@@ -14449,9 +14454,9 @@ var QueryManager = class {
14449
14454
  patch.set(hash2, { op: "del", hash: hash2 });
14450
14455
  }
14451
14456
  }
14452
- for (const [hash2, { normalized }] of this.#queries) {
14457
+ for (const [hash2, { normalized, ttl }] of this.#queries) {
14453
14458
  if (!existingQueryHashes.has(hash2)) {
14454
- patch.set(hash2, { op: "put", hash: hash2, ast: normalized });
14459
+ patch.set(hash2, { op: "put", hash: hash2, ast: normalized, ttl });
14455
14460
  }
14456
14461
  }
14457
14462
  if (lastPatch) {
@@ -14469,7 +14474,7 @@ var QueryManager = class {
14469
14474
  }
14470
14475
  return patch;
14471
14476
  }
14472
- add(ast, gotCallback) {
14477
+ add(ast, ttl, gotCallback) {
14473
14478
  const normalized = normalizeAST(ast);
14474
14479
  const astHash = hashOfAST(normalized);
14475
14480
  let entry = this.#queries.get(astHash);
@@ -14479,15 +14484,31 @@ var QueryManager = class {
14479
14484
  entry = {
14480
14485
  normalized: serverAST,
14481
14486
  count: 1,
14482
- gotCallbacks: gotCallback === void 0 ? [] : [gotCallback]
14487
+ gotCallbacks: gotCallback === void 0 ? [] : [gotCallback],
14488
+ ttl
14483
14489
  };
14484
14490
  this.#queries.set(astHash, entry);
14485
14491
  this.#send([
14486
14492
  "changeDesiredQueries",
14487
- { desiredQueriesPatch: [{ op: "put", hash: astHash, ast: serverAST }] }
14493
+ {
14494
+ desiredQueriesPatch: [
14495
+ { op: "put", hash: astHash, ast: serverAST, ttl }
14496
+ ]
14497
+ }
14488
14498
  ]);
14489
14499
  } else {
14490
14500
  ++entry.count;
14501
+ if (ttl !== void 0 && (entry.ttl === void 0 || ttl > entry.ttl)) {
14502
+ entry.ttl = ttl;
14503
+ this.#send([
14504
+ "changeDesiredQueries",
14505
+ {
14506
+ desiredQueriesPatch: [
14507
+ { op: "put", hash: astHash, ast: entry.normalized, ttl }
14508
+ ]
14509
+ }
14510
+ ]);
14511
+ }
14491
14512
  if (gotCallback) {
14492
14513
  entry.gotCallbacks.push(gotCallback);
14493
14514
  }
@@ -14870,11 +14891,6 @@ function mergePokes(pokeBuffer, schema, serverToClient2) {
14870
14891
  mergedLastMutationIDChanges[clientID] = lastMutationID;
14871
14892
  }
14872
14893
  }
14873
- if (pokePart.clientsPatch) {
14874
- mergedPatch.push(
14875
- ...pokePart.clientsPatch.map(clientsPatchOpToReplicachePatchOp)
14876
- );
14877
- }
14878
14894
  if (pokePart.desiredQueriesPatches) {
14879
14895
  for (const [clientID, queriesPatch] of Object.entries(
14880
14896
  pokePart.desiredQueriesPatches
@@ -14919,24 +14935,6 @@ function mergePokes(pokeBuffer, schema, serverToClient2) {
14919
14935
  }
14920
14936
  };
14921
14937
  }
14922
- function clientsPatchOpToReplicachePatchOp(op) {
14923
- switch (op.op) {
14924
- case "clear":
14925
- return op;
14926
- case "del":
14927
- return {
14928
- op: "del",
14929
- key: toClientsKey(op.clientID)
14930
- };
14931
- case "put":
14932
- default:
14933
- return {
14934
- op: "put",
14935
- key: toClientsKey(op.clientID),
14936
- value: true
14937
- };
14938
- }
14939
- }
14940
14938
  function queryPatchOpToReplicachePatchOp(op, toKey, serverToClient2) {
14941
14939
  switch (op.op) {
14942
14940
  case "clear":
@@ -14999,13 +14997,6 @@ function rafFallback(callback) {
14999
14997
  setTimeout(callback, 0);
15000
14998
  }
15001
14999
 
15002
- // ../zql/src/mutate/custom.ts
15003
- function customMutatorKey(namespace, name) {
15004
- assert(!namespace.includes("|"), "mutator namespaces must not include a |");
15005
- assert(!name.includes("|"), "mutator names must not include a |");
15006
- return `${namespace}|${name}`;
15007
- }
15008
-
15009
15000
  // ../zero-client/src/client/zero.ts
15010
15001
  var onSetConnectionStateSymbol = Symbol();
15011
15002
  var exposedToTestingSymbol = Symbol();
@@ -15282,7 +15273,7 @@ var Zero = class {
15282
15273
  );
15283
15274
  this.#zeroContext = new ZeroContext(
15284
15275
  this.#ivmSources.main,
15285
- (ast, gotCallback) => this.#queryManager.add(ast, gotCallback),
15276
+ (ast, ttl, gotCallback) => this.#queryManager.add(ast, ttl, gotCallback),
15286
15277
  batchViewUpdates
15287
15278
  );
15288
15279
  rep.experimentalWatch(
@@ -16259,4 +16250,4 @@ export {
16259
16250
  escapeLike,
16260
16251
  Zero
16261
16252
  };
16262
- //# sourceMappingURL=chunk-UXNMWQHT.js.map
16253
+ //# sourceMappingURL=chunk-DJDCQZQL.js.map