@salesforce/lds-worker-api 1.368.0 → 1.369.0

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.
@@ -1222,4 +1222,4 @@ if (process.env.NODE_ENV !== 'production') {
1222
1222
  }
1223
1223
 
1224
1224
  export { createPrimingSession, draftManager, draftQueue, evictCacheRecordsByIds, evictExpiredCacheEntries, executeAdapter, executeMutatingAdapter, getImperativeAdapterNames, importLuvioAdapterModule, invokeAdapter, invokeAdapterWithDraftToMerge, invokeAdapterWithDraftToReplace, invokeAdapterWithMetadata, nimbusDraftQueue, setMetadataTTL, setUiApiRecordTTL, stopEviction, subscribeToAdapter };
1225
- // version: 1.368.0-20c9e0247b
1225
+ // version: 1.369.0-b61b56bd49
@@ -4146,7 +4146,7 @@ function createResourceParamsImpl(config, configMetadata) {
4146
4146
  }
4147
4147
  return resourceParams;
4148
4148
  }
4149
- // engine version: 0.158.3-41cf8514
4149
+ // engine version: 0.158.7-bafe2646
4150
4150
 
4151
4151
  /**
4152
4152
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -4274,7 +4274,7 @@ function withDefaultLuvio(callback) {
4274
4274
  }
4275
4275
  callbacks.push(callback);
4276
4276
  }
4277
- // version: 1.368.0-20c9e0247b
4277
+ // version: 1.369.0-b61b56bd49
4278
4278
 
4279
4279
  // TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
4280
4280
  function instrumentAdapter$1(createFunction, _metadata) {
@@ -4645,6 +4645,53 @@ function createWireAdapterConstructor$1(adapter, name, luvio) {
4645
4645
  return constructor;
4646
4646
  }
4647
4647
 
4648
+ /**
4649
+ * Simple deep equality comparison for configuration objects.
4650
+ * Handles primitives, arrays, and plain objects.
4651
+ */
4652
+ function deepEquals$1(a, b) {
4653
+ if (a === b) {
4654
+ return true;
4655
+ }
4656
+ if (a === null || a === undefined || b === null || b === undefined) {
4657
+ return a === b;
4658
+ }
4659
+ if (typeof a !== typeof b) {
4660
+ return false;
4661
+ }
4662
+ if (typeof a !== 'object') {
4663
+ return false;
4664
+ }
4665
+ if (Array.isArray(a) !== Array.isArray(b)) {
4666
+ return false;
4667
+ }
4668
+ if (Array.isArray(a) && Array.isArray(b)) {
4669
+ if (a.length !== b.length) {
4670
+ return false;
4671
+ }
4672
+ for (let i = 0; i < a.length; i++) {
4673
+ if (!deepEquals$1(a[i], b[i])) {
4674
+ return false;
4675
+ }
4676
+ }
4677
+ return true;
4678
+ }
4679
+ // Handle plain objects
4680
+ const aKeys = Object.keys(a);
4681
+ const bKeys = Object.keys(b);
4682
+ if (aKeys.length !== bKeys.length) {
4683
+ return false;
4684
+ }
4685
+ for (const key of aKeys) {
4686
+ if (!bKeys.includes(key)) {
4687
+ return false;
4688
+ }
4689
+ if (!deepEquals$1(a[key], b[key])) {
4690
+ return false;
4691
+ }
4692
+ }
4693
+ return true;
4694
+ }
4648
4695
  class LWCInfinteScrollingLuvioWireAdapter extends LWCLuvioWireAdapter {
4649
4696
  constructor(adapter, name, luvio, callback, sourceContext, paginationConfigParamNames) {
4650
4697
  super(adapter, name, luvio, callback, sourceContext);
@@ -4680,7 +4727,7 @@ class LWCInfinteScrollingLuvioWireAdapter extends LWCLuvioWireAdapter {
4680
4727
  var _a;
4681
4728
  // If this is not a pagination param and its value has changed
4682
4729
  return (!((_a = this.paginationConfigParamNames) === null || _a === void 0 ? void 0 : _a.includes(paramName)) &&
4683
- config[paramName] !== (currentConfig === null || currentConfig === void 0 ? void 0 : currentConfig[paramName]));
4730
+ !deepEquals$1(config[paramName], currentConfig === null || currentConfig === void 0 ? void 0 : currentConfig[paramName]));
4684
4731
  });
