@osdk/client 2.8.0-beta.2 → 2.8.0-beta.4

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 (90) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +1 -1
  3. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  4. package/build/browser/objectSet/createObjectSet.js +0 -4
  5. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  6. package/build/browser/observable/ObservableClient.js.map +1 -1
  7. package/build/browser/observable/internal/AbstractHelper.js +19 -1
  8. package/build/browser/observable/internal/AbstractHelper.js.map +1 -1
  9. package/build/browser/observable/internal/ListQueryView.js +115 -0
  10. package/build/browser/observable/internal/ListQueryView.js.map +1 -0
  11. package/build/browser/observable/internal/ObservableClientImpl.js +23 -5
  12. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  13. package/build/browser/observable/internal/Query.js +7 -5
  14. package/build/browser/observable/internal/Query.js.map +1 -1
  15. package/build/browser/observable/internal/Store.test.js +83 -1
  16. package/build/browser/observable/internal/Store.test.js.map +1 -1
  17. package/build/browser/observable/internal/base-list/BaseListQuery.js +72 -0
  18. package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -1
  19. package/build/browser/observable/internal/function/FunctionQuery.js +27 -1
  20. package/build/browser/observable/internal/function/FunctionQuery.js.map +1 -1
  21. package/build/browser/observable/internal/function/FunctionsHelper.js +2 -1
  22. package/build/browser/observable/internal/function/FunctionsHelper.js.map +1 -1
  23. package/build/browser/observable/internal/links/SpecificLinkQuery.js +1 -1
  24. package/build/browser/observable/internal/links/SpecificLinkQuery.js.map +1 -1
  25. package/build/browser/observable/internal/list/ListQuery.js +2 -2
  26. package/build/browser/observable/internal/list/ListQuery.js.map +1 -1
  27. package/build/browser/observable/internal/objectset/ObjectSetQuery.js +1 -1
  28. package/build/browser/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  29. package/build/browser/public/unstable-do-not-use.js +1 -0
  30. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  31. package/build/browser/util/UserAgent.js +2 -2
  32. package/build/cjs/{chunk-XUFF6M4V.cjs → chunk-O22QYBFF.cjs} +132 -131
  33. package/build/cjs/chunk-O22QYBFF.cjs.map +1 -0
  34. package/build/cjs/{chunk-II23HDVV.cjs → chunk-RKC3366I.cjs} +65 -65
  35. package/build/cjs/{chunk-II23HDVV.cjs.map → chunk-RKC3366I.cjs.map} +1 -1
  36. package/build/cjs/index.cjs +8 -8
  37. package/build/cjs/public/internal.cjs +8 -8
  38. package/build/cjs/public/unstable-do-not-use.cjs +244 -68
  39. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  40. package/build/cjs/public/unstable-do-not-use.d.cts +13 -5
  41. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +1 -1
  42. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  43. package/build/esm/objectSet/createObjectSet.js +0 -4
  44. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  45. package/build/esm/observable/ObservableClient.js.map +1 -1
  46. package/build/esm/observable/internal/AbstractHelper.js +19 -1
  47. package/build/esm/observable/internal/AbstractHelper.js.map +1 -1
  48. package/build/esm/observable/internal/ListQueryView.js +115 -0
  49. package/build/esm/observable/internal/ListQueryView.js.map +1 -0
  50. package/build/esm/observable/internal/ObservableClientImpl.js +23 -5
  51. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  52. package/build/esm/observable/internal/Query.js +7 -5
  53. package/build/esm/observable/internal/Query.js.map +1 -1
  54. package/build/esm/observable/internal/Store.test.js +83 -1
  55. package/build/esm/observable/internal/Store.test.js.map +1 -1
  56. package/build/esm/observable/internal/base-list/BaseListQuery.js +72 -0
  57. package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -1
  58. package/build/esm/observable/internal/function/FunctionQuery.js +27 -1
  59. package/build/esm/observable/internal/function/FunctionQuery.js.map +1 -1
  60. package/build/esm/observable/internal/function/FunctionsHelper.js +2 -1
  61. package/build/esm/observable/internal/function/FunctionsHelper.js.map +1 -1
  62. package/build/esm/observable/internal/links/SpecificLinkQuery.js +1 -1
  63. package/build/esm/observable/internal/links/SpecificLinkQuery.js.map +1 -1
  64. package/build/esm/observable/internal/list/ListQuery.js +2 -2
  65. package/build/esm/observable/internal/list/ListQuery.js.map +1 -1
  66. package/build/esm/observable/internal/objectset/ObjectSetQuery.js +1 -1
  67. package/build/esm/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  68. package/build/esm/public/unstable-do-not-use.js +1 -0
  69. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  70. package/build/esm/util/UserAgent.js +2 -2
  71. package/build/types/objectSet/createObjectSet.d.ts +5 -1
  72. package/build/types/objectSet/createObjectSet.d.ts.map +1 -1
  73. package/build/types/observable/ObservableClient.d.ts +6 -2
  74. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  75. package/build/types/observable/internal/AbstractHelper.d.ts +1 -1
  76. package/build/types/observable/internal/AbstractHelper.d.ts.map +1 -1
  77. package/build/types/observable/internal/ListQueryView.d.ts +21 -0
  78. package/build/types/observable/internal/ListQueryView.d.ts.map +1 -0
  79. package/build/types/observable/internal/Query.d.ts.map +1 -1
  80. package/build/types/observable/internal/Store.test.d.ts.map +1 -1
  81. package/build/types/observable/internal/base-list/BaseListQuery.d.ts +46 -2
  82. package/build/types/observable/internal/base-list/BaseListQuery.d.ts.map +1 -1
  83. package/build/types/observable/internal/function/FunctionQuery.d.ts +1 -1
  84. package/build/types/observable/internal/function/FunctionQuery.d.ts.map +1 -1
  85. package/build/types/observable/internal/function/FunctionsHelper.d.ts +1 -0
  86. package/build/types/observable/internal/function/FunctionsHelper.d.ts.map +1 -1
  87. package/build/types/public/unstable-do-not-use.d.ts +1 -0
  88. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  89. package/package.json +5 -5
  90. package/build/cjs/chunk-XUFF6M4V.cjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkII23HDVV_cjs = require('../chunk-II23HDVV.cjs');