4685
4732
  if (hasNonPaginationParamChanged) {
4686
4733
  this.connectTimestamp = Date.now();
@@ -5131,12 +5178,16 @@ function createGraphQLImperativeAdapter(luvio, adapter, metadata, astResolver) {
5131
5178
  callback(snapshotToTuple(snapshotOrPromise));
5132
5179
  return;
5133
5180
  }
5134
- snapshotOrPromise.then((snapshot) => {
5181
+ snapshotOrPromise
5182
+ .then((snapshot) => {
5135
5183
  if (snapshot === null) {
5136
5184
  callback(createInvalidConfigError());
5137
5185
  return;
5138
5186
  }
5139
5187
  callback(snapshotToTuple(snapshot));
5188
+ })
5189
+ .finally(() => {
5190
+ luvio.storeCleanup();
5140
5191
  });
5141
5192
  };
5142
5193
  defineProperty(imperativeAdapterInvoke, 'name', {
@@ -5239,7 +5290,7 @@ function createGraphQLWireAdapterConstructor(luvio, adapter, metadata, astResolv
5239
5290
  const { apiFamily, name } = metadata;
5240
5291
  return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
5241
5292
  }
5242
- // version: 1.368.0-20c9e0247b
5293
+ // version: 1.369.0-b61b56bd49
5243
5294
 
5244
5295
  /**
5245
5296
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -5338,7 +5389,7 @@ var TypeCheckShapes;
5338
5389
  TypeCheckShapes[TypeCheckShapes["Integer"] = 3] = "Integer";
5339
5390
  TypeCheckShapes[TypeCheckShapes["Unsupported"] = 4] = "Unsupported";
5340
5391
  })(TypeCheckShapes || (TypeCheckShapes = {}));
5341
- // engine version: 0.158.3-41cf8514
5392
+ // engine version: 0.158.7-bafe2646
5342
5393
 
5343
5394
  const { keys: ObjectKeys$4, create: ObjectCreate$4 } = Object;
5344
5395
 
@@ -27942,7 +27993,7 @@ function equalsMetadata$1(existingMetadata, incomingMetadata) {
27942
27993
  }
27943
27994
 
27944
27995
  const TTL$a$1 = 30000;
27945
- const VERSION$c$2 = "62467c27c19349b70c9db2a8d9d591d9";
27996
+ const VERSION$c$2 = "ecedd058ac9cfc9b51de0f2c00276ce8";
27946
27997
  const RepresentationType$d$1 = 'RelatedListRecordCollectionRepresentation';
27947
27998
  function keyBuilder$t$2(luvio, config) {
27948
27999
  return keyPrefix$3 + '::' + RepresentationType$d$1 + ':' + '[' + config.sortBy.join(',') + ']' + ':' + (config.parentRecordId === null ? '' : config.parentRecordId) + ':' + config.relatedListId + ':' + (config.where === null ? '' : config.where);
@@ -28058,6 +28109,14 @@ const dynamicSelect$4$1 = function dynamicRelatedListRecordCollectionRepresentat
28058
28109
  reader.enterPath('count');
28059
28110
  reader.readScalar('count', metadataProperties, sink);
28060
28111
  reader.exitPath();
28112
+ reader.enterPath('columnLabels');
28113
+ reader.readObject('columnLabels', {
28114
+ name: 'columnLabels',
28115
+ kind: 'Object',
28116
+ // Any
28117
+ required: false
28118
+ }, source, sink);
28119
+ reader.exitPath();
28061
28120
  reader.enterPath('fields');
28062
28121
  reader.readScalarPlural('fields', source, sink, true);
28063
28122
  reader.exitPath();
@@ -28100,6 +28159,19 @@ function equals$c$1(existing, incoming) {
28100
28159
  if (!(existing_currentPageToken === incoming_currentPageToken)) {
28101
28160
  return false;
28102
28161
  }
28162
+ const existing_columnLabels = existing.columnLabels;
28163
+ const incoming_columnLabels = incoming.columnLabels;
28164
+ // if at least one of these optionals is defined
28165
+ if (existing_columnLabels !== undefined || incoming_columnLabels !== undefined) {
28166
+ // if one of these is not defined we know the other is defined and therefore
28167
+ // not equal
28168
+ if (existing_columnLabels === undefined || incoming_columnLabels === undefined) {
28169
+ return false;
28170
+ }
28171
+ if (JSONStringify$3(incoming_columnLabels) !== JSONStringify$3(existing_columnLabels)) {
28172
+ return false;
28173
+ }
28174
+ }
28103
28175
  const existing_currentPageUrl = existing.currentPageUrl;
28104
28176
  const incoming_currentPageUrl = incoming.currentPageUrl;
28105
28177
  if (!(existing_currentPageUrl === incoming_currentPageUrl)) {
@@ -28325,10 +28397,11 @@ function createPaginationParams$7(params) {
28325
28397
  }
28326
28398
  function keyBuilder$s$2(luvio, params) {
28327
28399
  return keyBuilder$t$2(luvio, {
28400
+ includeColumnLabels: params.body.includeColumnLabels || null,
28401
+ relatedListId: params.urlParams.relatedListId,
28328
28402
  sortBy: params.body.sortBy || [],
28329
- where: params.body.where || null,
28330
28403
  parentRecordId: params.urlParams.parentRecordId,
28331
- relatedListId: params.urlParams.relatedListId
28404
+ where: params.body.where || null
28332
28405
  });
28333
28406
  }
28334
28407
  function getResponseCacheKeys$h(storeKeyMap, luvio, resourceParams, response) {
@@ -28737,6 +28810,7 @@ const getRelatedListRecords_ConfigPropertyMetadata$1 = [
28737
28810
  generateParamConfigMetadata$3('parentRecordId', true, 0 /* UrlParameter */, 0 /* String */, false, getRecordId18$1),
28738
28811
  generateParamConfigMetadata$3('relatedListId', true, 0 /* UrlParameter */, 0 /* String */),
28739
28812
  generateParamConfigMetadata$3('fields', false, 2 /* Body */, 0 /* String */, true),
28813
+ generateParamConfigMetadata$3('includeColumnLabels', false, 2 /* Body */, 1 /* Boolean */),
28740
28814
  generateParamConfigMetadata$3('optionalFields', false, 2 /* Body */, 0 /* String */, true),
28741
28815
  generateParamConfigMetadata$3('pageSize', false, 2 /* Body */, 3 /* Integer */),
28742
28816
  generateParamConfigMetadata$3('pageToken', false, 2 /* Body */, 0 /* String */),
@@ -34052,7 +34126,7 @@ withDefaultLuvio((luvio) => {
34052
34126
  throttle(60, 60000, setupNotifyAllListRecordUpdateAvailable(luvio));
34053
34127
  throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
34054
34128
  });
34055
- // version: 1.368.0-de8cc6721e
34129
+ // version: 1.369.0-7bf258f54c
34056
34130
 
34057
34131
  function requestIdleDetectedCallback(_callback) { }
34058
34132
  function declareNotifierTaskSingle(_name) {
@@ -45635,6 +45709,15 @@ var lmrPrimingUseSoql = {
45635
45709
  },
45636
45710
  };
45637
45711
 
45712
+ var aggressiveTrimCountKillSwitchGate = {
45713
+ isOpen: function (e) {
45714
+ return e.fallback;
45715
+ },
45716
+ hasError: function () {
45717
+ return !0;
45718
+ },
45719
+ };
45720
+
45638
45721
  var graphqlL2AdapterGate = {
45639
45722
  isOpen: function (e) {
45640
45723
  return e.fallback;
@@ -80482,6 +80565,10 @@ const GRAPHQL_QUERY_PARSE_ERROR = 'gql-query-parse-error';
80482
80565
  const GRAPHQL_SQL_EVAL_PRECONDITION_ERROR = 'gql-sql-pre-eval-error';
80483
80566
  const GRAPHQL_CREATE_SNAPSHOT_ERROR = 'gql-create-snapshot-error';
80484
80567
  const DRAFT_AWARE_CREATE_CONTENT_DOCUMENT_AND_VERSION_ERROR = 'draft-aware-create-content-document-and-version-error';
80568
+ /** Garbage Collection */
80569
+ const GARBAGE_COLLECTION_AGGRESSIVE_TRIM_COUNT = 'garbage-collection-aggressive-trim-count';
80570
+ const GARBAGE_COLLECTION_AGGRESSIVE_TRIM_RECORDS_TRIMMED = 'garbage-collection-aggressive-trim-records-trimmed';
80571
+ const GARBAGE_COLLECTION_AGGRESSIVE_TRIM_TOTAL_RECORDS_BEFORE_TRIM = 'garbage-collection-aggressive-trim-total-records-before-trim';
80485
80572
  const ldsMobileInstrumentation$2 = getInstrumentation();
80486
80573
  const nimbusLogger = typeof __nimbus !== 'undefined' &&
80487
80574
  __nimbus.plugins !== undefined &&
@@ -80622,6 +80709,12 @@ function reportChunkCandidateUrlLength(urlLength) {
80622
80709
  const buckets = [8000, 10000, 12000, 14000, 16000];
80623
80710
  ldsMobileInstrumentation$2.bucketValue('chunk-candidate-url-length-histogram', urlLength, buckets);
80624
80711
  }
80712
+ /** Garbage Collection */
80713
+ function reportAggressiveTrimTriggered(trimCount, beforeTrimRecordCount, totalRecordsTrimmed) {
80714
+ ldsMobileInstrumentation$2.trackValue(GARBAGE_COLLECTION_AGGRESSIVE_TRIM_COUNT, trimCount);
80715
+ ldsMobileInstrumentation$2.trackValue(GARBAGE_COLLECTION_AGGRESSIVE_TRIM_TOTAL_RECORDS_BEFORE_TRIM, beforeTrimRecordCount);
80716
+ ldsMobileInstrumentation$2.trackValue(GARBAGE_COLLECTION_AGGRESSIVE_TRIM_RECORDS_TRIMMED, totalRecordsTrimmed);
80717
+ }
80625
80718
 
80626
80719
  const QUICK_ACTION_HANDLER = 'QUICK_ACTION_HANDLER';
80627
80720
  class QuickActionExecutionRepresentationHandler extends AbstractQuickActionHandler {
@@ -91794,8 +91887,14 @@ function primingSessionFactory(config) {
91794
91887
  return instrumentPrimingSession(session);
91795
91888
  }
91796
91889
 
91797
- const DEFAULT_MAX_RECORD_COUNT = 80000;
91798
- const DEFAULT_MAX_BATCH_SIZE = 200;
91890
+ // count will get reset to 0 when the module is instantated again when bootstrapped
91891
+ let aggressiveTrimCount = 0;
91892
+ const DEFAULT_MAX_RECORD_COUNT = aggressiveTrimCountKillSwitchGate.isOpen({ fallback: false })
91893
+ ? 10000
91894
+ : 80000;
91895
+ const DEFAULT_MAX_BATCH_SIZE = aggressiveTrimCountKillSwitchGate.isOpen({ fallback: false })
91896
+ ? 1000
91897
+ : 200;
91799
91898
  async function aggressiveTrim(data, deallocateFn, options = {}) {
91800
91899
  const maxStoreRecords = options.maxStoreRecords !== undefined ? options.maxStoreRecords : DEFAULT_MAX_RECORD_COUNT;
91801
91900
  const batchSize = options.batchSize !== undefined ? options.batchSize : DEFAULT_MAX_BATCH_SIZE;
@@ -91827,6 +91926,9 @@ async function aggressiveTrim(data, deallocateFn, options = {}) {
91827
91926
  const count = await batch();
91828
91927
  deallocatedCount = deallocatedCount + count;
91829
91928
  }
91929
+ //increment trim count and report metrics
91930
+ aggressiveTrimCount++;
91931
+ reportAggressiveTrimTriggered(aggressiveTrimCount, storeKeyLength, deallocatedCount);
91830
91932
  const trimKeysSkipped = makeSetFilteredFromDifference(pendingTrimKeys, (key) => trimKeys.has(key) === false);
91831
91933
  return {
91832
91934
  deallocatedCount,
@@ -95795,7 +95897,7 @@ register$1({
95795
95897
  id: '@salesforce/lds-network-adapter',
95796
95898
  instrument: instrument$2,
95797
95899
  });
95798
- // version: 1.368.0-20c9e0247b
95900
+ // version: 1.369.0-b61b56bd49
95799
95901
 
95800
95902
  const { create: create$2, keys: keys$2 } = Object;
95801
95903
  const { stringify, parse } = JSON;
@@ -121964,7 +122066,7 @@ register$1({
121964
122066
  configuration: { ...configurationForGraphQLAdapters$1 },
121965
122067
  instrument: instrument$1,
121966
122068
  });
121967
- // version: 1.368.0-de8cc6721e
122069
+ // version: 1.369.0-7bf258f54c
121968
122070
 
121969
122071
  // On core the unstable adapters are re-exported with different names,
121970
122072
  // we want to match them here.
@@ -122116,7 +122218,7 @@ withDefaultLuvio((luvio) => {
122116
122218
  unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
122117
122219
  graphQLImperative = ldsAdapter;
122118
122220
  });
122119
- // version: 1.368.0-de8cc6721e
122221
+ // version: 1.369.0-7bf258f54c
122120
122222
 
122121
122223
  var gqlApi = /*#__PURE__*/Object.freeze({
122122
122224
  __proto__: null,
@@ -122915,7 +123017,7 @@ const callbacks$1 = [];
122915
123017
  function register(r) {
122916
123018
  callbacks$1.forEach((callback) => callback(r));
122917
123019
  }
122918
- // version: 1.368.0-20c9e0247b
123020
+ // version: 1.369.0-b61b56bd49
122919
123021
 
122920
123022
  /**
122921
123023
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -124082,4 +124184,4 @@ const { luvio } = getRuntime();
124082
124184
  setDefaultLuvio({ luvio });
124083
124185
 
124084
124186
  export { createPrimingSession, draftManager, draftQueue, evictCacheRecordsByIds, evictExpiredCacheEntries, executeAdapter, executeMutatingAdapter, getImperativeAdapterNames, importLuvioAdapterModule, invokeAdapter, invokeAdapterWithDraftToMerge, invokeAdapterWithDraftToReplace, invokeAdapterWithMetadata, nimbusDraftQueue, registerReportObserver, setMetadataTTL, setUiApiRecordTTL, stopEviction, subscribeToAdapter };
124085
- // version: 1.368.0-20c9e0247b
124187
+ // version: 1.369.0-b61b56bd49
@@ -4152,7 +4152,7 @@
4152
4152
  }
4153
4153
  return resourceParams;
4154
4154
  }
4155
- // engine version: 0.158.3-41cf8514
4155
+ // engine version: 0.158.7-bafe2646
4156
4156
 
4157
4157
  /**
4158
4158
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -4280,7 +4280,7 @@
4280
4280
  }
4281
4281
  callbacks.push(callback);
4282
4282
  }
4283
- // version: 1.368.0-20c9e0247b
4283
+ // version: 1.369.0-b61b56bd49
4284
4284
 
4285
4285
  // TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
4286
4286
  function instrumentAdapter$1(createFunction, _metadata) {
@@ -4651,6 +4651,53 @@
4651
4651
  return constructor;
4652
4652
  }
4653
4653
 
4654
+ /**
4655
+ * Simple deep equality comparison for configuration objects.
4656
+ * Handles primitives, arrays, and plain objects.
4657
+ */
4658
+ function deepEquals$1(a, b) {
4659
+ if (a === b) {
4660
+ return true;
4661
+ }
4662
+ if (a === null || a === undefined || b === null || b === undefined) {
4663
+ return a === b;
4664
+ }
4665
+ if (typeof a !== typeof b) {
4666
+ return false;
4667
+ }
4668
+ if (typeof a !== 'object') {
4669
+ return false;
4670
+ }
4671
+ if (Array.isArray(a) !== Array.isArray(b)) {
4672
+ return false;
4673
+ }
4674
+ if (Array.isArray(a) && Array.isArray(b)) {
4675
+ if (a.length !== b.length) {
4676
+ return false;
4677
+ }
4678
+ for (let i = 0; i < a.length; i++) {
4679
+ if (!deepEquals$1(a[i], b[i])) {
4680
+ return false;
4681
+ }
4682
+ }
4683
+ return true;
4684
+ }
4685
+ // Handle plain objects
4686
+ const aKeys = Object.keys(a);
4687
+ const bKeys = Object.keys(b);
4688
+ if (aKeys.length !== bKeys.length) {
4689
+ return false;
4690
+ }
4691
+ for (const key of aKeys) {
4692
+ if (!bKeys.includes(key)) {
4693
+ return false;
4694
+ }
4695
+ if (!deepEquals$1(a[key], b[key])) {
4696
+ return false;
4697
+ }
4698
+ }
4699
+ return true;
4700
+ }
4654
4701
  class LWCInfinteScrollingLuvioWireAdapter extends LWCLuvioWireAdapter {
4655
4702
  constructor(adapter, name, luvio, callback, sourceContext, paginationConfigParamNames) {
4656
4703
  super(adapter, name, luvio, callback, sourceContext);
@@ -4686,7 +4733,7 @@
4686
4733
  var _a;
4687
4734
  // If this is not a pagination param and its value has changed
4688
4735
  return (!((_a = this.paginationConfigParamNames) === null || _a === void 0 ? void 0 : _a.includes(paramName)) &&
4689
- config[paramName] !== (currentConfig === null || currentConfig === void 0 ? void 0 : currentConfig[paramName]));
4736
+ !deepEquals$1(config[paramName], currentConfig === null || currentConfig === void 0 ? void 0 : currentConfig[paramName]));
4690
4737
  });
4691
4738
  if (hasNonPaginationParamChanged) {
4692
4739
  this.connectTimestamp = Date.now();
@@ -5137,12 +5184,16 @@
5137
5184
  callback(snapshotToTuple(snapshotOrPromise));
5138
5185
  return;
5139
5186
  }
5140
- snapshotOrPromise.then((snapshot) => {
5187
+ snapshotOrPromise
5188
+ .then((snapshot) => {
5141
5189
  if (snapshot === null) {
5142
5190
  callback(createInvalidConfigError());
5143
5191
  return;
5144
5192
  }
5145
5193
  callback(snapshotToTuple(snapshot));
5194
+ })
5195
+ .finally(() => {
5196
+ luvio.storeCleanup();
5146
5197
  });
5147
5198
  };
5148
5199
  defineProperty(imperativeAdapterInvoke, 'name', {
@@ -5245,7 +5296,7 @@
5245
5296
  const { apiFamily, name } = metadata;
5246
5297
  return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
5247
5298
  }
5248
- // version: 1.368.0-20c9e0247b
5299
+ // version: 1.369.0-b61b56bd49
5249
5300
 
5250
5301
  /**
5251
5302
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -5344,7 +5395,7 @@
5344
5395
  TypeCheckShapes[TypeCheckShapes["Integer"] = 3] = "Integer";
5345
5396
  TypeCheckShapes[TypeCheckShapes["Unsupported"] = 4] = "Unsupported";
5346
5397
  })(TypeCheckShapes || (TypeCheckShapes = {}));
5347
- // engine version: 0.158.3-41cf8514
5398
+ // engine version: 0.158.7-bafe2646
5348
5399
 
5349
5400
  const { keys: ObjectKeys$4, create: ObjectCreate$4 } = Object;
5350
5401
 
@@ -27948,7 +27999,7 @@
27948
27999
  }
27949
28000
 
27950
28001
  const TTL$a$1 = 30000;
27951
- const VERSION$c$2 = "62467c27c19349b70c9db2a8d9d591d9";
28002
+ const VERSION$c$2 = "ecedd058ac9cfc9b51de0f2c00276ce8";
27952
28003
  const RepresentationType$d$1 = 'RelatedListRecordCollectionRepresentation';
27953
28004
  function keyBuilder$t$2(luvio, config) {
27954
28005
  return keyPrefix$3 + '::' + RepresentationType$d$1 + ':' + '[' + config.sortBy.join(',') + ']' + ':' + (config.parentRecordId === null ? '' : config.parentRecordId) + ':' + config.relatedListId + ':' + (config.where === null ? '' : config.where);
@@ -28064,6 +28115,14 @@
28064
28115
  reader.enterPath('count');
28065
28116
  reader.readScalar('count', metadataProperties, sink);
28066
28117
  reader.exitPath();
28118
+ reader.enterPath('columnLabels');
28119
+ reader.readObject('columnLabels', {
28120
+ name: 'columnLabels',
28121
+ kind: 'Object',
28122
+ // Any
28123
+ required: false
28124
+ }, source, sink);
28125
+ reader.exitPath();
28067
28126
  reader.enterPath('fields');
28068
28127
  reader.readScalarPlural('fields', source, sink, true);
28069
28128
  reader.exitPath();
@@ -28106,6 +28165,19 @@
28106
28165
  if (!(existing_currentPageToken === incoming_currentPageToken)) {
28107
28166
  return false;
28108
28167
  }
28168
+ const existing_columnLabels = existing.columnLabels;
28169
+ const incoming_columnLabels = incoming.columnLabels;
28170
+ // if at least one of these optionals is defined
28171
+ if (existing_columnLabels !== undefined || incoming_columnLabels !== undefined) {
28172
+ // if one of these is not defined we know the other is defined and therefore
28173
+ // not equal
28174
+ if (existing_columnLabels === undefined || incoming_columnLabels === undefined) {
28175
+ return false;
28176
+ }
28177
+ if (JSONStringify$3(incoming_columnLabels) !== JSONStringify$3(existing_columnLabels)) {
28178
+ return false;
28179
+ }
28180
+ }
28109
28181
  const existing_currentPageUrl = existing.currentPageUrl;
28110
28182
  const incoming_currentPageUrl = incoming.currentPageUrl;
28111
28183
  if (!(existing_currentPageUrl === incoming_currentPageUrl)) {
@@ -28331,10 +28403,11 @@
28331
28403
  }
28332
28404
  function keyBuilder$s$2(luvio, params) {
28333
28405
  return keyBuilder$t$2(luvio, {
28406
+ includeColumnLabels: params.body.includeColumnLabels || null,
28407
+ relatedListId: params.urlParams.relatedListId,
28334
28408
  sortBy: params.body.sortBy || [],
28335
- where: params.body.where || null,
28336
28409
  parentRecordId: params.urlParams.parentRecordId,
28337
- relatedListId: params.urlParams.relatedListId
28410
+ where: params.body.where || null
28338
28411
  });
28339
28412
  }
28340
28413
  function getResponseCacheKeys$h(storeKeyMap, luvio, resourceParams, response) {
@@ -28743,6 +28816,7 @@
28743
28816
  generateParamConfigMetadata$3('parentRecordId', true, 0 /* UrlParameter */, 0 /* String */, false, getRecordId18$1),
28744
28817
  generateParamConfigMetadata$3('relatedListId', true, 0 /* UrlParameter */, 0 /* String */),
28745
28818
  generateParamConfigMetadata$3('fields', false, 2 /* Body */, 0 /* String */, true),
28819
+ generateParamConfigMetadata$3('includeColumnLabels', false, 2 /* Body */, 1 /* Boolean */),
28746
28820
  generateParamConfigMetadata$3('optionalFields', false, 2 /* Body */, 0 /* String */, true),
28747
28821
  generateParamConfigMetadata$3('pageSize', false, 2 /* Body */, 3 /* Integer */),
28748
28822
  generateParamConfigMetadata$3('pageToken', false, 2 /* Body */, 0 /* String */),
@@ -34058,7 +34132,7 @@
34058
34132
  throttle(60, 60000, setupNotifyAllListRecordUpdateAvailable(luvio));
34059
34133
  throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
34060
34134
  });
34061
- // version: 1.368.0-de8cc6721e
34135
+ // version: 1.369.0-7bf258f54c
34062
34136
 
34063
34137
  function requestIdleDetectedCallback(_callback) { }
34064
34138
  function declareNotifierTaskSingle(_name) {
@@ -45641,6 +45715,15 @@
45641
45715
  },
45642
45716
  };
45643
45717
 
45718
+ var aggressiveTrimCountKillSwitchGate = {
45719
+ isOpen: function (e) {
45720
+ return e.fallback;
45721
+ },
45722
+ hasError: function () {
45723
+ return !0;
45724
+ },
45725
+ };
45726
+
45644
45727
  var graphqlL2AdapterGate = {
45645
45728
  isOpen: function (e) {
45646
45729
  return e.fallback;
@@ -80488,6 +80571,10 @@
80488
80571
  const GRAPHQL_SQL_EVAL_PRECONDITION_ERROR = 'gql-sql-pre-eval-error';
80489
80572
  const GRAPHQL_CREATE_SNAPSHOT_ERROR = 'gql-create-snapshot-error';
80490
80573
  const DRAFT_AWARE_CREATE_CONTENT_DOCUMENT_AND_VERSION_ERROR = 'draft-aware-create-content-document-and-version-error';
80574
+ /** Garbage Collection */
80575
+ const GARBAGE_COLLECTION_AGGRESSIVE_TRIM_COUNT = 'garbage-collection-aggressive-trim-count';
80576
+ const GARBAGE_COLLECTION_AGGRESSIVE_TRIM_RECORDS_TRIMMED = 'garbage-collection-aggressive-trim-records-trimmed';
80577
+ const GARBAGE_COLLECTION_AGGRESSIVE_TRIM_TOTAL_RECORDS_BEFORE_TRIM = 'garbage-collection-aggressive-trim-total-records-before-trim';
80491
80578
  const ldsMobileInstrumentation$2 = getInstrumentation();
80492
80579
  const nimbusLogger = typeof __nimbus !== 'undefined' &&
80493
80580
  __nimbus.plugins !== undefined &&
@@ -80628,6 +80715,12 @@
80628
80715
  const buckets = [8000, 10000, 12000, 14000, 16000];
80629
80716
  ldsMobileInstrumentation$2.bucketValue('chunk-candidate-url-length-histogram', urlLength, buckets);
80630
80717
  }
80718
+ /** Garbage Collection */
80719
+ function reportAggressiveTrimTriggered(trimCount, beforeTrimRecordCount, totalRecordsTrimmed) {
80720
+ ldsMobileInstrumentation$2.trackValue(GARBAGE_COLLECTION_AGGRESSIVE_TRIM_COUNT, trimCount);
80721
+ ldsMobileInstrumentation$2.trackValue(GARBAGE_COLLECTION_AGGRESSIVE_TRIM_TOTAL_RECORDS_BEFORE_TRIM, beforeTrimRecordCount);
80722
+ ldsMobileInstrumentation$2.trackValue(GARBAGE_COLLECTION_AGGRESSIVE_TRIM_RECORDS_TRIMMED, totalRecordsTrimmed);
80723
+ }
80631
80724
 
80632
80725
  const QUICK_ACTION_HANDLER = 'QUICK_ACTION_HANDLER';
80633
80726
  class QuickActionExecutionRepresentationHandler extends AbstractQuickActionHandler {
@@ -91800,8 +91893,14 @@
91800
91893
  return instrumentPrimingSession(session);
91801
91894
  }
91802
91895
 
91803
- const DEFAULT_MAX_RECORD_COUNT = 80000;
91804
- const DEFAULT_MAX_BATCH_SIZE = 200;
91896
+ // count will get reset to 0 when the module is instantated again when bootstrapped
91897
+ let aggressiveTrimCount = 0;
91898
+ const DEFAULT_MAX_RECORD_COUNT = aggressiveTrimCountKillSwitchGate.isOpen({ fallback: false })
91899
+ ? 10000
91900
+ : 80000;
91901
+ const DEFAULT_MAX_BATCH_SIZE = aggressiveTrimCountKillSwitchGate.isOpen({ fallback: false })
91902
+ ? 1000
91903
+ : 200;
91805
91904
  async function aggressiveTrim(data, deallocateFn, options = {}) {
91806
91905
  const maxStoreRecords = options.maxStoreRecords !== undefined ? options.maxStoreRecords : DEFAULT_MAX_RECORD_COUNT;
91807
91906
  const batchSize = options.batchSize !== undefined ? options.batchSize : DEFAULT_MAX_BATCH_SIZE;
@@ -91833,6 +91932,9 @@
91833
91932
  const count = await batch();
91834
91933
  deallocatedCount = deallocatedCount + count;
91835
91934
  }
91935
+ //increment trim count and report metrics
91936
+ aggressiveTrimCount++;
91937
+ reportAggressiveTrimTriggered(aggressiveTrimCount, storeKeyLength, deallocatedCount);
91836
91938
  const trimKeysSkipped = makeSetFilteredFromDifference(pendingTrimKeys, (key) => trimKeys.has(key) === false);
91837
91939
  return {
91838
91940
  deallocatedCount,
@@ -95801,7 +95903,7 @@
95801
95903
  id: '@salesforce/lds-network-adapter',
95802
95904
  instrument: instrument$2,
95803
95905
  });
95804
- // version: 1.368.0-20c9e0247b
95906
+ // version: 1.369.0-b61b56bd49
95805
95907
 
95806
95908
  const { create: create$2, keys: keys$2 } = Object;
95807
95909
  const { stringify, parse } = JSON;
@@ -121970,7 +122072,7 @@
121970
122072
  configuration: { ...configurationForGraphQLAdapters$1 },
121971
122073
  instrument: instrument$1,
121972
122074
  });
121973
- // version: 1.368.0-de8cc6721e
122075
+ // version: 1.369.0-7bf258f54c
121974
122076
 
121975
122077
  // On core the unstable adapters are re-exported with different names,
121976
122078
  // we want to match them here.
@@ -122122,7 +122224,7 @@
122122
122224
  unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
122123
122225
  graphQLImperative = ldsAdapter;
122124
122226
  });
122125
- // version: 1.368.0-de8cc6721e
122227
+ // version: 1.369.0-7bf258f54c
122126
122228
 
122127
122229
  var gqlApi = /*#__PURE__*/Object.freeze({
122128
122230
  __proto__: null,
@@ -122921,7 +123023,7 @@
122921
123023
  function register(r) {
122922
123024
  callbacks$1.forEach((callback) => callback(r));
122923
123025
  }
122924
- // version: 1.368.0-20c9e0247b
123026
+ // version: 1.369.0-b61b56bd49
122925
123027
 
122926
123028
  /**
122927
123029
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -124108,4 +124210,4 @@
124108
124210
  exports.subscribeToAdapter = subscribeToAdapter;
124109
124211
 
124110
124212
  }));
124111
- // version: 1.368.0-20c9e0247b
124213
+ // version: 1.369.0-b61b56bd49
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-worker-api",
3
- "version": "1.368.0",
3
+ "version": "1.369.0",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "",
6
6
  "main": "dist/standalone/es/lds-worker-api.js",
@@ -35,14 +35,14 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "@oat-sa/rollup-plugin-wildcard-external": "^1.0.0",
38
- "@salesforce/lds-adapters-graphql": "^1.368.0",
39
- "@salesforce/lds-adapters-uiapi": "^1.368.0",
40
- "@salesforce/lds-default-luvio": "^1.368.0",
41
- "@salesforce/lds-drafts": "^1.368.0",
42
- "@salesforce/lds-graphql-parser": "^1.368.0",
43
- "@salesforce/lds-luvio-engine": "^1.368.0",
44
- "@salesforce/lds-runtime-mobile": "^1.368.0",
45
- "@salesforce/nimbus-plugin-lds": "^1.368.0",
38
+ "@salesforce/lds-adapters-graphql": "^1.369.0",
39
+ "@salesforce/lds-adapters-uiapi": "^1.369.0",
40
+ "@salesforce/lds-default-luvio": "^1.369.0",
41
+ "@salesforce/lds-drafts": "^1.369.0",
42
+ "@salesforce/lds-graphql-parser": "^1.369.0",
43
+ "@salesforce/lds-luvio-engine": "^1.369.0",
44
+ "@salesforce/lds-runtime-mobile": "^1.369.0",
45
+ "@salesforce/nimbus-plugin-lds": "^1.369.0",
46
46
  "ajv": "^8.11.0",
47
47
  "glob": "^7.1.5",
48
48
  "nimbus-types": "^2.0.0-alpha1",