4
- var chunkXUFF6M4V_cjs = require('../chunk-XUFF6M4V.cjs');
3
+ var chunkRKC3366I_cjs = require('../chunk-RKC3366I.cjs');
4
+ var chunkO22QYBFF_cjs = require('../chunk-O22QYBFF.cjs');
5
5
  var chunkLDTMSHUZ_cjs = require('../chunk-LDTMSHUZ.cjs');
6
6
  var trie = require('@wry/trie');
7
7
  var deepEqual = require('fast-deep-equal');
@@ -153,7 +153,7 @@ var WhereClauseCanonicalizer = class {
153
153
  var whereCanonicalizer = new WhereClauseCanonicalizer();
154
154
  var orderByCanonicalizer = new OrderByCanonicalizer();
155
155
  function computeObjectSetCacheKey(objectSet, options) {
156
- const keyParts = ["objectSet", chunkXUFF6M4V_cjs.getWireObjectSet(objectSet)];
156
+ const keyParts = ["objectSet", chunkO22QYBFF_cjs.getWireObjectSet(objectSet)];
157
157
  if (!options) {
158
158
  return JSON.stringify(keyParts);
159
159
  }
@@ -165,13 +165,13 @@ function computeObjectSetCacheKey(objectSet, options) {
165
165
  keyParts.push("props", propKeys);
166
166
  }
167
167
  if (options.union && options.union.length > 0) {
168
- keyParts.push("union", options.union.map((os) => chunkXUFF6M4V_cjs.getWireObjectSet(os)));
168
+ keyParts.push("union", options.union.map((os) => chunkO22QYBFF_cjs.getWireObjectSet(os)));
169
169
  }
170
170
  if (options.intersect && options.intersect.length > 0) {
171
- keyParts.push("intersect", options.intersect.map((os) => chunkXUFF6M4V_cjs.getWireObjectSet(os)));
171
+ keyParts.push("intersect", options.intersect.map((os) => chunkO22QYBFF_cjs.getWireObjectSet(os)));
172
172
  }
173
173
  if (options.subtract && options.subtract.length > 0) {
174
- keyParts.push("subtract", options.subtract.map((os) => chunkXUFF6M4V_cjs.getWireObjectSet(os)));
174
+ keyParts.push("subtract", options.subtract.map((os) => chunkO22QYBFF_cjs.getWireObjectSet(os)));
175
175
  }
176
176
  if (options.pivotTo) {
177
177
  keyParts.push("pivotTo", options.pivotTo);
@@ -233,16 +233,26 @@ var ObservableClientImpl = class {
233
233
  };
234
234
  observeFunction = (queryDef, params, options, subFn) => {
235
235
  const dependsOn = options.dependsOn?.map((dep) => typeof dep === "string" ? dep : dep.apiName);
236
- const dependsOnObjects = options.dependsOnObjects?.map((obj) => ({
237
- $apiName: obj.$objectType ?? obj.$apiName,
238
- $primaryKey: obj.$primaryKey
239
- }));
236
+ const instances = [];
237
+ const objectSetWires = [];
238
+ for (const item of options.dependsOnObjects ?? []) {
239
+ if (chunkO22QYBFF_cjs.isObjectSet(item)) {
240
+ objectSetWires.push(chunkO22QYBFF_cjs.getWireObjectSet(item));
241
+ } else {
242
+ instances.push({
243
+ $apiName: item.$objectType ?? item.$apiName,
244
+ $primaryKey: item.$primaryKey
245
+ });
246
+ }
247
+ }
248
+ const objectSetTypesPromise = objectSetWires.length > 0 ? Promise.all(objectSetWires.map((wire) => chunkO22QYBFF_cjs.extractObjectOrInterfaceType(this.__experimentalStore.client[chunkO22QYBFF_cjs.additionalContext], wire))).then((types) => types.filter((t) => t != null).map((t) => t.apiName)) : void 0;
240
249
  return this.__experimentalStore.functions.observe({
241
250
  ...options,
242
251
  queryDef,
243
252
  params,
244
253
  dependsOn,
245
- dependsOnObjects
254
+ dependsOnObjects: instances,
255
+ objectSetTypesPromise
246
256
  }, subFn);
247
257
  };
248
258
  observeLinks = (objects, linkName, options, subFn) => {
@@ -371,7 +381,7 @@ var OptimisticJob = class {
371
381
  return this;
372
382
  },
373
383
  createObject(type, pk, properties) {
374
- const create = store.client[chunkXUFF6M4V_cjs.additionalContext].objectFactory2(store.client[chunkXUFF6M4V_cjs.additionalContext], [{
384
+ const create = store.client[chunkO22QYBFF_cjs.additionalContext].objectFactory2(store.client[chunkO22QYBFF_cjs.additionalContext], [{
375
385
  $primaryKey: pk,
376
386
  $apiName: type.apiName,
377
387
  $objectType: type.apiName,
@@ -513,6 +523,78 @@ chunkLDTMSHUZ_cjs.init_cjs_shims();
513
523
  // src/observable/internal/AbstractHelper.ts
514
524
  chunkLDTMSHUZ_cjs.init_cjs_shims();
515
525
 
526
+ // src/observable/internal/ListQueryView.ts
527
+ chunkLDTMSHUZ_cjs.init_cjs_shims();
528
+ var viewIdCounter = 0;
529
+ var ListQueryView = class {
530
+ #query;
531
+ #viewLimit;
532
+ #pageSize;
533
+ #viewId;
534
+ #fetchMore;
535
+ #pendingFetchMore;
536
+ #lastPayload;
537
+ #observer;
538
+ constructor(query, pageSize, autoFetchMore) {
539
+ this.#query = query;
540
+ this.#pageSize = pageSize;
541
+ this.#viewId = `view_${++viewIdCounter}`;
542
+ const hasAutoFetch = autoFetchMore === true || typeof autoFetchMore === "number" && autoFetchMore > 0;
543
+ this.#viewLimit = hasAutoFetch ? Number.MAX_SAFE_INTEGER : pageSize;
544
+ this.#fetchMore = this.#createFetchMore();
545
+ query.registerFetchPageSize(this.#viewId, pageSize);
546
+ }
547
+ subscribe(observer) {
548
+ this.#observer = observer;
549
+ const sub = this.#query.subscribe({
550
+ next: (payload) => {
551
+ this.#lastPayload = payload;
552
+ observer.next?.(this.#transformPayload(payload));
553
+ },
554
+ error: (err) => observer.error?.(err),
555
+ complete: () => observer.complete?.()
556
+ });
557
+ sub.add(() => {
558
+ this.#query.unregisterFetchPageSize(this.#viewId);
559
+ this.#observer = void 0;
560
+ this.#lastPayload = void 0;
561
+ });
562
+ return sub;
563
+ }
564
+ #reEmitWithNewViewLimit() {
565
+ if (this.#lastPayload && this.#observer) {
566
+ this.#observer.next?.(this.#transformPayload(this.#lastPayload));
567
+ }
568
+ }
569
+ #transformPayload(payload) {
570
+ const loadedCount = payload.resolvedList.length;
571
+ return {
572
+ ...payload,
573
+ resolvedList: payload.resolvedList.slice(0, this.#viewLimit),
574
+ hasMore: this.#viewLimit < loadedCount || payload.hasMore,
575
+ fetchMore: this.#fetchMore
576
+ };
577
+ }
578
+ #createFetchMore() {
579
+ return () => {
580
+ if (this.#pendingFetchMore) {
581
+ return this.#pendingFetchMore;
582
+ }
583
+ this.#viewLimit += this.#pageSize;
584
+ const loadedCount = this.#query.getLoadedCount();
585
+ const hasMoreOnServer = this.#query.hasMorePages();
586
+ if (this.#viewLimit > loadedCount && hasMoreOnServer) {
587
+ this.#pendingFetchMore = this.#query.fetchMore().finally(() => {
588
+ this.#pendingFetchMore = void 0;
589
+ });
590
+ return this.#pendingFetchMore;
591
+ }
592
+ this.#reEmitWithNewViewLimit();
593
+ return Promise.resolve();
594
+ };
595
+ }
596
+ };
597
+
516
598
  // src/observable/internal/QuerySubscription.ts
517
599
  chunkLDTMSHUZ_cjs.init_cjs_shims();
518
600
  var subscriptionIdCounter = 0;
@@ -540,6 +622,9 @@ var QuerySubscription = class extends UnsubscribableWrapper {
540
622
  };
541
623
 
542
624
  // src/observable/internal/AbstractHelper.ts
625
+ function supportsViews(query) {
626
+ return query != null && typeof query.registerFetchPageSize === "function" && typeof query.getLoadedCount === "function" && typeof query.hasMorePages === "function" && typeof query.notifySubscribers === "function" && typeof query.fetchMore === "function";
627
+ }
543
628
  var AbstractHelper = class {
544
629
  constructor(store, cacheKeys) {
545
630
  this.store = store;
@@ -561,7 +646,9 @@ var AbstractHelper = class {
561
646
  }
562
647
  });
563
648
  }
564
- const sub = query.subscribe(subFn);
649
+ const listOptions = options;
650
+ const useView = supportsViews(query) && (listOptions.pageSize !== void 0 || listOptions.autoFetchMore !== void 0);
651
+ const sub = useView ? new ListQueryView(query, listOptions.pageSize ?? 100, listOptions.autoFetchMore).subscribe(subFn) : query.subscribe(subFn);
565
652
  const querySub = new QuerySubscription(query, sub);
566
653
  query.registerSubscriptionDedupeInterval(querySub.subscriptionId, options.dedupeInterval);
567
654
  sub.add(() => {
@@ -593,7 +680,7 @@ var Query = class {
593
680
  this.store = store;
594
681
  this.cacheKeys = store.cacheKeys;
595
682
  this.#subject = observable;
596
- this.logger = logger ?? (process.env.NODE_ENV === "production" ? store.client[chunkXUFF6M4V_cjs.additionalContext].logger : store.client[chunkXUFF6M4V_cjs.additionalContext].logger?.child({}, {
683
+ this.logger = logger ?? (process.env.NODE_ENV === "production" ? store.client[chunkO22QYBFF_cjs.additionalContext].logger : store.client[chunkO22QYBFF_cjs.additionalContext].logger?.child({}, {
597
684
  msgPrefix: process.env.NODE_ENV !== "production" ? `Query<${cacheKey.type}, ${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>` : "Query"
598
685
  }));
599
686
  }
@@ -664,12 +751,14 @@ var Query = class {
664
751
  await this.pendingFetch;
665
752
  return;
666
753
  }
667
- const minDedupeInterval = this.getMinimumDedupeInterval();
668
- if (minDedupeInterval > 0 && this.lastFetchStarted != null && Date.now() - this.lastFetchStarted < minDedupeInterval) {
669
- if (process.env.NODE_ENV !== "production") {
670
- logger?.debug("Within dupeInterval, aborting revalidate");
754
+ if (!force) {
755
+ const minDedupeInterval = this.getMinimumDedupeInterval();
756
+ if (minDedupeInterval > 0 && this.lastFetchStarted != null && Date.now() - this.lastFetchStarted < minDedupeInterval) {
757
+ if (process.env.NODE_ENV !== "production") {
758
+ logger?.debug("Within dupeInterval, aborting revalidate");
759
+ }
760
+ return Promise.resolve();
671
761
  }
672
- return Promise.resolve();
673
762
  }
674
763
  if (process.env.NODE_ENV !== "production") {
675
764
  logger?.debug("Starting actual revalidate");
@@ -751,7 +840,7 @@ var Query = class {
751
840
  // src/observable/internal/aggregation/AggregationQuery.ts
752
841
  var AggregationQuery = class extends Query {
753
842
  constructor(store, subject, cacheKey, opts) {
754
- super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkXUFF6M4V_cjs.additionalContext].logger?.child({}, {
843
+ super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkO22QYBFF_cjs.additionalContext].logger?.child({}, {
755
844
  msgPrefix: `AggregationQuery<${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>`
756
845
  }) : void 0);
757
846
  this.apiName = cacheKey.otherKeys[API_NAME_IDX];
@@ -1122,7 +1211,7 @@ var FunctionParamsCanonicalizer = class {
1122
1211
  path.push("$:map_end");
1123
1212
  return arr;
1124
1213
  }
1125
- if (chunkII23HDVV_cjs.isObjectSpecifiersObject(value)) {
1214
+ if (chunkRKC3366I_cjs.isObjectSpecifiersObject(value)) {
1126
1215
  const objectType = value.$objectType ?? value.$apiName;
1127
1216
  path.push("$:osdk", objectType, value.$primaryKey);
1128
1217
  return {
@@ -1130,8 +1219,8 @@ var FunctionParamsCanonicalizer = class {
1130
1219
  $primaryKey: value.$primaryKey
1131
1220
  };
1132
1221
  }
1133
- if (chunkXUFF6M4V_cjs.isObjectSet(value)) {
1134
- const wire = chunkXUFF6M4V_cjs.getWireObjectSet(value);
1222
+ if (chunkO22QYBFF_cjs.isObjectSet(value)) {
1223
+ const wire = chunkO22QYBFF_cjs.getWireObjectSet(value);
1135
1224
  path.push("$:objectset", wire);
1136
1225
  return wire;
1137
1226
  }
@@ -1193,8 +1282,8 @@ var FunctionQuery = class extends Query {
1193
1282
  #dependsOn;
1194
1283
  #dependsOnObjects;
1195
1284
  #queryDef;
1196
- constructor(store, subject, queryDef, params, cacheKey, opts) {
1197
- super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkXUFF6M4V_cjs.additionalContext].logger?.child({}, {
1285
+ constructor(store, subject, queryDef, params, cacheKey, opts, objectSetTypesPromise) {
1286
+ super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkO22QYBFF_cjs.additionalContext].logger?.child({}, {
1198
1287
  msgPrefix: `FunctionQuery<${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>`
1199
1288
  }) : void 0);
1200
1289
  this.#apiName = queryDef.apiName;
@@ -1203,6 +1292,29 @@ var FunctionQuery = class extends Query {
1203
1292
  this.#dependsOn = opts.dependsOn;
1204
1293
  this.#dependsOnObjects = opts.dependsOnObjects;
1205
1294
  this.#queryDef = queryDef;
1295
+ if (objectSetTypesPromise) {
1296
+ objectSetTypesPromise.then((types) => {
1297
+ if (this.abortController?.signal.aborted) return;
1298
+ let addedNewTypes = false;
1299
+ for (const type of types) {
1300
+ if (!this.#dependsOn) {
1301
+ this.#dependsOn = [];
1302
+ }
1303
+ if (!this.#dependsOn.includes(type)) {
1304
+ this.#dependsOn.push(type);
1305
+ addedNewTypes = true;
1306
+ }
1307
+ }
1308
+ if (addedNewTypes) {
1309
+ void this.revalidate(true);
1310
+ }
1311
+ }).catch((error) => {
1312
+ if (this.abortController?.signal.aborted) return;
1313
+ if (process.env.NODE_ENV !== "production") {
1314
+ this.logger?.error("Failed to extract ObjectSet types", error);
1315
+ }
1316
+ });
1317
+ }
1206
1318
  }
1207
1319
  _createConnectable(subject) {
1208
1320
  return rxjs.connectable(subject.pipe(rxjs.map((x) => {
@@ -1228,7 +1340,7 @@ var FunctionQuery = class extends Query {
1228
1340
  }).debug("calling _fetchAndStore");
1229
1341
  }
1230
1342
  try {
1231
- const result = await chunkII23HDVV_cjs.applyQuery(this.store.client[chunkXUFF6M4V_cjs.additionalContext], this.#queryDef, this.#params);
1343
+ const result = await chunkRKC3366I_cjs.applyQuery(this.store.client[chunkO22QYBFF_cjs.additionalContext], this.#queryDef, this.#params);
1232
1344
  const executedAt = Date.now();
1233
1345
  this.store.batch({}, (batch) => {
1234
1346
  this.writeToStore({
@@ -1311,13 +1423,14 @@ var FunctionsHelper = class extends AbstractHelper {
1311
1423
  const {
1312
1424
  queryDef,
1313
1425
  params,
1426
+ objectSetTypesPromise,
1314
1427
  ...observeOpts
1315
1428
  } = options;
1316
1429
  const apiName = queryDef.apiName;
1317
1430
  const version = queryDef.isFixedVersion ? queryDef.version : void 0;
1318
1431
  const canonicalParams = this.paramsCanonicalizer.canonicalize(params);
1319
1432
  const functionCacheKey = this.cacheKeys.get("function", apiName, version, canonicalParams);
1320
- return this.store.queries.get(functionCacheKey, () => new FunctionQuery(this.store, this.store.subjects.get(functionCacheKey), queryDef, params, functionCacheKey, observeOpts));
1433
+ return this.store.queries.get(functionCacheKey, () => new FunctionQuery(this.store, this.store.subjects.get(functionCacheKey), queryDef, params, functionCacheKey, observeOpts, objectSetTypesPromise));
1321
1434
  }
1322
1435
  async invalidateFunction(apiName, params) {
1323
1436
  const functionApiName = typeof apiName === "string" ? apiName : apiName.apiName;
@@ -1873,6 +1986,11 @@ var BaseListQuery = class extends Query {
1873
1986
  * Promise tracking an in-progress page fetch
1874
1987
  * @protected
1875
1988
  */
1989
+ /**
1990
+ * Per-subscriber page sizes for fetch optimization.
1991
+ * Tracks each view's pageSize so we can recalculate max when views unsubscribe.
1992
+ */
1993
+ #subscriberPageSizes = /* @__PURE__ */ new Map();
1876
1994
  //
1877
1995
  // Shared Implementations
1878
1996
  //
@@ -2046,6 +2164,56 @@ var BaseListQuery = class extends Query {
2046
2164
  });
2047
2165
  return this.pendingFetch;
2048
2166
  };
2167
+ /**
2168
+ * Register a subscriber's pageSize for fetch optimization.
2169
+ * The query will fetch with the max pageSize across all subscribers.
2170
+ */
2171
+ registerFetchPageSize(viewId, pageSize) {
2172
+ this.#subscriberPageSizes.set(viewId, pageSize);
2173
+ }
2174
+ /**
2175
+ * Unregister a subscriber's pageSize when they unsubscribe.
2176
+ * Allows the effective pageSize to decrease when high-pageSize subscribers leave.
2177
+ */
2178
+ unregisterFetchPageSize(viewId) {
2179
+ this.#subscriberPageSizes.delete(viewId);
2180
+ }
2181
+ /**
2182
+ * Get the effective fetch pageSize (max across all subscribers).
2183
+ * Falls back to options.pageSize or 100 if no subscribers have registered.
2184
+ */
2185
+ getEffectiveFetchPageSize() {
2186
+ if (this.#subscriberPageSizes.size > 0) {
2187
+ return Math.max(...this.#subscriberPageSizes.values());
2188
+ }
2189
+ return this.options.pageSize ?? 100;
2190
+ }
2191
+ /**
2192
+ * Get the current number of loaded items in the cache.
2193
+ */
2194
+ getLoadedCount() {
2195
+ const {
2196
+ retVal
2197
+ } = this.store.batch({}, (batch) => {
2198
+ return batch.read(this.cacheKey)?.value?.data.length ?? 0;
2199
+ });
2200
+ return retVal;
2201
+ }
2202
+ /**
2203
+ * Check if there are more pages available on the server.
2204
+ */
2205
+ hasMorePages() {
2206
+ return this.nextPageToken != null;
2207
+ }
2208
+ /**
2209
+ * Notify all subscribers of a change (used when view limits change
2210
+ * but no new data needs to be fetched).
2211
+ */
2212
+ notifySubscribers() {
2213
+ this.store.batch({}, (batch) => {
2214
+ this.registerCacheChanges(batch);
2215
+ });
2216
+ }
2049
2217
  /**
2050
2218
  * Minimum number of results to load initially
2051
2219
  * May be overridden by subclasses for specific collection types
@@ -2335,7 +2503,7 @@ var SpecificLinkQuery = class extends BaseListQuery {
2335
2503
  batch.changes.modified.add(this.cacheKey);
2336
2504
  }
2337
2505
  constructor(store, subject, cacheKey, opts) {
2338
- super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkXUFF6M4V_cjs.additionalContext].logger?.child({}, {
2506
+ super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkO22QYBFF_cjs.additionalContext].logger?.child({}, {
2339
2507
  msgPrefix: `SpecificLinkQuery<${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>`
2340
2508
  }) : void 0);
2341
2509
  [this.#sourceApiName, this.#sourcePk, this.#linkName, this.#whereClause, this.#orderBy] = cacheKey.otherKeys;
@@ -2351,7 +2519,7 @@ var SpecificLinkQuery = class extends BaseListQuery {
2351
2519
  type: "object",
2352
2520
  apiName: this.#sourceApiName
2353
2521
  };
2354
- const sourceMetadata = await client[chunkXUFF6M4V_cjs.additionalContext].ontologyProvider.getObjectDefinition(this.#sourceApiName);
2522
+ const sourceMetadata = await client[chunkO22QYBFF_cjs.additionalContext].ontologyProvider.getObjectDefinition(this.#sourceApiName);
2355
2523
  if (this.#orderBy && Object.keys(this.#orderBy).length > 0) {
2356
2524
  const linkDef = sourceMetadata.links?.[this.#linkName];
2357
2525
  if (!linkDef?.targetType) {
@@ -2367,7 +2535,7 @@ var SpecificLinkQuery = class extends BaseListQuery {
2367
2535
  throw new Error("Aborted");
2368
2536
  }
2369
2537
  const queryParams = {
2370
- $pageSize: this.options.pageSize || 100,
2538
+ $pageSize: this.getEffectiveFetchPageSize(),
2371
2539
  $nextPageToken: this.nextPageToken,
2372
2540
  $includeRid: true
2373
2541
  };
@@ -2423,7 +2591,7 @@ var SpecificLinkQuery = class extends BaseListQuery {
2423
2591
  return this.revalidate(true);
2424
2592
  } else {
2425
2593
  return (async () => {
2426
- const sourceMetadata = await this.store.client[chunkXUFF6M4V_cjs.additionalContext].ontologyProvider.getObjectDefinition(this.#sourceApiName);
2594
+ const sourceMetadata = await this.store.client[chunkO22QYBFF_cjs.additionalContext].ontologyProvider.getObjectDefinition(this.#sourceApiName);
2427
2595
  const linkDef = sourceMetadata.links?.[this.#linkName];
2428
2596
  if (!linkDef || linkDef.targetType !== objectType) return;
2429
2597
  const promise = this.revalidate(true);
@@ -2731,7 +2899,7 @@ var ListQuery = class extends BaseListQuery {
2731
2899
  batch.changes.registerList(this.cacheKey);
2732
2900
  }
2733
2901
  constructor(store, subject, apiName, cacheKey, opts) {
2734
- super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkXUFF6M4V_cjs.additionalContext].logger?.child({}, {
2902
+ super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkO22QYBFF_cjs.additionalContext].logger?.child({}, {
2735
2903
  msgPrefix: `ListQuery<${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>`
2736
2904
  }) : void 0);
2737
2905
  this.apiName = apiName;
@@ -2769,15 +2937,15 @@ var ListQuery = class extends BaseListQuery {
2769
2937
  */
2770
2938
  async fetchPageData(signal) {
2771
2939
  if (Object.keys(this.#orderBy).length > 0 && !(this.sortingStrategy instanceof OrderBySortingStrategy)) {
2772
- const wireObjectSet = chunkXUFF6M4V_cjs.getWireObjectSet(this.#objectSet);
2940
+ const wireObjectSet = chunkO22QYBFF_cjs.getWireObjectSet(this.#objectSet);
2773
2941
  const {
2774
2942
  resultType
2775
- } = await getObjectTypesThatInvalidate(this.store.client[chunkXUFF6M4V_cjs.additionalContext], wireObjectSet);
2943
+ } = await getObjectTypesThatInvalidate(this.store.client[chunkO22QYBFF_cjs.additionalContext], wireObjectSet);
2776
2944
  this.sortingStrategy = new OrderBySortingStrategy(resultType.apiName, this.#orderBy);
2777
2945
  }
2778
2946
  const resp = await this.#objectSet.fetchPage({
2779
2947
  $nextPageToken: this.nextPageToken,
2780
- $pageSize: this.options.pageSize,
2948
+ $pageSize: this.getEffectiveFetchPageSize(),
2781
2949
  $includeRid: true,
2782
2950
  // For now this keeps the shared test code from falling apart
2783
2951
  // but shouldn't be needed ideally
@@ -3038,7 +3206,7 @@ var InterfaceListQuery = class extends ListQuery {
3038
3206
  }
3039
3207
  extractRelevantObjects(changes) {
3040
3208
  const matchesApiName = ([, object]) => {
3041
- return this.apiName in object[chunkII23HDVV_cjs.ObjectDefRef].interfaceMap;
3209
+ return this.apiName in object[chunkRKC3366I_cjs.ObjectDefRef].interfaceMap;
3042
3210
  };
3043
3211
  const added = Array.from(changes.addedObjects).filter(matchesApiName).map(([, object]) => object.$as(this.apiName));
3044
3212
  const modified = Array.from(changes.modifiedObjects).filter(matchesApiName).map(([, object]) => object.$as(this.apiName));
@@ -3091,7 +3259,7 @@ var ObjectListQuery = class extends ListQuery {
3091
3259
  const intersectWith = this.cacheKey.otherKeys[INTERSECT_IDX];
3092
3260
  const pivotInfo = this.cacheKey.otherKeys[PIVOT_IDX];
3093
3261
  const rids = this.cacheKey.otherKeys[RIDS_IDX];
3094
- const clientCtx = store.client[chunkXUFF6M4V_cjs.additionalContext];
3262
+ const clientCtx = store.client[chunkO22QYBFF_cjs.additionalContext];
3095
3263
  const typeDefinition = {
3096
3264
  type: "object",
3097
3265
  apiName: this.apiName
@@ -3242,8 +3410,8 @@ function stripRdpFields(value, rdpFields) {
3242
3410
  if (rdpFields.size === 0) {
3243
3411
  return value;
3244
3412
  }
3245
- const underlying = value[chunkII23HDVV_cjs.UnderlyingOsdkObject];
3246
- const objectDef = value[chunkII23HDVV_cjs.ObjectDefRef];
3413
+ const underlying = value[chunkRKC3366I_cjs.UnderlyingOsdkObject];
3414
+ const objectDef = value[chunkRKC3366I_cjs.ObjectDefRef];
3247
3415
  const newProps = {
3248
3416
  $apiName: underlying.$apiName,
3249
3417
  $objectType: underlying.$objectType,
@@ -3256,7 +3424,7 @@ function stripRdpFields(value, rdpFields) {
3256
3424
  newProps[key] = underlying[key];
3257
3425
  }
3258
3426
  }
3259
- return chunkII23HDVV_cjs.createOsdkObject(value[chunkII23HDVV_cjs.ClientRef], objectDef, newProps);
3427
+ return chunkRKC3366I_cjs.createOsdkObject(value[chunkRKC3366I_cjs.ClientRef], objectDef, newProps);
3260
3428
  }
3261
3429
  function isSuperset(superset, subset) {
3262
3430
  for (const field of subset) {
@@ -3267,8 +3435,8 @@ function isSuperset(superset, subset) {
3267
3435
  return true;
3268
3436
  }
3269
3437
  function filterToRdpFields(value, rdpFieldsToKeep, sourceRdpFields) {
3270
- const underlying = value[chunkII23HDVV_cjs.UnderlyingOsdkObject];
3271
- const objectDef = value[chunkII23HDVV_cjs.ObjectDefRef];
3438
+ const underlying = value[chunkRKC3366I_cjs.UnderlyingOsdkObject];
3439
+ const objectDef = value[chunkRKC3366I_cjs.ObjectDefRef];
3272
3440
  const newProps = {
3273
3441
  $apiName: underlying.$apiName,
3274
3442
  $objectType: underlying.$objectType,
@@ -3284,7 +3452,7 @@ function filterToRdpFields(value, rdpFieldsToKeep, sourceRdpFields) {
3284
3452
  }
3285
3453
  }
3286
3454
  }
3287
- return chunkII23HDVV_cjs.createOsdkObject(value[chunkII23HDVV_cjs.ClientRef], objectDef, newProps);
3455
+ return chunkRKC3366I_cjs.createOsdkObject(value[chunkRKC3366I_cjs.ClientRef], objectDef, newProps);
3288
3456
  }
3289
3457
  function mergeObjectFields(sourceValue, sourceRdpFields, targetRdpFields, targetCurrentValue) {
3290
3458
  if (targetRdpFields.size === 0) {
@@ -3296,8 +3464,8 @@ function mergeObjectFields(sourceValue, sourceRdpFields, targetRdpFields, target
3296
3464
  }
3297
3465
  return filterToRdpFields(sourceValue, targetRdpFields, sourceRdpFields);
3298
3466
  }
3299
- const sourceUnderlying = sourceValue[chunkII23HDVV_cjs.UnderlyingOsdkObject];
3300
- const objectDef = sourceValue[chunkII23HDVV_cjs.ObjectDefRef];
3467
+ const sourceUnderlying = sourceValue[chunkRKC3366I_cjs.UnderlyingOsdkObject];
3468
+ const objectDef = sourceValue[chunkRKC3366I_cjs.ObjectDefRef];
3301
3469
  const newProps = {
3302
3470
  $apiName: sourceUnderlying.$apiName,
3303
3471
  $objectType: sourceUnderlying.$objectType,
@@ -3311,14 +3479,14 @@ function mergeObjectFields(sourceValue, sourceRdpFields, targetRdpFields, target
3311
3479
  }
3312
3480
  }
3313
3481
  if (targetCurrentValue) {
3314
- const targetUnderlying = targetCurrentValue[chunkII23HDVV_cjs.UnderlyingOsdkObject];
3482
+ const targetUnderlying = targetCurrentValue[chunkRKC3366I_cjs.UnderlyingOsdkObject];
3315
3483
  for (const field of targetRdpFields) {
3316
3484
  if (!sourceRdpFields.has(field) && field in targetUnderlying) {
3317
3485
  newProps[field] = targetUnderlying[field];
3318
3486
  }
3319
3487
  }
3320
3488
  }
3321
- return chunkII23HDVV_cjs.createOsdkObject(sourceValue[chunkII23HDVV_cjs.ClientRef], objectDef, newProps);
3489
+ return chunkRKC3366I_cjs.createOsdkObject(sourceValue[chunkRKC3366I_cjs.ClientRef], objectDef, newProps);
3322
3490
  }
3323
3491
 
3324
3492
  // src/observable/internal/object/ObjectCacheKeyRegistry.ts
@@ -3453,7 +3621,7 @@ var BulkObjectLoader = class {
3453
3621
  #maxEntries;
3454
3622
  constructor(client, maxWait = 25, maxEntries = 100) {
3455
3623
  this.#client = client;
3456
- this.#logger = client[chunkXUFF6M4V_cjs.additionalContext].logger;
3624
+ this.#logger = client[chunkO22QYBFF_cjs.additionalContext].logger;
3457
3625
  this.#maxWait = maxWait;
3458
3626
  this.#maxEntries = maxEntries;
3459
3627
  }
@@ -3522,7 +3690,7 @@ var ObjectQuery = class extends Query {
3522
3690
  #apiName;
3523
3691
  #pk;
3524
3692
  constructor(store, subject, type, pk, cacheKey, opts) {
3525
- super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkXUFF6M4V_cjs.additionalContext].logger?.child({}, {
3693
+ super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkO22QYBFF_cjs.additionalContext].logger?.child({}, {
3526
3694
  msgPrefix: `ObjectQuery<${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>`
3527
3695
  }) : void 0);
3528
3696
  this.#apiName = type;
@@ -3683,7 +3851,7 @@ var ObjectSetQuery = class extends BaseListQuery {
3683
3851
  #composedObjectSet;
3684
3852
  #objectTypes;
3685
3853
  constructor(store, subject, baseObjectSetWire, operations, cacheKey, opts) {
3686
- super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkXUFF6M4V_cjs.additionalContext].logger?.child({}, {
3854
+ super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkO22QYBFF_cjs.additionalContext].logger?.child({}, {
3687
3855
  msgPrefix: `ObjectSetQuery<${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>`
3688
3856
  }) : void 0);
3689
3857
  this.#baseObjectSetWire = baseObjectSetWire;
@@ -3728,7 +3896,7 @@ var ObjectSetQuery = class extends BaseListQuery {
3728
3896
  }
3729
3897
  if (opts.union) {
3730
3898
  for (const os of opts.union) {
3731
- const wire = chunkXUFF6M4V_cjs.getWireObjectSet(os);
3899
+ const wire = chunkO22QYBFF_cjs.getWireObjectSet(os);
3732
3900
  if (wire.type) {
3733
3901
  types.add(wire.type);
3734
3902
  }
@@ -3736,7 +3904,7 @@ var ObjectSetQuery = class extends BaseListQuery {
3736
3904
  }
3737
3905
  if (opts.intersect) {
3738
3906
  for (const os of opts.intersect) {
3739
- const wire = chunkXUFF6M4V_cjs.getWireObjectSet(os);
3907
+ const wire = chunkO22QYBFF_cjs.getWireObjectSet(os);
3740
3908
  if (wire.type) {
3741
3909
  types.add(wire.type);
3742
3910
  }
@@ -3744,7 +3912,7 @@ var ObjectSetQuery = class extends BaseListQuery {
3744
3912
  }
3745
3913
  if (opts.subtract) {
3746
3914
  for (const os of opts.subtract) {
3747
- const wire = chunkXUFF6M4V_cjs.getWireObjectSet(os);
3915
+ const wire = chunkO22QYBFF_cjs.getWireObjectSet(os);
3748
3916
  if (wire.type) {
3749
3917
  types.add(wire.type);
3750
3918
  }
@@ -3764,15 +3932,15 @@ var ObjectSetQuery = class extends BaseListQuery {
3764
3932
  */
3765
3933
  async fetchPageData(signal) {
3766
3934
  if (this.#operations.orderBy && Object.keys(this.#operations.orderBy).length > 0 && !(this.sortingStrategy instanceof OrderBySortingStrategy)) {
3767
- const wireObjectSet = chunkXUFF6M4V_cjs.getWireObjectSet(this.#composedObjectSet);
3935
+ const wireObjectSet = chunkO22QYBFF_cjs.getWireObjectSet(this.#composedObjectSet);
3768
3936
  const {
3769
3937
  resultType
3770
- } = await getObjectTypesThatInvalidate(this.store.client[chunkXUFF6M4V_cjs.additionalContext], wireObjectSet);
3938
+ } = await getObjectTypesThatInvalidate(this.store.client[chunkO22QYBFF_cjs.additionalContext], wireObjectSet);
3771
3939
  this.sortingStrategy = new OrderBySortingStrategy(resultType.apiName, this.#operations.orderBy);
3772
3940
  }
3773
3941
  const resp = await this.#composedObjectSet.fetchPage({
3774
3942
  $nextPageToken: this.nextPageToken,
3775
- $pageSize: this.options.pageSize,
3943
+ $pageSize: this.getEffectiveFetchPageSize(),
3776
3944
  $includeRid: true,
3777
3945
  // OrderBy is already applied in the composed ObjectSet
3778
3946
  ...this.#operations.orderBy && Object.keys(this.#operations.orderBy).length > 0 ? {
@@ -3836,7 +4004,7 @@ var ObjectSetHelper = class extends AbstractHelper {
3836
4004
  const {
3837
4005
  baseObjectSet
3838
4006
  } = options;
3839
- const baseObjectSetWire = JSON.stringify(chunkXUFF6M4V_cjs.getWireObjectSet(baseObjectSet));
4007
+ const baseObjectSetWire = JSON.stringify(chunkO22QYBFF_cjs.getWireObjectSet(baseObjectSet));
3840
4008
  const operations = this.buildCanonicalizedOperations(options);
3841
4009
  const objectSetCacheKey = this.cacheKeys.get("objectSet", baseObjectSetWire, operations);
3842
4010
  return this.store.queries.get(objectSetCacheKey, () => {
@@ -3852,13 +4020,13 @@ var ObjectSetHelper = class extends AbstractHelper {
3852
4020
  operations.withProperties = Object.keys(options.withProperties).sort();
3853
4021
  }
3854
4022
  if (options.union && options.union.length > 0) {
3855
- operations.union = options.union.map((os) => JSON.stringify(chunkXUFF6M4V_cjs.getWireObjectSet(os)));
4023
+ operations.union = options.union.map((os) => JSON.stringify(chunkO22QYBFF_cjs.getWireObjectSet(os)));
3856
4024
  }
3857
4025
  if (options.intersect && options.intersect.length > 0) {
3858
- operations.intersect = options.intersect.map((os) => JSON.stringify(chunkXUFF6M4V_cjs.getWireObjectSet(os)));
4026
+ operations.intersect = options.intersect.map((os) => JSON.stringify(chunkO22QYBFF_cjs.getWireObjectSet(os)));
3859
4027
  }
3860
4028
  if (options.subtract && options.subtract.length > 0) {
3861
- operations.subtract = options.subtract.map((os) => JSON.stringify(chunkXUFF6M4V_cjs.getWireObjectSet(os)));
4029
+ operations.subtract = options.subtract.map((os) => JSON.stringify(chunkO22QYBFF_cjs.getWireObjectSet(os)));
3862
4030
  }
3863
4031
  if (options.pivotTo) {
3864
4032
  operations.pivotTo = options.pivotTo;
@@ -3930,7 +4098,7 @@ var RdpCanonicalizer = class extends CachingCanonicalizer {
3930
4098
  apiName: "__rdp_canonicalizer_holder__"
3931
4099
  };
3932
4100
  for (const [key, rdpFunction] of Object.entries(rdp)) {
3933
- const builder = chunkXUFF6M4V_cjs.createWithPropertiesObjectSet(
4101
+ const builder = chunkO22QYBFF_cjs.createWithPropertiesObjectSet(
3934
4102
  objectTypeHolder,
3935
4103
  {
3936
4104
  type: "methodInput"
@@ -3998,7 +4166,7 @@ var Store = class {
3998
4166
  subjects = this.layers.subjects;
3999
4167
  // these are hopefully temporary
4000
4168
  constructor(client) {
4001
- this.logger = client[chunkXUFF6M4V_cjs.additionalContext].logger?.child({}, {
4169
+ this.logger = client[chunkO22QYBFF_cjs.additionalContext].logger?.child({}, {
4002
4170
  msgPrefix: "Store"
4003
4171
  });
4004
4172
  this.client = client;
@@ -4271,10 +4439,10 @@ var Store = class {
4271
4439
 
4272
4440
  // src/observable/ObservableClient.ts
4273
4441
  function createObservableClient(client) {
4274
- const tweakedClient = chunkII23HDVV_cjs.createClientFromContext({
4275
- ...client[chunkXUFF6M4V_cjs.additionalContext],
4276
- fetch: shared_net_fetch.createFetchHeaderMutator(client[chunkXUFF6M4V_cjs.additionalContext].fetch, (headers) => {
4277
- headers.set("Fetch-User-Agent", [headers.get("Fetch-User-Agent"), chunkII23HDVV_cjs.OBSERVABLE_USER_AGENT].filter((x) => x && x?.length > 0).join(" "));
4442
+ const tweakedClient = chunkRKC3366I_cjs.createClientFromContext({
4443
+ ...client[chunkO22QYBFF_cjs.additionalContext],
4444
+ fetch: shared_net_fetch.createFetchHeaderMutator(client[chunkO22QYBFF_cjs.additionalContext].fetch, (headers) => {
4445
+ headers.set("Fetch-User-Agent", [headers.get("Fetch-User-Agent"), chunkRKC3366I_cjs.OBSERVABLE_USER_AGENT].filter((x) => x && x?.length > 0).join(" "));
4278
4446
  return headers;
4279
4447
  })
4280
4448
  });
@@ -4318,11 +4486,19 @@ function getOsdkConfig(ontologyRid) {
4318
4486
 
4319
4487
  Object.defineProperty(exports, "createClientWithTransaction", {
4320
4488
  enumerable: true,
4321
- get: function () { return chunkII23HDVV_cjs.createClientWithTransaction; }
4489
+ get: function () { return chunkRKC3366I_cjs.createClientWithTransaction; }
4322
4490
  });
4323
4491
  Object.defineProperty(exports, "augment", {
4324
4492
  enumerable: true,
4325
- get: function () { return chunkXUFF6M4V_cjs.augment; }
4493
+ get: function () { return chunkO22QYBFF_cjs.augment; }
4494
+ });
4495
+ Object.defineProperty(exports, "getWireObjectSet", {
4496
+ enumerable: true,
4497
+ get: function () { return chunkO22QYBFF_cjs.getWireObjectSet; }
4498
+ });
4499
+ Object.defineProperty(exports, "isObjectSet", {
4500
+ enumerable: true,
4501
+ get: function () { return chunkO22QYBFF_cjs.isObjectSet; }
4326
4502
  });
4327
4503
  exports.computeObjectSetCacheKey = computeObjectSetCacheKey;
4328
4504
  exports.createObservableClient = createObservableClient;