@salesforce/lds-worker-api 1.266.0-dev2 → 1.266.0-dev21

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.
@@ -28,9 +28,17 @@ const { parse: parse$a, stringify: stringify$a } = JSON;
28
28
  const WeakSetCtor = WeakSet;
29
29
 
30
30
  const deeplyFrozen = new WeakSetCtor();
31
+ // Allow custom environments to bypass deep freeze for performance reasons
32
+ let bypassDeepFreeze = false;
33
+ function setBypassDeepFreeze(value) {
34
+ bypassDeepFreeze = value;
35
+ }
31
36
  function deepFreeze(value) {
32
37
  // No need to freeze primitives or already frozen stuff
33
- if (typeof value !== 'object' || value === null || deeplyFrozen.has(value)) {
38
+ if (bypassDeepFreeze ||
39
+ typeof value !== 'object' ||
40
+ value === null ||
41
+ deeplyFrozen.has(value)) {
34
42
  return;
35
43
  }
36
44
  deeplyFrozen.add(value);
@@ -984,7 +992,7 @@ class StringKeyInMemoryStore {
984
992
  // is already in L1 prior to ingestion
985
993
  stagingStore.readEntry = (key) => {
986
994
  const entry = originalReadEntry(key);
987
- if (!entry) {
995
+ if (entry === undefined) {
988
996
  return upstreamStore.readEntry(key);
989
997
  }
990
998
  return entry;
@@ -2278,6 +2286,13 @@ function isDefined$1(value) {
2278
2286
  return value !== undefined && value !== null;
2279
2287
  }
2280
2288
 
2289
+ /**
2290
+ * Checks if the given variable is an object
2291
+ */
2292
+ function isObject$1(value) {
2293
+ return typeof value === 'object' && value !== null;
2294
+ }
2295
+
2281
2296
  var StoreLinkStateValues$2;
2282
2297
  (function (StoreLinkStateValues) {
2283
2298
  StoreLinkStateValues[StoreLinkStateValues["NotPresent"] = 0] = "NotPresent";
@@ -2428,6 +2443,7 @@ function resolveLink$1(reader, storeLink, version) {
2428
2443
  variables: {},
2429
2444
  });
2430
2445
  }
2446
+ const readerOpaqueReferenceMap = new WeakMap();
2431
2447
  class Reader {
2432
2448
  constructor(store, variables, refresh, baseSnapshot, ttlStrategy) {
2433
2449
  this.store = store;
@@ -2892,7 +2908,12 @@ class Reader {
2892
2908
  }
2893
2909
  if (fragment.opaque) {
2894
2910
  this.checkIfChanged(result.value, { useDeepEquals: true });
2895
- const opaqueValue = this.opaqueCopy(result.value);
2911
+ if (isObject$1(result.value) && !readerOpaqueReferenceMap.has(result.value)) {
2912
+ readerOpaqueReferenceMap.set(result.value, this.opaqueCopy(result.value));
2913
+ }
2914
+ const opaqueValue = isObject$1(result.value)
2915
+ ? readerOpaqueReferenceMap.get(result.value)
2916
+ : result.value;
2896
2917
  return {
2897
2918
  state: FragmentReadResultState$1.Success,
2898
2919
  value: opaqueValue,
@@ -3735,10 +3756,13 @@ class Luvio {
3735
3756
  }
3736
3757
  publishStoreMetadata(key, storeMetadataParams) {
3737
3758
  const { ttl, namespace, representationName, version } = storeMetadataParams;
3738
- const now = Date.now();
3759
+ let { ingestionTimestamp } = storeMetadataParams;
3760
+ if (ingestionTimestamp === undefined) {
3761
+ ingestionTimestamp = Date.now();
3762
+ }
3739
3763
  const storeMetadata = {
3740
- ingestionTimestamp: now,
3741
- expirationTimestamp: now + ttl,
3764
+ ingestionTimestamp: ingestionTimestamp,
3765
+ expirationTimestamp: ingestionTimestamp + ttl,
3742
3766
  representationName,
3743
3767
  namespace,
3744
3768
  version,
@@ -3965,6 +3989,7 @@ function ingestShape(input, path, luvio, store, timestamp, ttlToUse, key, normal
3965
3989
  namespace,
3966
3990
  version,
3967
3991
  representationName,
3992
+ ingestionTimestamp: timestamp,
3968
3993
  };
3969
3994
  luvio.publishStoreMetadata(key, storeMetadataParams);
3970
3995
  }
@@ -4012,7 +4037,7 @@ function createResourceParamsImpl(config, configMetadata) {
4012
4037
  }
4013
4038
  return resourceParams;
4014
4039
  }
4015
- // engine version: 0.154.6-a3a5150a
4040
+ // engine version: 0.154.7-dev8-fca5df34
4016
4041
 
4017
4042
  /**
4018
4043
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -4140,7 +4165,7 @@ function withDefaultLuvio(callback) {
4140
4165
  }
4141
4166
  callbacks.push(callback);
4142
4167
  }
4143
- // version: 1.266.0-dev2-7c2f3615f
4168
+ // version: 1.266.0-dev21-b2a247476
4144
4169
 
4145
4170
  // TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
4146
4171
  function instrumentAdapter$1(createFunction, _metadata) {
@@ -15648,7 +15673,7 @@ function gql(literals, ...subs) {
15648
15673
  }
15649
15674
  return superResult;
15650
15675
  }
15651
- // version: 1.266.0-dev2-7c2f3615f
15676
+ // version: 1.266.0-dev21-b2a247476
15652
15677
 
15653
15678
  function unwrap(data) {
15654
15679
  // The lwc-luvio bindings import a function from lwc called "unwrap".
@@ -16573,7 +16598,7 @@ function createGraphQLWireAdapterConstructor(luvio, adapter, metadata, astResolv
16573
16598
  const { apiFamily, name } = metadata;
16574
16599
  return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
16575
16600
  }
16576
- // version: 1.266.0-dev2-7c2f3615f
16601
+ // version: 1.266.0-dev21-b2a247476
16577
16602
 
16578
16603
  /**
16579
16604
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -16672,7 +16697,7 @@ var TypeCheckShapes;
16672
16697
  TypeCheckShapes[TypeCheckShapes["Integer"] = 3] = "Integer";
16673
16698
  TypeCheckShapes[TypeCheckShapes["Unsupported"] = 4] = "Unsupported";
16674
16699
  })(TypeCheckShapes || (TypeCheckShapes = {}));
16675
- // engine version: 0.154.6-a3a5150a
16700
+ // engine version: 0.154.7-dev8-fca5df34
16676
16701
 
16677
16702
  const { keys: ObjectKeys$3, create: ObjectCreate$3 } = Object;
16678
16703
 
@@ -17196,15 +17221,17 @@ function splitQualifiedFieldApiName(fieldApiName) {
17196
17221
  /**
17197
17222
  * Returns the field API name, qualified with an object name if possible.
17198
17223
  * @param value The value from which to get the qualified field API name.
17224
+ * @param onlyQualifiedFieldNames - Whether or not this function should skip fieldApiName that do not include the delimiter '.'
17199
17225
  * @return The qualified field API name.
17200
17226
  */
17201
- function getFieldApiName$2(value) {
17227
+ function getFieldApiName$2(value, onlyQualifiedFieldNames = false) {
17202
17228
  // Note: tightening validation logic changes behavior from userland getting
17203
17229
  // a server-provided error to the adapter noop'ing. In 224 we decided to not
17204
- // change the behavior.
17230
+ // change the behavior. In 250 we decided to add the 'onlyQualifiedFieldName' flag to tighten the logic
17231
+ // optionally to avoid issues with persisted invalid field names.
17205
17232
  if (isString$2(value)) {
17206
17233
  const trimmed = value.trim();
17207
- if (trimmed.length > 0) {
17234
+ if (trimmed.length > 0 && (onlyQualifiedFieldNames ? trimmed.indexOf('.') > -1 : true)) {
17208
17235
  return trimmed;
17209
17236
  }
17210
17237
  }
@@ -17217,15 +17244,19 @@ function getFieldApiName$2(value) {
17217
17244
  /**
17218
17245
  * Returns the field API name.
17219
17246
  * @param value The value from which to get the field API name.
17247
+ * @param options Option bag. onlyQualifiedFieldNames is a boolean that allows this function to skip returning invalid FieldApiNames.
17220
17248
  * @returns The field API name.
17221
17249
  */
17222
- function getFieldApiNamesArray$2(value) {
17250
+ function getFieldApiNamesArray$2(value, options = { onlyQualifiedFieldNames: false }) {
17223
17251
  const valueArray = isArray$7(value) ? value : [value];
17224
17252
  const array = [];
17225
17253
  for (let i = 0, len = valueArray.length; i < len; i += 1) {
17226
17254
  const item = valueArray[i];
17227
- const apiName = getFieldApiName$2(item);
17255
+ const apiName = getFieldApiName$2(item, options.onlyQualifiedFieldNames);
17228
17256
  if (apiName === undefined) {
17257
+ if (options.onlyQualifiedFieldNames) {
17258
+ continue; // Just skips invalid field names rather than failing to return an array at all
17259
+ }
17229
17260
  return undefined;
17230
17261
  }
17231
17262
  push$4.call(array, apiName);
@@ -20800,6 +20831,7 @@ const createRecordIngest = (fieldsTrie, optionalFieldsTrie, recordConflictMap) =
20800
20831
  representationName: RepresentationType$S,
20801
20832
  namespace: keyPrefix$2,
20802
20833
  version: VERSION$18$1,
20834
+ ingestionTimestamp: timestamp,
20803
20835
  });
20804
20836
  return createLink$3(key);
20805
20837
  };
@@ -21017,17 +21049,19 @@ function onResourceError(luvio, config, key, err) {
21017
21049
  function buildNetworkSnapshot$13(luvio, config, serverRequestCount = 0, options) {
21018
21050
  const { request, key, allTrackedFields, resourceParams } = prepareRequest$6(luvio, config);
21019
21051
  return luvio.dispatchResourceRequest(request, options).then((response) => {
21052
+ // W-11964675 - Condition to dedupe a very specific set of requests for
21053
+ // Komaci - a batch record request with a single record followed by a single
21054
+ // record request. The fulfill logic sends the same network response, so
21055
+ // there is some TypeScript massaging to extract the RecordRepresentation
21056
+ //
21057
+ // W-14381091 - Ensure hoisting the response body happens prior to
21058
+ // calling `luvio.handleSuccessResponse`, since both arguments capture
21059
+ // the response.
21060
+ if (isSingleBatchRecordResponse(response.body)) {
21061
+ response.body = response.body.results[0]
21062
+ .result;
21063
+ }
21020
21064
  return luvio.handleSuccessResponse(() => {
21021
- // W-11964675 - Condition to dedupe a very specific set of requests for
21022
- // Komaci - a batch record request with a single record followed by a single
21023
- // record request. The fulfill logic sends the same network response, so
21024
- // there is some TypeScript massaging to extract the RecordRepresentation
21025
- if (isSingleBatchRecordResponse(response.body)) {
21026
- let recordResponse = response;
21027
- recordResponse.body = response.body.results[0]
21028
- .result;
21029
- return onResourceSuccess(luvio, config, key, allTrackedFields, recordResponse, serverRequestCount + 1);
21030
- }
21031
21065
  return onResourceSuccess(luvio, config, key, allTrackedFields, response, serverRequestCount + 1);
21032
21066
  }, () => {
21033
21067
  const cache = new StoreKeyMap();
@@ -21990,6 +22024,7 @@ const ingest$K$1 = function ListRecordCollectionRepresentationIngest(input, path
21990
22024
  namespace: "UiApi",
21991
22025
  version: VERSION$16$1,
21992
22026
  representationName: RepresentationType$R,
22027
+ ingestionTimestamp: timestamp,
21993
22028
  };
21994
22029
  luvio.publishStoreMetadata(key, storeMetadataParams);
21995
22030
  }
@@ -22959,6 +22994,7 @@ const ingest$H$1 = function ListViewSummaryCollectionRepresentationIngest(input,
22959
22994
  namespace: "UiApi",
22960
22995
  version: VERSION$13$1,
22961
22996
  representationName: RepresentationType$O,
22997
+ ingestionTimestamp: timestamp,
22962
22998
  };
22963
22999
  luvio.publishStoreMetadata(key, storeMetadataParams);
22964
23000
  }
@@ -25283,7 +25319,7 @@ function getLayoutMapAndObjectInfo(recordId, data) {
25283
25319
  // Temp fix until we can mimic the server behavior for non-layoutable entities.
25284
25320
  let layoutMap = {};
25285
25321
  if (hasOwnProperty$1.call(layouts, apiName)) {
25286
- layoutMap = layouts[apiName][recordTypeId];
25322
+ layoutMap = layouts[apiName][recordTypeId] || {};
25287
25323
  }
25288
25324
  return {
25289
25325
  layoutMap,
@@ -27577,7 +27613,10 @@ const dynamicIngest$4 = (ingestParams) => {
27577
27613
  if (existingRecord === undefined || equals$N(existingRecord, incomingRecord) === false) {
27578
27614
  luvio.storePublish(key, incomingRecord);
27579
27615
  }
27580
- luvio.publishStoreMetadata(key, QUICK_ACTION_DEFAULTS_STORE_METADATA_PARAMS);
27616
+ luvio.publishStoreMetadata(key, {
27617
+ ...QUICK_ACTION_DEFAULTS_STORE_METADATA_PARAMS,
27618
+ ingestionTimestamp: timestamp,
27619
+ });
27581
27620
  return createLink$3(key);
27582
27621
  };
27583
27622
  };
@@ -28042,7 +28081,7 @@ const getRecordEditActionsAdapterFactory = (luvio) => function UiApi__getRecordE
28042
28081
  buildCachedSnapshotCachePolicy$C, buildNetworkSnapshotCachePolicy$D);
28043
28082
  };
28044
28083
 
28045
- function validate$1e(obj, path = 'ActionRelatedListSingleBatchInputRepresentation') {
28084
+ function validate$1f(obj, path = 'ActionRelatedListSingleBatchInputRepresentation') {
28046
28085
  const v_error = (() => {
28047
28086
  if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
28048
28087
  return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
@@ -28453,7 +28492,7 @@ function typeCheckConfig$R(untrustedConfig) {
28453
28492
  const untrustedConfig_relatedListsActionParameters_array = [];
28454
28493
  for (let i = 0, arrayLength = untrustedConfig_relatedListsActionParameters.length; i < arrayLength; i++) {
28455
28494
  const untrustedConfig_relatedListsActionParameters_item = untrustedConfig_relatedListsActionParameters[i];
28456
- const referenceActionRelatedListSingleBatchInputRepresentationValidationError = validate$1e(untrustedConfig_relatedListsActionParameters_item);
28495
+ const referenceActionRelatedListSingleBatchInputRepresentationValidationError = validate$1f(untrustedConfig_relatedListsActionParameters_item);
28457
28496
  if (referenceActionRelatedListSingleBatchInputRepresentationValidationError === null) {
28458
28497
  untrustedConfig_relatedListsActionParameters_array.push(untrustedConfig_relatedListsActionParameters_item);
28459
28498
  }
@@ -30692,7 +30731,7 @@ const getListInfosByNameAdapterFactory = (luvio) => function UiApi__getListInfos
30692
30731
  buildCachedSnapshotCachePolicy$t, buildNetworkSnapshotCachePolicy$u);
30693
30732
  };
30694
30733
 
30695
- function validate$14(obj, path = 'ListFilterByInfoInputRepresentation') {
30734
+ function validate$15(obj, path = 'ListFilterByInfoInputRepresentation') {
30696
30735
  const v_error = (() => {
30697
30736
  if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
30698
30737
  return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
@@ -30723,7 +30762,7 @@ function validate$14(obj, path = 'ListFilterByInfoInputRepresentation') {
30723
30762
  return v_error === undefined ? null : v_error;
30724
30763
  }
30725
30764
 
30726
- function validate$13(obj, path = 'ListScopeInputRepresentation') {
30765
+ function validate$14(obj, path = 'ListScopeInputRepresentation') {
30727
30766
  const v_error = (() => {
30728
30767
  if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
30729
30768
  return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
@@ -30847,7 +30886,7 @@ function typeCheckConfig$I(untrustedConfig) {
30847
30886
  const untrustedConfig_filteredByInfo_array = [];
30848
30887
  for (let i = 0, arrayLength = untrustedConfig_filteredByInfo.length; i < arrayLength; i++) {
30849
30888
  const untrustedConfig_filteredByInfo_item = untrustedConfig_filteredByInfo[i];
30850
- const referenceListFilterByInfoInputRepresentationValidationError = validate$14(untrustedConfig_filteredByInfo_item);
30889
+ const referenceListFilterByInfoInputRepresentationValidationError = validate$15(untrustedConfig_filteredByInfo_item);
30851
30890
  if (referenceListFilterByInfoInputRepresentationValidationError === null) {
30852
30891
  untrustedConfig_filteredByInfo_array.push(untrustedConfig_filteredByInfo_item);
30853
30892
  }
@@ -30855,7 +30894,7 @@ function typeCheckConfig$I(untrustedConfig) {
30855
30894
  config.filteredByInfo = untrustedConfig_filteredByInfo_array;
30856
30895
  }
30857
30896
  const untrustedConfig_scope = untrustedConfig.scope;
30858
- const referenceListScopeInputRepresentationValidationError = validate$13(untrustedConfig_scope);
30897
+ const referenceListScopeInputRepresentationValidationError = validate$14(untrustedConfig_scope);
30859
30898
  if (referenceListScopeInputRepresentationValidationError === null) {
30860
30899
  config.scope = untrustedConfig_scope;
30861
30900
  }
@@ -31123,7 +31162,7 @@ function typeCheckConfig$F(untrustedConfig) {
31123
31162
  const untrustedConfig_filteredByInfo_array = [];
31124
31163
  for (let i = 0, arrayLength = untrustedConfig_filteredByInfo.length; i < arrayLength; i++) {
31125
31164
  const untrustedConfig_filteredByInfo_item = untrustedConfig_filteredByInfo[i];
31126
- const referenceListFilterByInfoInputRepresentationValidationError = validate$14(untrustedConfig_filteredByInfo_item);
31165
+ const referenceListFilterByInfoInputRepresentationValidationError = validate$15(untrustedConfig_filteredByInfo_item);
31127
31166
  if (referenceListFilterByInfoInputRepresentationValidationError === null) {
31128
31167
  untrustedConfig_filteredByInfo_array.push(untrustedConfig_filteredByInfo_item);
31129
31168
  }
@@ -31131,7 +31170,7 @@ function typeCheckConfig$F(untrustedConfig) {
31131
31170
  config.filteredByInfo = untrustedConfig_filteredByInfo_array;
31132
31171
  }
31133
31172
  const untrustedConfig_scope = untrustedConfig.scope;
31134
- const referenceListScopeInputRepresentationValidationError = validate$13(untrustedConfig_scope);
31173
+ const referenceListScopeInputRepresentationValidationError = validate$14(untrustedConfig_scope);
31135
31174
  if (referenceListScopeInputRepresentationValidationError === null) {
31136
31175
  config.scope = untrustedConfig_scope;
31137
31176
  }
@@ -31882,7 +31921,7 @@ const getListPreferencesAdapterFactory = (luvio) => function UiApi__getListPrefe
31882
31921
  buildCachedSnapshotCachePolicy$q, buildNetworkSnapshotCachePolicy$r);
31883
31922
  };
31884
31923
 
31885
- function validate$Y(obj, path = 'ListOrderedByInfoInputRepresentation') {
31924
+ function validate$Z(obj, path = 'ListOrderedByInfoInputRepresentation') {
31886
31925
  const v_error = (() => {
31887
31926
  if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
31888
31927
  return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
@@ -31985,7 +32024,7 @@ function typeCheckConfig$C(untrustedConfig) {
31985
32024
  const untrustedConfig_orderedBy_array = [];
31986
32025
  for (let i = 0, arrayLength = untrustedConfig_orderedBy.length; i < arrayLength; i++) {
31987
32026
  const untrustedConfig_orderedBy_item = untrustedConfig_orderedBy[i];
31988
- const referenceListOrderedByInfoInputRepresentationValidationError = validate$Y(untrustedConfig_orderedBy_item);
32027
+ const referenceListOrderedByInfoInputRepresentationValidationError = validate$Z(untrustedConfig_orderedBy_item);
31989
32028
  if (referenceListOrderedByInfoInputRepresentationValidationError === null) {
31990
32029
  untrustedConfig_orderedBy_array.push(untrustedConfig_orderedBy_item);
31991
32030
  }
@@ -36047,7 +36086,7 @@ const getRelatedListInfoAdapterFactory = (luvio) => function UiApi__getRelatedLi
36047
36086
  buildCachedSnapshotCachePolicy$d, buildNetworkSnapshotCachePolicy$e);
36048
36087
  };
36049
36088
 
36050
- function validate$y(obj, path = 'ListUserPreferenceInputRepresentation') {
36089
+ function validate$z(obj, path = 'ListUserPreferenceInputRepresentation') {
36051
36090
  const v_error = (() => {
36052
36091
  if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
36053
36092
  return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
@@ -36124,7 +36163,7 @@ function typeCheckConfig$o(untrustedConfig) {
36124
36163
  const untrustedConfig_orderedByInfo_array = [];
36125
36164
  for (let i = 0, arrayLength = untrustedConfig_orderedByInfo.length; i < arrayLength; i++) {
36126
36165
  const untrustedConfig_orderedByInfo_item = untrustedConfig_orderedByInfo[i];
36127
- const referenceListOrderedByInfoInputRepresentationValidationError = validate$Y(untrustedConfig_orderedByInfo_item);
36166
+ const referenceListOrderedByInfoInputRepresentationValidationError = validate$Z(untrustedConfig_orderedByInfo_item);
36128
36167
  if (referenceListOrderedByInfoInputRepresentationValidationError === null) {
36129
36168
  untrustedConfig_orderedByInfo_array.push(untrustedConfig_orderedByInfo_item);
36130
36169
  }
@@ -36132,7 +36171,7 @@ function typeCheckConfig$o(untrustedConfig) {
36132
36171
  config.orderedByInfo = untrustedConfig_orderedByInfo_array;
36133
36172
  }
36134
36173
  const untrustedConfig_userPreferences = untrustedConfig.userPreferences;
36135
- const referenceListUserPreferenceInputRepresentationValidationError = validate$y(untrustedConfig_userPreferences);
36174
+ const referenceListUserPreferenceInputRepresentationValidationError = validate$z(untrustedConfig_userPreferences);
36136
36175
  if (referenceListUserPreferenceInputRepresentationValidationError === null) {
36137
36176
  config.userPreferences = untrustedConfig_userPreferences;
36138
36177
  }
@@ -36787,7 +36826,7 @@ function typeCheckConfig$l(untrustedConfig) {
36787
36826
  const untrustedConfig_orderedBy_array = [];
36788
36827
  for (let i = 0, arrayLength = untrustedConfig_orderedBy.length; i < arrayLength; i++) {
36789
36828
  const untrustedConfig_orderedBy_item = untrustedConfig_orderedBy[i];
36790
- const referenceListOrderedByInfoInputRepresentationValidationError = validate$Y(untrustedConfig_orderedBy_item);
36829
+ const referenceListOrderedByInfoInputRepresentationValidationError = validate$Z(untrustedConfig_orderedBy_item);
36791
36830
  if (referenceListOrderedByInfoInputRepresentationValidationError === null) {
36792
36831
  untrustedConfig_orderedBy_array.push(untrustedConfig_orderedBy_item);
36793
36832
  }
@@ -36835,7 +36874,7 @@ const updateRelatedListPreferencesAdapterFactory = (luvio) => {
36835
36874
  };
36836
36875
  };
36837
36876
 
36838
- function validate$w(obj, path = 'RelatedListRecordsSingleBatchInputRepresentation') {
36877
+ function validate$x(obj, path = 'RelatedListRecordsSingleBatchInputRepresentation') {
36839
36878
  const v_error = (() => {
36840
36879
  if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
36841
36880
  return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
@@ -37383,6 +37422,7 @@ const ingest$8$1 = function RelatedListRecordCollectionRepresentationIngest(inpu
37383
37422
  namespace: "UiApi",
37384
37423
  version: VERSION$c$1,
37385
37424
  representationName: RepresentationType$d,
37425
+ ingestionTimestamp: timestamp,
37386
37426
  };
37387
37427
  luvio.publishStoreMetadata(key, storeMetadataParams);
37388
37428
  }
@@ -37788,7 +37828,7 @@ function typeCheckConfig$k(untrustedConfig) {
37788
37828
  const untrustedConfig_relatedListParameters_array = [];
37789
37829
  for (let i = 0, arrayLength = untrustedConfig_relatedListParameters.length; i < arrayLength; i++) {
37790
37830
  const untrustedConfig_relatedListParameters_item = untrustedConfig_relatedListParameters[i];
37791
- const referenceRelatedListRecordsSingleBatchInputRepresentationValidationError = validate$w(untrustedConfig_relatedListParameters_item);
37831
+ const referenceRelatedListRecordsSingleBatchInputRepresentationValidationError = validate$x(untrustedConfig_relatedListParameters_item);
37792
37832
  if (referenceRelatedListRecordsSingleBatchInputRepresentationValidationError === null) {
37793
37833
  untrustedConfig_relatedListParameters_array.push(untrustedConfig_relatedListParameters_item);
37794
37834
  }
@@ -38582,7 +38622,7 @@ const getLookupMetadataAdapterFactory = (luvio) => function UiApi__getLookupMeta
38582
38622
  buildCachedSnapshotCachePolicy$6, buildNetworkSnapshotCachePolicy$7);
38583
38623
  };
38584
38624
 
38585
- function validate$l(obj, path = 'SearchDataCategoryInputRepresentation') {
38625
+ function validate$m(obj, path = 'SearchDataCategoryInputRepresentation') {
38586
38626
  const v_error = (() => {
38587
38627
  if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
38588
38628
  return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
@@ -38613,7 +38653,7 @@ function validate$l(obj, path = 'SearchDataCategoryInputRepresentation') {
38613
38653
  return v_error === undefined ? null : v_error;
38614
38654
  }
38615
38655
 
38616
- function validate$k(obj, path = 'SearchFilterInputRepresentation') {
38656
+ function validate$l(obj, path = 'SearchFilterInputRepresentation') {
38617
38657
  const v_error = (() => {
38618
38658
  if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
38619
38659
  return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
@@ -38682,7 +38722,7 @@ function validate$k(obj, path = 'SearchFilterInputRepresentation') {
38682
38722
  return v_error === undefined ? null : v_error;
38683
38723
  }
38684
38724
 
38685
- function validate$j(obj, path = 'SearchObjectOptionsRepresentation') {
38725
+ function validate$k(obj, path = 'SearchObjectOptionsRepresentation') {
38686
38726
  const v_error = (() => {
38687
38727
  if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
38688
38728
  return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
@@ -38695,7 +38735,7 @@ function validate$j(obj, path = 'SearchObjectOptionsRepresentation') {
38695
38735
  for (let i = 0; i < obj_dataCategories.length; i++) {
38696
38736
  const obj_dataCategories_item = obj_dataCategories[i];
38697
38737
  const path_dataCategories_item = path_dataCategories + '[' + i + ']';
38698
- const referencepath_dataCategories_itemValidationError = validate$l(obj_dataCategories_item, path_dataCategories_item);
38738
+ const referencepath_dataCategories_itemValidationError = validate$m(obj_dataCategories_item, path_dataCategories_item);
38699
38739
  if (referencepath_dataCategories_itemValidationError !== null) {
38700
38740
  let message = 'Object doesn\'t match SearchDataCategoryInputRepresentation (at "' + path_dataCategories_item + '")\n';
38701
38741
  message += referencepath_dataCategories_itemValidationError.message.split('\n').map((line) => '\t' + line).join('\n');
@@ -38710,7 +38750,7 @@ function validate$j(obj, path = 'SearchObjectOptionsRepresentation') {
38710
38750
  for (let i = 0; i < obj_filters.length; i++) {
38711
38751
  const obj_filters_item = obj_filters[i];
38712
38752
  const path_filters_item = path_filters + '[' + i + ']';
38713
- const referencepath_filters_itemValidationError = validate$k(obj_filters_item, path_filters_item);
38753
+ const referencepath_filters_itemValidationError = validate$l(obj_filters_item, path_filters_item);
38714
38754
  if (referencepath_filters_itemValidationError !== null) {
38715
38755
  let message = 'Object doesn\'t match SearchFilterInputRepresentation (at "' + path_filters_item + '")\n';
38716
38756
  message += referencepath_filters_itemValidationError.message.split('\n').map((line) => '\t' + line).join('\n');
@@ -38841,7 +38881,7 @@ function typeCheckConfig$f(untrustedConfig) {
38841
38881
  for (let i = 0, arrayLength = untrustedConfig_searchObjectOptions_keys.length; i < arrayLength; i++) {
38842
38882
  const key = untrustedConfig_searchObjectOptions_keys[i];
38843
38883
  const untrustedConfig_searchObjectOptions_prop = untrustedConfig_searchObjectOptions[key];
38844
- const referenceSearchObjectOptionsRepresentationValidationError = validate$j(untrustedConfig_searchObjectOptions_prop);
38884
+ const referenceSearchObjectOptionsRepresentationValidationError = validate$k(untrustedConfig_searchObjectOptions_prop);
38845
38885
  if (referenceSearchObjectOptionsRepresentationValidationError === null) {
38846
38886
  if (untrustedConfig_searchObjectOptions_object !== undefined) {
38847
38887
  untrustedConfig_searchObjectOptions_object[key] = untrustedConfig_searchObjectOptions_prop;
@@ -39044,7 +39084,7 @@ function typeCheckConfig$e(untrustedConfig) {
39044
39084
  const untrustedConfig_filters_array = [];
39045
39085
  for (let i = 0, arrayLength = untrustedConfig_filters.length; i < arrayLength; i++) {
39046
39086
  const untrustedConfig_filters_item = untrustedConfig_filters[i];
39047
- const referenceSearchFilterInputRepresentationValidationError = validate$k(untrustedConfig_filters_item);
39087
+ const referenceSearchFilterInputRepresentationValidationError = validate$l(untrustedConfig_filters_item);
39048
39088
  if (referenceSearchFilterInputRepresentationValidationError === null) {
39049
39089
  untrustedConfig_filters_array.push(untrustedConfig_filters_item);
39050
39090
  }
@@ -43141,7 +43181,7 @@ withDefaultLuvio((luvio) => {
43141
43181
  throttle(60, 60000, createLDSAdapter(luvio, 'notifyListInfoUpdateAvailable', notifyUpdateAvailableFactory$1));
43142
43182
  throttle(60, 60000, createLDSAdapter(luvio, 'notifyQuickActionDefaultsUpdateAvailable', notifyUpdateAvailableFactory));
43143
43183
  });
43144
- // version: 1.266.0-dev2-e69d357fb
43184
+ // version: 1.266.0-dev21-7d5715511
43145
43185
 
43146
43186
  var ldsIdempotencyWriteDisabled = {
43147
43187
  isOpen: function (e) {
@@ -44279,7 +44319,9 @@ function isUnfulfilledSnapshot$1(cachedSnapshotResult) {
44279
44319
  * @param durableStore A DurableStore implementation
44280
44320
  * @param instrumentation An instrumentation function implementation
44281
44321
  */
44282
- function makeDurable(environment, { durableStore, instrumentation, useRevivingStore, enableDurableMetadataRefresh = false, }) {
44322
+ function makeDurable(environment, { durableStore, instrumentation, useRevivingStore, enableDurableMetadataRefresh = false, disableDeepFreeze = false, }) {
44323
+ // runtimes can choose to disable deepFreeze, e.g. headless mobile runtime
44324
+ setBypassDeepFreeze(disableDeepFreeze);
44283
44325
  let stagingStore = null;
44284
44326
  const durableTTLStore = new DurableTTLStore(durableStore);
44285
44327
  const mergeKeysPromiseMap = new Map();
@@ -44650,6 +44692,10 @@ function makeDurable(environment, { durableStore, instrumentation, useRevivingSt
44650
44692
  }
44651
44693
  return {};
44652
44694
  };
44695
+ const getIngestStagingStore = function () {
44696
+ validateNotDisposed();
44697
+ return stagingStore === null || stagingStore === void 0 ? void 0 : stagingStore.fallbackStringKeyInMemoryStore;
44698
+ };
44653
44699
  const handleSuccessResponse = async function (ingestAndBroadcastFunc, getResponseCacheKeysFunc) {
44654
44700
  validateNotDisposed();
44655
44701
  const cacheKeyMap = getResponseCacheKeysFunc();
@@ -44842,6 +44888,7 @@ function makeDurable(environment, { durableStore, instrumentation, useRevivingSt
44842
44888
  applyCachePolicy: { value: applyCachePolicy },
44843
44889
  getIngestStagingStoreRecords: { value: getIngestStagingStoreRecords },
44844
44890
  getIngestStagingStoreMetadata: { value: getIngestStagingStoreMetadata },
44891
+ getIngestStagingStore: { value: getIngestStagingStore },
44845
44892
  handleSuccessResponse: { value: handleSuccessResponse },
44846
44893
  handleErrorResponse: { value: handleErrorResponse },
44847
44894
  getNotifyChangeStoreEntries: { value: getNotifyChangeStoreEntries },
@@ -47639,9 +47686,10 @@ function rootRecordQuery(selection, input) {
47639
47686
  // If there is no metadata for this query or it somehow lacks a timestamp
47640
47687
  // skip setting the root timestamp
47641
47688
  if (queryMetadata !== undefined && queryMetadata.ingestionTimestamp !== undefined) {
47642
- // adjust the timestamp to account for ingestion processing time
47643
- // 30s is used because this is the default record TTL
47644
- input.rootTimestamp = queryMetadata.ingestionTimestamp - 30000;
47689
+ const timestamp = Number(queryMetadata.ingestionTimestamp);
47690
+ if (!isNaN(timestamp)) {
47691
+ input.rootTimestamp = timestamp;
47692
+ }
47645
47693
  }
47646
47694
  }
47647
47695
  return recordQuery(selection, alias, apiName, [], input);
@@ -49107,7 +49155,12 @@ class DurableDraftQueue {
49107
49155
  }
49108
49156
  finally {
49109
49157
  this.replacingAction = undefined;
49110
- await this.startQueueSafe();
49158
+ try {
49159
+ await this.startQueueSafe();
49160
+ }
49161
+ catch (_a) {
49162
+ // An error starting the queue should not bubble up from this method
49163
+ }
49111
49164
  }
49112
49165
  return updatedTarget;
49113
49166
  });
@@ -51256,6 +51309,9 @@ function createSinglePredicate(val, operator, field, alias) {
51256
51309
  else if (field.apiName === 'weakEtag') {
51257
51310
  leftPath = '$.weakEtag';
51258
51311
  }
51312
+ else if (field.apiName === 'RecordTypeId') {
51313
+ leftPath = '$.recordTypeId';
51314
+ }
51259
51315
  return {
51260
51316
  alias,
51261
51317
  leftPath,
@@ -52292,6 +52348,20 @@ function findFieldInfo(objectInfo, fieldName) {
52292
52348
  return values$2(objectInfo.fields).find((field) => field.apiName === fieldName ||
52293
52349
  (field.dataType === 'Reference' && field.relationshipName === fieldName));
52294
52350
  }
52351
+ async function readIngestionTimestampForKey(key, query) {
52352
+ let ingestionTimestamp = 0;
52353
+ const sql = `SELECT json_extract(metadata, '${JSON_EXTRACT_PATH_INGESTION_TIMESTAMP}') FROM lds_data WHERE key IS ?`;
52354
+ const results = await query(sql, [key]);
52355
+ const [timestamp] = results.rows.map((row) => row[0]);
52356
+ if (timestamp !== null) {
52357
+ const numericalTimestamp = Number(timestamp);
52358
+ if (isNaN(numericalTimestamp)) {
52359
+ return ingestionTimestamp;
52360
+ }
52361
+ ingestionTimestamp = numericalTimestamp;
52362
+ }
52363
+ return ingestionTimestamp;
52364
+ }
52295
52365
 
52296
52366
  function findSpanningField(name) {
52297
52367
  return (field) => {
@@ -52616,6 +52686,12 @@ function addResolversToSchema(schema, polyFields) {
52616
52686
  break;
52617
52687
  case 'LastModifiedDate':
52618
52688
  field.resolve = ({ recordRepresentation: record }) => {
52689
+ // In UIAPI record reps, LastModifiedDate might be present as a field,
52690
+ // which will include both the value and displayValue
52691
+ if (record.fields['LastModifiedDate']) {
52692
+ return record.fields['LastModifiedDate'];
52693
+ }
52694
+ // If the field is not present, just return the value of the root property
52619
52695
  return record.lastModifiedDate
52620
52696
  ? { value: record.lastModifiedDate }
52621
52697
  : null;
@@ -52650,16 +52726,26 @@ function addResolversToSchema(schema, polyFields) {
52650
52726
  : null;
52651
52727
  };
52652
52728
  const { recordRepresentation: record, ingestionTimestamp } = obj;
52653
- const fieldName = field.name.endsWith('__r')
52654
- ? field.name.replace('__r', '__c')
52655
- : field.name;
52656
- const id = (record.fields[fieldName] && record.fields[fieldName].value) ||
52657
- (record.fields[`${fieldName}Id`] &&
52658
- record.fields[`${fieldName}Id`].value);
52659
- if (!id)
52729
+ let id = undefined;
52730
+ if (field.name === 'RecordType') {
52731
+ // RecordTypeId has special handling during ingest and is
52732
+ // not in record.fields, so check for it at the UIAPI root property location
52733
+ id = record.recordTypeId;
52734
+ }
52735
+ else if (field.name.endsWith('__r')) {
52736
+ // Custom relationships end in `__r` and the corresponding ID field should be `__c`
52737
+ let fieldName = field.name.replace('__r', '__c');
52738
+ id = record.fields[fieldName] && record.fields[fieldName].value;
52739
+ }
52740
+ else {
52741
+ // Standard relationships are just FieldNameId
52742
+ let fieldName = field.name + 'Id';
52743
+ id = record.fields[fieldName] && record.fields[fieldName].value;
52744
+ }
52745
+ if (!id || typeof id !== 'string') {
52746
+ // possibly field injection did not inject the necessary Id field
52747
+ // for the relationship, or we found a non-string value.
52660
52748
  return null;
52661
- if (id['__ref'] !== undefined) {
52662
- return fetchRecordOrNull(record.fields[`${field.name}Id`].value);
52663
52749
  }
52664
52750
  seenRecordIds.add(id);
52665
52751
  return fetchRecordOrNull(id);
@@ -52811,18 +52897,7 @@ async function fetchIngestionTimeStampFromDatabase(apiName, info, args, query) {
52811
52897
  const key = buildKeyStringForRecordQuery(operation,
52812
52898
  // join varables passed from query to the argument variables given from the AST
52813
52899
  { ...variableValues, ...args }, info.fieldNodes[0].arguments, apiName);
52814
- const sql = `
52815
- SELECT json_extract(metadata, '${JSON_EXTRACT_PATH_INGESTION_TIMESTAMP}')
52816
- FROM lds_data
52817
- WHERE key IS ?
52818
- `;
52819
- const results = await query(sql, [key]);
52820
- const [timestamp] = results.rows.map((row) => row[0]);
52821
- if (timestamp !== null && typeof timestamp === 'number') {
52822
- // adjust the timestamp to account for ingestion processing time
52823
- // 30s is used because this is the default record TTL
52824
- ingestionTimestamp = timestamp - 30000;
52825
- }
52900
+ return readIngestionTimestampForKey(key, query);
52826
52901
  }
52827
52902
  return ingestionTimestamp;
52828
52903
  }
@@ -54889,7 +54964,7 @@ function createUserJsonOutput(selection, jsonInput, jsonOutput) {
54889
54964
  function createjsonOutput(selections, jsonInput, jsonOutput) {
54890
54965
  const keys$1 = keys$4(jsonInput);
54891
54966
  selections.filter(isFieldNode).forEach((subSelection) => {
54892
- const fieldName = subSelection.name.value;
54967
+ const fieldName = subSelection.alias ? subSelection.alias.value : subSelection.name.value;
54893
54968
  if (keys$1.includes(fieldName)) {
54894
54969
  if (isArray$2$1(jsonInput[fieldName])) {
54895
54970
  jsonOutput[fieldName] = [];
@@ -55609,13 +55684,21 @@ function buildSyntheticRecordRepresentation(luvio, createOperation, userId, obje
55609
55684
  draftFields[DEFAULT_FIELD_LAST_MODIFIED_DATE] = { value: timestampString, displayValue: null };
55610
55685
  draftFields[DEFAULT_FIELD_OWNER_ID] = { value: userId, displayValue: null };
55611
55686
  draftFields[DEFAULT_FIELD_ID] = { value: recordId, displayValue: null };
55612
- if (objectInfo !== undefined) {
55613
- const allObjectFields = keys$3$1(objectInfo.fields);
55614
- allObjectFields.forEach((fieldName) => {
55615
- if (draftFields[fieldName] === undefined) {
55616
- draftFields[fieldName] = { value: null, displayValue: null };
55617
- }
55618
- });
55687
+ const allObjectFields = keys$3$1(objectInfo.fields);
55688
+ allObjectFields.forEach((fieldName) => {
55689
+ if (draftFields[fieldName] === undefined) {
55690
+ draftFields[fieldName] = { value: null, displayValue: null };
55691
+ }
55692
+ });
55693
+ // TODO [W-14915806]: lightning-record-form injects the `IsPersonAccount`
55694
+ // field for all `Account` and `PersonAccount` records. However, not all
55695
+ // orgs use person accounts, and if that field is not present in the object
55696
+ // info then it is not synthesized. We force it to be synthesized here to
55697
+ // ensure lightning-record-form will work correctly with draft-created
55698
+ // accounts.
55699
+ if ((apiName === 'Account' || apiName === 'PersonAccount') &&
55700
+ draftFields['IsPersonAccount'] === undefined) {
55701
+ draftFields['IsPersonAccount'] = { value: null, displayValue: null };
55619
55702
  }
55620
55703
  return {
55621
55704
  id: recordId,
@@ -56202,10 +56285,13 @@ function normalizeRecordFields(key, entry) {
56202
56285
  * Transforms a record for storage in the durable store. The transformation involves denormalizing
56203
56286
  * scalar fields and persisting link metadata to transform back into a normalized representation
56204
56287
  *
56288
+ * If the record contains pending fields this will return undefined as pending records do not get persisted
56289
+ * to the durable store. There should be a refresh operation outbound that will bring in the updated record.
56290
+ *
56205
56291
  * @param normalizedRecord Record containing normalized field links
56206
56292
  * @param recordStore a store containing referenced record fields
56207
56293
  */
56208
- function buildDurableRecordRepresentation(normalizedRecord, records, pendingEntries) {
56294
+ function buildDurableRecordRepresentation(normalizedRecord, records, pendingEntries, store) {
56209
56295
  const fields = normalizedRecord.fields;
56210
56296
  const filteredFields = {};
56211
56297
  const links = {};
@@ -56216,7 +56302,9 @@ function buildDurableRecordRepresentation(normalizedRecord, records, pendingEntr
56216
56302
  // pending fields get filtered out of the durable store
56217
56303
  const { pending } = field;
56218
56304
  if (pending === true) {
56219
- continue;
56305
+ // do not write records with pending fields to the durable store
56306
+ // there should be a refresh operation outbound that will bring in the updated record
56307
+ return undefined;
56220
56308
  }
56221
56309
  const { __ref } = field;
56222
56310
  if (__ref !== undefined) {
@@ -56232,6 +56320,19 @@ function buildDurableRecordRepresentation(normalizedRecord, records, pendingEntr
56232
56320
  if (ref !== undefined) {
56233
56321
  filteredFields[fieldName] = ref;
56234
56322
  }
56323
+ else {
56324
+ // if we have a store to read, try to find the field there too
56325
+ // The durable ingest staging store may pass through to L1, and
56326
+ // not all fields are necessarily published every time, so it is
56327
+ // important to check L1 and not just the fields being published,
56328
+ // otherwise we risk truncating the fields on the record.
56329
+ if (store) {
56330
+ ref = store.readEntry(__ref);
56331
+ if (ref !== undefined) {
56332
+ filteredFields[fieldName] = ref;
56333
+ }
56334
+ }
56335
+ }
56235
56336
  }
56236
56337
  // we want to preserve fields that are missing nodes
56237
56338
  if (filteredFields[fieldName] !== undefined || field.isMissing === true) {
@@ -56253,7 +56354,7 @@ function getDenormalizedKey(originalKey, recordId, luvio) {
56253
56354
  }
56254
56355
  return keyBuilder$20(luvio, { recordId });
56255
56356
  }
56256
- function makeRecordDenormalizingDurableStore(luvio, durableStore, getStoreRecords, getStoreMetadata) {
56357
+ function makeRecordDenormalizingDurableStore(luvio, durableStore, getStoreRecords, getStoreMetadata, getStore) {
56257
56358
  const getEntries = function (entries, segment) {
56258
56359
  // this HOF only inspects records in the default segment
56259
56360
  if (segment !== DefaultDurableSegment) {
@@ -56321,6 +56422,7 @@ function makeRecordDenormalizingDurableStore(luvio, durableStore, getStoreRecord
56321
56422
  const putRecordViews = {};
56322
56423
  const storeRecords = getStoreRecords !== undefined ? getStoreRecords() : {};
56323
56424
  const storeMetadata = getStoreMetadata !== undefined ? getStoreMetadata() : {};
56425
+ const store = getStore();
56324
56426
  for (let i = 0, len = keys$1.length; i < len; i++) {
56325
56427
  const key = keys$1[i];
56326
56428
  let value = entries[key];
@@ -56367,11 +56469,13 @@ function makeRecordDenormalizingDurableStore(luvio, durableStore, getStoreRecord
56367
56469
  metadataVersion: DURABLE_METADATA_VERSION,
56368
56470
  };
56369
56471
  }
56370
- const denormalizedRecord = buildDurableRecordRepresentation(record, storeRecords, recordEntries);
56371
- putEntries[recordKey] = {
56372
- data: denormalizedRecord,
56373
- metadata,
56374
- };
56472
+ const denormalizedRecord = buildDurableRecordRepresentation(record, storeRecords, recordEntries, store);
56473
+ if (denormalizedRecord !== undefined) {
56474
+ putEntries[recordKey] = {
56475
+ data: denormalizedRecord,
56476
+ metadata,
56477
+ };
56478
+ }
56375
56479
  }
56376
56480
  else {
56377
56481
  putEntries[key] = value;
@@ -59865,6 +59969,7 @@ function findReferenceFieldForSpanningField(fieldName, objectInfo) {
59865
59969
  function buildFieldUnionArray(existingRecord, incomingRecord, objectInfo) {
59866
59970
  const allFields = Array.from(new Set([...Object.keys(existingRecord.fields), ...Object.keys(incomingRecord.fields)]));
59867
59971
  const fieldUnion = [];
59972
+ let includesSpanningFields = false;
59868
59973
  allFields.forEach((fieldName) => {
59869
59974
  const objectInfoField = objectInfo.fields[fieldName];
59870
59975
  if (objectInfoField === undefined) {
@@ -59872,13 +59977,14 @@ function buildFieldUnionArray(existingRecord, incomingRecord, objectInfo) {
59872
59977
  const referenceField = findReferenceFieldForSpanningField(fieldName, objectInfo);
59873
59978
  if (referenceField !== undefined) {
59874
59979
  fieldUnion.push(`${fieldName}.Id`);
59980
+ includesSpanningFields = true;
59875
59981
  }
59876
59982
  }
59877
59983
  else {
59878
59984
  fieldUnion.push(fieldName);
59879
59985
  }
59880
59986
  });
59881
- return fieldUnion;
59987
+ return { fields: fieldUnion, includesSpanningFields };
59882
59988
  }
59883
59989
  /**
59884
59990
  * Merges (if possible) an incoming record from a priming session with an existing record in the durable store.
@@ -59910,7 +60016,7 @@ function mergeRecord(existingRecord, incomingRecord, objectInfo) {
59910
60016
  ok: false,
59911
60017
  code: 'conflict-drafts',
59912
60018
  hasDraft: true,
59913
- fieldUnion: buildFieldUnionArray(existingRecord, incomingRecord, objectInfo),
60019
+ fieldUnion: buildFieldUnionArray(existingRecord, incomingRecord, objectInfo).fields,
59914
60020
  };
59915
60021
  }
59916
60022
  // Check if incoming record's Etag is equal to the existing one
@@ -59972,10 +60078,19 @@ function mergeRecord(existingRecord, incomingRecord, objectInfo) {
59972
60078
  };
59973
60079
  }
59974
60080
  // If Etags do not match and the incoming record does not contain all fields, re-request the record
60081
+ const { fields, includesSpanningFields } = buildFieldUnionArray(existingRecord, incomingRecord, objectInfo);
60082
+ if (includesSpanningFields) {
60083
+ return {
60084
+ ok: false,
60085
+ code: 'conflict-spanning-record',
60086
+ fieldUnion: fields,
60087
+ hasDraft: false,
60088
+ };
60089
+ }
59975
60090
  return {
59976
60091
  ok: false,
59977
60092
  code: 'conflict-missing-fields',
59978
- fieldUnion: buildFieldUnionArray(existingRecord, incomingRecord, objectInfo),
60093
+ fieldUnion: fields,
59979
60094
  hasDraft: false,
59980
60095
  };
59981
60096
  }
@@ -60899,30 +61014,36 @@ function getRuntime() {
60899
61014
  const internalAdapterStore = new InMemoryStore();
60900
61015
  let getIngestRecordsForInternalAdapters;
60901
61016
  let getIngestMetadataForInternalAdapters;
61017
+ let getIngestStoreInternal;
60902
61018
  const internalAdapterDurableStore = makeRecordDenormalizingDurableStore(lazyLuvio, lazyBaseDurableStore, () => getIngestRecordsForInternalAdapters !== undefined
60903
61019
  ? getIngestRecordsForInternalAdapters()
60904
61020
  : {}, () => getIngestMetadataForInternalAdapters !== undefined
60905
61021
  ? getIngestMetadataForInternalAdapters()
60906
- : {});
61022
+ : {}, () => (getIngestStoreInternal !== undefined ? getIngestStoreInternal() : undefined));
60907
61023
  const { adapters: { getObjectInfo, getObjectInfos, getRecord, getObjectInfoDirectory }, durableEnvironment: internalAdapterDurableEnvironment, luvio: internalLuvio, } = buildInternalAdapters(internalAdapterStore, lazyNetworkAdapter, internalAdapterDurableStore, (apiName, objectInfo) => lazyObjectInfoService.ensureObjectInfoCached(apiName, objectInfo));
60908
61024
  lazyInternalLuvio = internalLuvio;
60909
61025
  getIngestRecordsForInternalAdapters =
60910
61026
  internalAdapterDurableEnvironment.getIngestStagingStoreRecords;
60911
61027
  getIngestMetadataForInternalAdapters =
60912
61028
  internalAdapterDurableEnvironment.getIngestStagingStoreRecords;
61029
+ getIngestStoreInternal = internalAdapterDurableEnvironment.getIngestStagingStore;
60913
61030
  lazyObjectInfoService = new ObjectInfoService(getObjectInfo, getObjectInfos, getObjectInfoDirectory, lazyBaseDurableStore);
60914
61031
  // creates a durable store that denormalizes scalar fields for records
60915
61032
  let getIngestRecords;
60916
61033
  let getIngestMetadata;
60917
- const recordDenormingStore = makeRecordDenormalizingDurableStore(lazyLuvio, lazyBaseDurableStore, () => (getIngestRecords !== undefined ? getIngestRecords() : {}), () => (getIngestMetadata !== undefined ? getIngestMetadata() : {}));
61034
+ let getIngestStore;
61035
+ const recordDenormingStore = makeRecordDenormalizingDurableStore(lazyLuvio, lazyBaseDurableStore, () => (getIngestRecords !== undefined ? getIngestRecords() : {}), () => (getIngestMetadata !== undefined ? getIngestMetadata() : {}), () => (getIngestStore !== undefined ? getIngestStore() : undefined));
60918
61036
  const baseEnv = new Environment(store, lazyNetworkAdapter);
60919
61037
  const gqlEnv = makeEnvironmentGraphqlAware(baseEnv);
60920
61038
  const durableEnv = makeDurable(gqlEnv, {
60921
61039
  durableStore: recordDenormingStore,
60922
61040
  enableDurableMetadataRefresh: ldsMetadataRefreshEnabled.isOpen({ fallback: false }),
61041
+ // disable luvio deep freeze in headless environments
61042
+ disableDeepFreeze: typeof window === 'undefined',
60923
61043
  });
60924
61044
  getIngestRecords = durableEnv.getIngestStagingStoreRecords;
60925
61045
  getIngestMetadata = durableEnv.getIngestStagingStoreMetadata;
61046
+ getIngestStore = durableEnv.getIngestStagingStore;
60926
61047
  // draft queue
60927
61048
  lazyDraftQueue = buildLdsDraftQueue(recordDenormingStore);
60928
61049
  const draftService = new UiApiDraftRecordService(lazyDraftQueue, () => lazyLuvio, recordDenormingStore, getObjectInfo, newRecordId, userId, formatDisplayValue);
@@ -61019,7 +61140,7 @@ register$1({
61019
61140
  id: '@salesforce/lds-network-adapter',
61020
61141
  instrument: instrument$2,
61021
61142
  });
61022
- // version: 1.266.0-dev2-7c2f3615f
61143
+ // version: 1.266.0-dev21-b2a247476
61023
61144
 
61024
61145
  const { create: create$3, keys: keys$3 } = Object;
61025
61146
  const { stringify: stringify$1, parse: parse$1 } = JSON;
@@ -61796,7 +61917,7 @@ function mergeData$11(existingData, newData) {
61796
61917
  };
61797
61918
  }
61798
61919
  function ingest$13(astNode, state) {
61799
- const { path, data, luvio } = state;
61920
+ const { path, data, timestamp, luvio } = state;
61800
61921
  const key = keyBuilder$16(luvio, path);
61801
61922
  return ingestNonCursorConnectionType(astNode, state, {
61802
61923
  key,
@@ -61810,7 +61931,8 @@ function ingest$13(astNode, state) {
61810
61931
  ttl: TTL$1,
61811
61932
  namespace: keyPrefix$1,
61812
61933
  representationName: "DoubleValue",
61813
- version: VERSION$1c
61934
+ version: VERSION$1c,
61935
+ ingestionTimestamp: timestamp,
61814
61936
  },
61815
61937
  });
61816
61938
  }
@@ -61938,7 +62060,7 @@ function mergeData$10(existingData, newData) {
61938
62060
  };
61939
62061
  }
61940
62062
  function ingest$12(astNode, state) {
61941
- const { path, data, luvio } = state;
62063
+ const { path, data, timestamp, luvio } = state;
61942
62064
  const key = keyBuilder$15(luvio, path);
61943
62065
  return ingestNonCursorConnectionType(astNode, state, {
61944
62066
  key,
@@ -61952,7 +62074,8 @@ function ingest$12(astNode, state) {
61952
62074
  ttl: TTL$1,
61953
62075
  namespace: keyPrefix$1,
61954
62076
  representationName: "LongValue",
61955
- version: VERSION$1b
62077
+ version: VERSION$1b,
62078
+ ingestionTimestamp: timestamp,
61956
62079
  },
61957
62080
  });
61958
62081
  }
@@ -62080,7 +62203,7 @@ function mergeData$$(existingData, newData) {
62080
62203
  };
62081
62204
  }
62082
62205
  function ingest$11(astNode, state) {
62083
- const { path, data, luvio } = state;
62206
+ const { path, data, timestamp, luvio } = state;
62084
62207
  const key = keyBuilder$14(luvio, path);
62085
62208
  return ingestNonCursorConnectionType(astNode, state, {
62086
62209
  key,
@@ -62094,7 +62217,8 @@ function ingest$11(astNode, state) {
62094
62217
  ttl: TTL$1,
62095
62218
  namespace: keyPrefix$1,
62096
62219
  representationName: "PercentValue",
62097
- version: VERSION$1a
62220
+ version: VERSION$1a,
62221
+ ingestionTimestamp: timestamp,
62098
62222
  },
62099
62223
  });
62100
62224
  }
@@ -62222,7 +62346,7 @@ function mergeData$_(existingData, newData) {
62222
62346
  };
62223
62347
  }
62224
62348
  function ingest$10(astNode, state) {
62225
- const { path, data, luvio } = state;
62349
+ const { path, data, timestamp, luvio } = state;
62226
62350
  const key = keyBuilder$13(luvio, path);
62227
62351
  return ingestNonCursorConnectionType(astNode, state, {
62228
62352
  key,
@@ -62236,7 +62360,8 @@ function ingest$10(astNode, state) {
62236
62360
  ttl: TTL$1,
62237
62361
  namespace: keyPrefix$1,
62238
62362
  representationName: "PercentAggregate",
62239
- version: VERSION$19
62363
+ version: VERSION$19,
62364
+ ingestionTimestamp: timestamp,
62240
62365
  },
62241
62366
  });
62242
62367
  }
@@ -62484,7 +62609,7 @@ function mergeData$Z(existingData, newData) {
62484
62609
  };
62485
62610
  }
62486
62611
  function ingest$$(astNode, state) {
62487
- const { path, data, luvio } = state;
62612
+ const { path, data, timestamp, luvio } = state;
62488
62613
  const key = keyBuilder$12(luvio, path);
62489
62614
  return ingestNonCursorConnectionType(astNode, state, {
62490
62615
  key,
@@ -62498,7 +62623,8 @@ function ingest$$(astNode, state) {
62498
62623
  ttl: TTL$1,
62499
62624
  namespace: keyPrefix$1,
62500
62625
  representationName: "IntValue",
62501
- version: VERSION$18
62626
+ version: VERSION$18,
62627
+ ingestionTimestamp: timestamp,
62502
62628
  },
62503
62629
  });
62504
62630
  }
@@ -62626,7 +62752,7 @@ function mergeData$Y(existingData, newData) {
62626
62752
  };
62627
62753
  }
62628
62754
  function ingest$_(astNode, state) {
62629
- const { path, data, luvio } = state;
62755
+ const { path, data, timestamp, luvio } = state;
62630
62756
  const key = keyBuilder$11(luvio, path);
62631
62757
  return ingestNonCursorConnectionType(astNode, state, {
62632
62758
  key,
@@ -62640,7 +62766,8 @@ function ingest$_(astNode, state) {
62640
62766
  ttl: TTL$1,
62641
62767
  namespace: keyPrefix$1,
62642
62768
  representationName: "StringValue",
62643
- version: VERSION$17
62769
+ version: VERSION$17,
62770
+ ingestionTimestamp: timestamp,
62644
62771
  },
62645
62772
  });
62646
62773
  }
@@ -62759,7 +62886,7 @@ function mergeData$X(existingData, newData) {
62759
62886
  };
62760
62887
  }
62761
62888
  function ingest$Z(astNode, state) {
62762
- const { path, data, luvio } = state;
62889
+ const { path, data, timestamp, luvio } = state;
62763
62890
  const key = keyBuilder$10(luvio, path);
62764
62891
  return ingestNonCursorConnectionType(astNode, state, {
62765
62892
  key,
@@ -62773,7 +62900,8 @@ function ingest$Z(astNode, state) {
62773
62900
  ttl: TTL$1,
62774
62901
  namespace: keyPrefix$1,
62775
62902
  representationName: "StringAggregate",
62776
- version: VERSION$16
62903
+ version: VERSION$16,
62904
+ ingestionTimestamp: timestamp,
62777
62905
  },
62778
62906
  });
62779
62907
  }
@@ -63001,7 +63129,7 @@ function mergeData$W(existingData, newData) {
63001
63129
  };
63002
63130
  }
63003
63131
  function ingest$Y(astNode, state) {
63004
- const { path, data, luvio } = state;
63132
+ const { path, data, timestamp, luvio } = state;
63005
63133
  const key = keyBuilder$$(luvio, path);
63006
63134
  return ingestNonCursorConnectionType(astNode, state, {
63007
63135
  key,
@@ -63015,7 +63143,8 @@ function ingest$Y(astNode, state) {
63015
63143
  ttl: TTL$1,
63016
63144
  namespace: keyPrefix$1,
63017
63145
  representationName: "IDValue",
63018
- version: VERSION$15
63146
+ version: VERSION$15,
63147
+ ingestionTimestamp: timestamp,
63019
63148
  },
63020
63149
  });
63021
63150
  }
@@ -63137,7 +63266,7 @@ function mergeData$V(existingData, newData) {
63137
63266
  };
63138
63267
  }
63139
63268
  function ingest$X(astNode, state) {
63140
- const { path, data, luvio } = state;
63269
+ const { path, data, timestamp, luvio } = state;
63141
63270
  const key = keyBuilder$_(luvio, path);
63142
63271
  return ingestNonCursorConnectionType(astNode, state, {
63143
63272
  key,
@@ -63151,7 +63280,8 @@ function ingest$X(astNode, state) {
63151
63280
  ttl: TTL$1,
63152
63281
  namespace: keyPrefix$1,
63153
63282
  representationName: "DateTimeValue",
63154
- version: VERSION$14
63283
+ version: VERSION$14,
63284
+ ingestionTimestamp: timestamp,
63155
63285
  },
63156
63286
  });
63157
63287
  }
@@ -63279,7 +63409,7 @@ function mergeData$U(existingData, newData) {
63279
63409
  };
63280
63410
  }
63281
63411
  function ingest$W(astNode, state) {
63282
- const { path, data, luvio } = state;
63412
+ const { path, data, timestamp, luvio } = state;
63283
63413
  const key = keyBuilder$Z(luvio, path);
63284
63414
  return ingestNonCursorConnectionType(astNode, state, {
63285
63415
  key,
@@ -63293,7 +63423,8 @@ function ingest$W(astNode, state) {
63293
63423
  ttl: TTL$1,
63294
63424
  namespace: keyPrefix$1,
63295
63425
  representationName: "BooleanValue",
63296
- version: VERSION$13
63426
+ version: VERSION$13,
63427
+ ingestionTimestamp: timestamp,
63297
63428
  },
63298
63429
  });
63299
63430
  }
@@ -63415,7 +63546,7 @@ function mergeData$T(existingData, newData) {
63415
63546
  };
63416
63547
  }
63417
63548
  function ingest$V(astNode, state) {
63418
- const { path, data, luvio } = state;
63549
+ const { path, data, timestamp, luvio } = state;
63419
63550
  const key = keyBuilder$Y(luvio, path);
63420
63551
  return ingestNonCursorConnectionType(astNode, state, {
63421
63552
  key,
@@ -63429,7 +63560,8 @@ function ingest$V(astNode, state) {
63429
63560
  ttl: TTL$1,
63430
63561
  namespace: keyPrefix$1,
63431
63562
  representationName: "TimeValue",
63432
- version: VERSION$12
63563
+ version: VERSION$12,
63564
+ ingestionTimestamp: timestamp,
63433
63565
  },
63434
63566
  });
63435
63567
  }
@@ -63557,7 +63689,7 @@ function mergeData$S(existingData, newData) {
63557
63689
  };
63558
63690
  }
63559
63691
  function ingest$U(astNode, state) {
63560
- const { path, data, luvio } = state;
63692
+ const { path, data, timestamp, luvio } = state;
63561
63693
  const key = keyBuilder$X(luvio, path);
63562
63694
  return ingestNonCursorConnectionType(astNode, state, {
63563
63695
  key,
@@ -63571,7 +63703,8 @@ function ingest$U(astNode, state) {
63571
63703
  ttl: TTL$1,
63572
63704
  namespace: keyPrefix$1,
63573
63705
  representationName: "DateValue",
63574
- version: VERSION$11
63706
+ version: VERSION$11,
63707
+ ingestionTimestamp: timestamp,
63575
63708
  },
63576
63709
  });
63577
63710
  }
@@ -63699,7 +63832,7 @@ function mergeData$R(existingData, newData) {
63699
63832
  };
63700
63833
  }
63701
63834
  function ingest$T(astNode, state) {
63702
- const { path, data, luvio } = state;
63835
+ const { path, data, timestamp, luvio } = state;
63703
63836
  const key = keyBuilder$W(luvio, path);
63704
63837
  return ingestNonCursorConnectionType(astNode, state, {
63705
63838
  key,
@@ -63713,7 +63846,8 @@ function ingest$T(astNode, state) {
63713
63846
  ttl: TTL$1,
63714
63847
  namespace: keyPrefix$1,
63715
63848
  representationName: "TextAreaValue",
63716
- version: VERSION$10
63849
+ version: VERSION$10,
63850
+ ingestionTimestamp: timestamp,
63717
63851
  },
63718
63852
  });
63719
63853
  }
@@ -63835,7 +63969,7 @@ function mergeData$Q(existingData, newData) {
63835
63969
  };
63836
63970
  }
63837
63971
  function ingest$S(astNode, state) {
63838
- const { path, data, luvio } = state;
63972
+ const { path, data, timestamp, luvio } = state;
63839
63973
  const key = keyBuilder$V(luvio, path);
63840
63974
  return ingestNonCursorConnectionType(astNode, state, {
63841
63975
  key,
@@ -63849,7 +63983,8 @@ function ingest$S(astNode, state) {
63849
63983
  ttl: TTL$1,
63850
63984
  namespace: keyPrefix$1,
63851
63985
  representationName: "LongTextAreaValue",
63852
- version: VERSION$$
63986
+ version: VERSION$$,
63987
+ ingestionTimestamp: timestamp,
63853
63988
  },
63854
63989
  });
63855
63990
  }
@@ -63971,7 +64106,7 @@ function mergeData$P(existingData, newData) {
63971
64106
  };
63972
64107
  }
63973
64108
  function ingest$R(astNode, state) {
63974
- const { path, data, luvio } = state;
64109
+ const { path, data, timestamp, luvio } = state;
63975
64110
  const key = keyBuilder$U(luvio, path);
63976
64111
  return ingestNonCursorConnectionType(astNode, state, {
63977
64112
  key,
@@ -63985,7 +64120,8 @@ function ingest$R(astNode, state) {
63985
64120
  ttl: TTL$1,
63986
64121
  namespace: keyPrefix$1,
63987
64122
  representationName: "RichTextAreaValue",
63988
- version: VERSION$_
64123
+ version: VERSION$_,
64124
+ ingestionTimestamp: timestamp,
63989
64125
  },
63990
64126
  });
63991
64127
  }
@@ -64107,7 +64243,7 @@ function mergeData$O(existingData, newData) {
64107
64243
  };
64108
64244
  }
64109
64245
  function ingest$Q(astNode, state) {
64110
- const { path, data, luvio } = state;
64246
+ const { path, data, timestamp, luvio } = state;
64111
64247
  const key = keyBuilder$T(luvio, path);
64112
64248
  return ingestNonCursorConnectionType(astNode, state, {
64113
64249
  key,
@@ -64121,7 +64257,8 @@ function ingest$Q(astNode, state) {
64121
64257
  ttl: TTL$1,
64122
64258
  namespace: keyPrefix$1,
64123
64259
  representationName: "PhoneNumberValue",
64124
- version: VERSION$Z
64260
+ version: VERSION$Z,
64261
+ ingestionTimestamp: timestamp,
64125
64262
  },
64126
64263
  });
64127
64264
  }
@@ -64243,7 +64380,7 @@ function mergeData$N(existingData, newData) {
64243
64380
  };
64244
64381
  }
64245
64382
  function ingest$P(astNode, state) {
64246
- const { path, data, luvio } = state;
64383
+ const { path, data, timestamp, luvio } = state;
64247
64384
  const key = keyBuilder$S(luvio, path);
64248
64385
  return ingestNonCursorConnectionType(astNode, state, {
64249
64386
  key,
@@ -64257,7 +64394,8 @@ function ingest$P(astNode, state) {
64257
64394
  ttl: TTL$1,
64258
64395
  namespace: keyPrefix$1,
64259
64396
  representationName: "EmailValue",
64260
- version: VERSION$Y
64397
+ version: VERSION$Y,
64398
+ ingestionTimestamp: timestamp,
64261
64399
  },
64262
64400
  });
64263
64401
  }
@@ -64379,7 +64517,7 @@ function mergeData$M(existingData, newData) {
64379
64517
  };
64380
64518
  }
64381
64519
  function ingest$O(astNode, state) {
64382
- const { path, data, luvio } = state;
64520
+ const { path, data, timestamp, luvio } = state;
64383
64521
  const key = keyBuilder$R(luvio, path);
64384
64522
  return ingestNonCursorConnectionType(astNode, state, {
64385
64523
  key,
@@ -64393,7 +64531,8 @@ function ingest$O(astNode, state) {
64393
64531
  ttl: TTL$1,
64394
64532
  namespace: keyPrefix$1,
64395
64533
  representationName: "UrlValue",
64396
- version: VERSION$X
64534
+ version: VERSION$X,
64535
+ ingestionTimestamp: timestamp,
64397
64536
  },
64398
64537
  });
64399
64538
  }
@@ -64515,7 +64654,7 @@ function mergeData$L(existingData, newData) {
64515
64654
  };
64516
64655
  }
64517
64656
  function ingest$N(astNode, state) {
64518
- const { path, data, luvio } = state;
64657
+ const { path, data, timestamp, luvio } = state;
64519
64658
  const key = keyBuilder$Q(luvio, path);
64520
64659
  return ingestNonCursorConnectionType(astNode, state, {
64521
64660
  key,
@@ -64529,7 +64668,8 @@ function ingest$N(astNode, state) {
64529
64668
  ttl: TTL$1,
64530
64669
  namespace: keyPrefix$1,
64531
64670
  representationName: "EncryptedStringValue",
64532
- version: VERSION$W
64671
+ version: VERSION$W,
64672
+ ingestionTimestamp: timestamp,
64533
64673
  },
64534
64674
  });
64535
64675
  }
@@ -64651,7 +64791,7 @@ function mergeData$K(existingData, newData) {
64651
64791
  };
64652
64792
  }
64653
64793
  function ingest$M(astNode, state) {
64654
- const { path, data, luvio } = state;
64794
+ const { path, data, timestamp, luvio } = state;
64655
64795
  const key = keyBuilder$P(luvio, path);
64656
64796
  return ingestNonCursorConnectionType(astNode, state, {
64657
64797
  key,
@@ -64665,7 +64805,8 @@ function ingest$M(astNode, state) {
64665
64805
  ttl: TTL$1,
64666
64806
  namespace: keyPrefix$1,
64667
64807
  representationName: "CurrencyValue",
64668
- version: VERSION$V
64808
+ version: VERSION$V,
64809
+ ingestionTimestamp: timestamp,
64669
64810
  },
64670
64811
  });
64671
64812
  }
@@ -64793,7 +64934,7 @@ function mergeData$J(existingData, newData) {
64793
64934
  };
64794
64935
  }
64795
64936
  function ingest$L(astNode, state) {
64796
- const { path, data, luvio } = state;
64937
+ const { path, data, timestamp, luvio } = state;
64797
64938
  const key = keyBuilder$O(luvio, path);
64798
64939
  return ingestNonCursorConnectionType(astNode, state, {
64799
64940
  key,
@@ -64807,7 +64948,8 @@ function ingest$L(astNode, state) {
64807
64948
  ttl: TTL$1,
64808
64949
  namespace: keyPrefix$1,
64809
64950
  representationName: "LongitudeValue",
64810
- version: VERSION$U
64951
+ version: VERSION$U,
64952
+ ingestionTimestamp: timestamp,
64811
64953
  },
64812
64954
  });
64813
64955
  }
@@ -64929,7 +65071,7 @@ function mergeData$I(existingData, newData) {
64929
65071
  };
64930
65072
  }
64931
65073
  function ingest$K(astNode, state) {
64932
- const { path, data, luvio } = state;
65074
+ const { path, data, timestamp, luvio } = state;
64933
65075
  const key = keyBuilder$N(luvio, path);
64934
65076
  return ingestNonCursorConnectionType(astNode, state, {
64935
65077
  key,
@@ -64943,7 +65085,8 @@ function ingest$K(astNode, state) {
64943
65085
  ttl: TTL$1,
64944
65086
  namespace: keyPrefix$1,
64945
65087
  representationName: "LatitudeValue",
64946
- version: VERSION$T
65088
+ version: VERSION$T,
65089
+ ingestionTimestamp: timestamp,
64947
65090
  },
64948
65091
  });
64949
65092
  }
@@ -65065,7 +65208,7 @@ function mergeData$H(existingData, newData) {
65065
65208
  };
65066
65209
  }
65067
65210
  function ingest$J(astNode, state) {
65068
- const { path, data, luvio } = state;
65211
+ const { path, data, timestamp, luvio } = state;
65069
65212
  const key = keyBuilder$M(luvio, path);
65070
65213
  return ingestNonCursorConnectionType(astNode, state, {
65071
65214
  key,
@@ -65079,7 +65222,8 @@ function ingest$J(astNode, state) {
65079
65222
  ttl: TTL$1,
65080
65223
  namespace: keyPrefix$1,
65081
65224
  representationName: "PicklistValue",
65082
- version: VERSION$S
65225
+ version: VERSION$S,
65226
+ ingestionTimestamp: timestamp,
65083
65227
  },
65084
65228
  });
65085
65229
  }
@@ -65207,7 +65351,7 @@ function mergeData$G(existingData, newData) {
65207
65351
  };
65208
65352
  }
65209
65353
  function ingest$I(astNode, state) {
65210
- const { path, data, luvio } = state;
65354
+ const { path, data, timestamp, luvio } = state;
65211
65355
  const key = keyBuilder$L(luvio, path);
65212
65356
  return ingestNonCursorConnectionType(astNode, state, {
65213
65357
  key,
@@ -65221,7 +65365,8 @@ function ingest$I(astNode, state) {
65221
65365
  ttl: TTL$1,
65222
65366
  namespace: keyPrefix$1,
65223
65367
  representationName: "MultiPicklistValue",
65224
- version: VERSION$R
65368
+ version: VERSION$R,
65369
+ ingestionTimestamp: timestamp,
65225
65370
  },
65226
65371
  });
65227
65372
  }
@@ -65349,7 +65494,7 @@ function mergeData$F(existingData, newData) {
65349
65494
  };
65350
65495
  }
65351
65496
  function ingest$H(astNode, state) {
65352
- const { path, data, luvio } = state;
65497
+ const { path, data, timestamp, luvio } = state;
65353
65498
  const key = keyBuilder$K(luvio, path);
65354
65499
  return ingestNonCursorConnectionType(astNode, state, {
65355
65500
  key,
@@ -65363,7 +65508,8 @@ function ingest$H(astNode, state) {
65363
65508
  ttl: TTL$1,
65364
65509
  namespace: keyPrefix$1,
65365
65510
  representationName: "Base64Value",
65366
- version: VERSION$Q
65511
+ version: VERSION$Q,
65512
+ ingestionTimestamp: timestamp,
65367
65513
  },
65368
65514
  });
65369
65515
  }
@@ -65485,7 +65631,7 @@ function mergeData$E(existingData, newData) {
65485
65631
  };
65486
65632
  }
65487
65633
  function ingest$G(astNode, state) {
65488
- const { path, data, luvio } = state;
65634
+ const { path, data, timestamp, luvio } = state;
65489
65635
  const key = keyBuilder$J(luvio, path);
65490
65636
  return ingestNonCursorConnectionType(astNode, state, {
65491
65637
  key,
@@ -65499,7 +65645,8 @@ function ingest$G(astNode, state) {
65499
65645
  ttl: TTL$1,
65500
65646
  namespace: keyPrefix$1,
65501
65647
  representationName: "JSONValue",
65502
- version: VERSION$P
65648
+ version: VERSION$P,
65649
+ ingestionTimestamp: timestamp,
65503
65650
  },
65504
65651
  });
65505
65652
  }
@@ -66097,7 +66244,7 @@ function mergeData$D(existingData, newData) {
66097
66244
  };
66098
66245
  }
66099
66246
  function ingest$E(astNode, state) {
66100
- const { path, data, luvio } = state;
66247
+ const { path, data, timestamp, luvio } = state;
66101
66248
  const key = keyBuilder$H(luvio, path);
66102
66249
  return ingestNonCursorConnectionType(astNode, state, {
66103
66250
  key,
@@ -66111,7 +66258,8 @@ function ingest$E(astNode, state) {
66111
66258
  ttl: TTL$1,
66112
66259
  namespace: keyPrefix$1,
66113
66260
  representationName: "CompoundField",
66114
- version: VERSION$L
66261
+ version: VERSION$L,
66262
+ ingestionTimestamp: timestamp,
66115
66263
  },
66116
66264
  });
66117
66265
  }
@@ -67097,7 +67245,7 @@ function mergeData$C(existingData, newData) {
67097
67245
  };
67098
67246
  }
67099
67247
  function ingest$D(astNode, state) {
67100
- const { path, data, luvio } = state;
67248
+ const { path, data, timestamp, luvio } = state;
67101
67249
  const key = keyBuilder$G(luvio, path);
67102
67250
  return ingestNonCursorConnectionType(astNode, state, {
67103
67251
  key,
@@ -67111,7 +67259,8 @@ function ingest$D(astNode, state) {
67111
67259
  ttl: TTL$1,
67112
67260
  namespace: keyPrefix$1,
67113
67261
  representationName: "PageInfo",
67114
- version: VERSION$K
67262
+ version: VERSION$K,
67263
+ ingestionTimestamp: timestamp,
67115
67264
  },
67116
67265
  });
67117
67266
  }
@@ -67313,7 +67462,7 @@ function mergeData$B(existingData, newData) {
67313
67462
  };
67314
67463
  }
67315
67464
  function ingest$C(astNode, state) {
67316
- const { path, data, luvio } = state;
67465
+ const { path, data, timestamp, luvio } = state;
67317
67466
  const key = keyBuilder$F(luvio, path, data);
67318
67467
  return ingestNonCursorConnectionType(astNode, state, {
67319
67468
  key,
@@ -67330,7 +67479,8 @@ function ingest$C(astNode, state) {
67330
67479
  ttl: TTL$1,
67331
67480
  namespace: keyPrefix$1,
67332
67481
  representationName: "RecordRepresentation",
67333
- version: VERSION$J
67482
+ version: VERSION$J,
67483
+ ingestionTimestamp: timestamp,
67334
67484
  },
67335
67485
  });
67336
67486
  }
@@ -67852,7 +68002,7 @@ function mergeData$A(existingData, newData) {
67852
68002
  };
67853
68003
  }
67854
68004
  function ingest$B(astNode, state) {
67855
- const { path, data, luvio } = state;
68005
+ const { path, data, timestamp, luvio } = state;
67856
68006
  const key = keyBuilder$E(luvio, path);
67857
68007
  return ingestNonCursorConnectionType(astNode, state, {
67858
68008
  key,
@@ -67866,7 +68016,8 @@ function ingest$B(astNode, state) {
67866
68016
  ttl: TTL$1,
67867
68017
  namespace: keyPrefix$1,
67868
68018
  representationName: "RecordEdge",
67869
- version: VERSION$I
68019
+ version: VERSION$I,
68020
+ ingestionTimestamp: timestamp,
67870
68021
  },
67871
68022
  });
67872
68023
  }
@@ -68071,7 +68222,7 @@ function ingestPaginationMetadata$1(astNode, state, key, sink, existingData) {
68071
68222
  }
68072
68223
  }
68073
68224
  function ingest$A(astNode, state) {
68074
- const { path, data, luvio } = state;
68225
+ const { path, data, timestamp, luvio } = state;
68075
68226
  const key = keyBuilder$D(luvio, path);
68076
68227
  return ingestCursorConnectionType(astNode, state, {
68077
68228
  key,
@@ -68087,7 +68238,8 @@ function ingest$A(astNode, state) {
68087
68238
  ttl: TTL$4,
68088
68239
  namespace: keyPrefix$1,
68089
68240
  representationName: "RecordConnection",
68090
- version: VERSION$H
68241
+ version: VERSION$H,
68242
+ ingestionTimestamp: timestamp,
68091
68243
  },
68092
68244
  });
68093
68245
  }
@@ -68256,7 +68408,7 @@ function mergeData$y(existingData, newData) {
68256
68408
  };
68257
68409
  }
68258
68410
  function ingest$z(astNode, state) {
68259
- const { path, data, luvio } = state;
68411
+ const { path, data, timestamp, luvio } = state;
68260
68412
  const key = keyBuilder$C(luvio, path);
68261
68413
  return ingestNonCursorConnectionType(astNode, state, {
68262
68414
  key,
@@ -68270,7 +68422,8 @@ function ingest$z(astNode, state) {
68270
68422
  ttl: TTL$1,
68271
68423
  namespace: keyPrefix$1,
68272
68424
  representationName: "RecordQuery",
68273
- version: VERSION$G
68425
+ version: VERSION$G,
68426
+ ingestionTimestamp: timestamp,
68274
68427
  },
68275
68428
  });
68276
68429
  }
@@ -68400,7 +68553,7 @@ function mergeData$x(existingData, newData) {
68400
68553
  };
68401
68554
  }
68402
68555
  function ingest$y(astNode, state) {
68403
- const { path, data, luvio } = state;
68556
+ const { path, data, timestamp, luvio } = state;
68404
68557
  const key = keyBuilder$B(luvio, path);
68405
68558
  return ingestNonCursorConnectionType(astNode, state, {
68406
68559
  key,
@@ -68414,7 +68567,8 @@ function ingest$y(astNode, state) {
68414
68567
  ttl: TTL$1,
68415
68568
  namespace: keyPrefix$1,
68416
68569
  representationName: "BooleanAggregate",
68417
- version: VERSION$F
68570
+ version: VERSION$F,
68571
+ ingestionTimestamp: timestamp,
68418
68572
  },
68419
68573
  });
68420
68574
  }
@@ -68583,7 +68737,7 @@ function mergeData$w(existingData, newData) {
68583
68737
  };
68584
68738
  }
68585
68739
  function ingest$x(astNode, state) {
68586
- const { path, data, luvio } = state;
68740
+ const { path, data, timestamp, luvio } = state;
68587
68741
  const key = keyBuilder$A(luvio, path);
68588
68742
  return ingestNonCursorConnectionType(astNode, state, {
68589
68743
  key,
@@ -68597,7 +68751,8 @@ function ingest$x(astNode, state) {
68597
68751
  ttl: TTL$1,
68598
68752
  namespace: keyPrefix$1,
68599
68753
  representationName: "CurrencyAggregate",
68600
- version: VERSION$E
68754
+ version: VERSION$E,
68755
+ ingestionTimestamp: timestamp,
68601
68756
  },
68602
68757
  });
68603
68758
  }
@@ -68845,7 +69000,7 @@ function mergeData$v(existingData, newData) {
68845
69000
  };
68846
69001
  }
68847
69002
  function ingest$w(astNode, state) {
68848
- const { path, data, luvio } = state;
69003
+ const { path, data, timestamp, luvio } = state;
68849
69004
  const key = keyBuilder$z(luvio, path);
68850
69005
  return ingestNonCursorConnectionType(astNode, state, {
68851
69006
  key,
@@ -68859,7 +69014,8 @@ function ingest$w(astNode, state) {
68859
69014
  ttl: TTL$1,
68860
69015
  namespace: keyPrefix$1,
68861
69016
  representationName: "DateFunctionAggregation",
68862
- version: VERSION$D
69017
+ version: VERSION$D,
69018
+ ingestionTimestamp: timestamp,
68863
69019
  },
68864
69020
  });
68865
69021
  }
@@ -68993,7 +69149,7 @@ function mergeData$u(existingData, newData) {
68993
69149
  };
68994
69150
  }
68995
69151
  function ingest$v(astNode, state) {
68996
- const { path, data, luvio } = state;
69152
+ const { path, data, timestamp, luvio } = state;
68997
69153
  const key = keyBuilder$y(luvio, path);
68998
69154
  return ingestNonCursorConnectionType(astNode, state, {
68999
69155
  key,
@@ -69007,7 +69163,8 @@ function ingest$v(astNode, state) {
69007
69163
  ttl: TTL$1,
69008
69164
  namespace: keyPrefix$1,
69009
69165
  representationName: "DateAggregate",
69010
- version: VERSION$C
69166
+ version: VERSION$C,
69167
+ ingestionTimestamp: timestamp,
69011
69168
  },
69012
69169
  });
69013
69170
  }
@@ -69374,7 +69531,7 @@ function mergeData$t(existingData, newData) {
69374
69531
  };
69375
69532
  }
69376
69533
  function ingest$u(astNode, state) {
69377
- const { path, data, luvio } = state;
69534
+ const { path, data, timestamp, luvio } = state;
69378
69535
  const key = keyBuilder$x(luvio, path);
69379
69536
  return ingestNonCursorConnectionType(astNode, state, {
69380
69537
  key,
@@ -69388,7 +69545,8 @@ function ingest$u(astNode, state) {
69388
69545
  ttl: TTL$1,
69389
69546
  namespace: keyPrefix$1,
69390
69547
  representationName: "DoubleAggregate",
69391
- version: VERSION$B
69548
+ version: VERSION$B,
69549
+ ingestionTimestamp: timestamp,
69392
69550
  },
69393
69551
  });
69394
69552
  }
@@ -69627,7 +69785,7 @@ function mergeData$s(existingData, newData) {
69627
69785
  };
69628
69786
  }
69629
69787
  function ingest$t(astNode, state) {
69630
- const { path, data, luvio } = state;
69788
+ const { path, data, timestamp, luvio } = state;
69631
69789
  const key = keyBuilder$w(luvio, path);
69632
69790
  return ingestNonCursorConnectionType(astNode, state, {
69633
69791
  key,
@@ -69641,7 +69799,8 @@ function ingest$t(astNode, state) {
69641
69799
  ttl: TTL$1,
69642
69800
  namespace: keyPrefix$1,
69643
69801
  representationName: "EmailAggregate",
69644
- version: VERSION$A
69802
+ version: VERSION$A,
69803
+ ingestionTimestamp: timestamp,
69645
69804
  },
69646
69805
  });
69647
69806
  }
@@ -69872,7 +70031,7 @@ function mergeData$r(existingData, newData) {
69872
70031
  };
69873
70032
  }
69874
70033
  function ingest$s(astNode, state) {
69875
- const { path, data, luvio } = state;
70034
+ const { path, data, timestamp, luvio } = state;
69876
70035
  const key = keyBuilder$v(luvio, path);
69877
70036
  return ingestNonCursorConnectionType(astNode, state, {
69878
70037
  key,
@@ -69886,7 +70045,8 @@ function ingest$s(astNode, state) {
69886
70045
  ttl: TTL$1,
69887
70046
  namespace: keyPrefix$1,
69888
70047
  representationName: "IDAggregate",
69889
- version: VERSION$z
70048
+ version: VERSION$z,
70049
+ ingestionTimestamp: timestamp,
69890
70050
  },
69891
70051
  });
69892
70052
  }
@@ -70117,7 +70277,7 @@ function mergeData$q(existingData, newData) {
70117
70277
  };
70118
70278
  }
70119
70279
  function ingest$r(astNode, state) {
70120
- const { path, data, luvio } = state;
70280
+ const { path, data, timestamp, luvio } = state;
70121
70281
  const key = keyBuilder$u(luvio, path);
70122
70282
  return ingestNonCursorConnectionType(astNode, state, {
70123
70283
  key,
@@ -70131,7 +70291,8 @@ function ingest$r(astNode, state) {
70131
70291
  ttl: TTL$1,
70132
70292
  namespace: keyPrefix$1,
70133
70293
  representationName: "IntAggregate",
70134
- version: VERSION$y
70294
+ version: VERSION$y,
70295
+ ingestionTimestamp: timestamp,
70135
70296
  },
70136
70297
  });
70137
70298
  }
@@ -70390,7 +70551,7 @@ function mergeData$p(existingData, newData) {
70390
70551
  };
70391
70552
  }
70392
70553
  function ingest$q(astNode, state) {
70393
- const { path, data, luvio } = state;
70554
+ const { path, data, timestamp, luvio } = state;
70394
70555
  const key = keyBuilder$t(luvio, path);
70395
70556
  return ingestNonCursorConnectionType(astNode, state, {
70396
70557
  key,
@@ -70404,7 +70565,8 @@ function ingest$q(astNode, state) {
70404
70565
  ttl: TTL$1,
70405
70566
  namespace: keyPrefix$1,
70406
70567
  representationName: "LatitudeAggregate",
70407
- version: VERSION$x
70568
+ version: VERSION$x,
70569
+ ingestionTimestamp: timestamp,
70408
70570
  },
70409
70571
  });
70410
70572
  }
@@ -70646,7 +70808,7 @@ function mergeData$o(existingData, newData) {
70646
70808
  };
70647
70809
  }
70648
70810
  function ingest$p(astNode, state) {
70649
- const { path, data, luvio } = state;
70811
+ const { path, data, timestamp, luvio } = state;
70650
70812
  const key = keyBuilder$s(luvio, path);
70651
70813
  return ingestNonCursorConnectionType(astNode, state, {
70652
70814
  key,
@@ -70660,7 +70822,8 @@ function ingest$p(astNode, state) {
70660
70822
  ttl: TTL$1,
70661
70823
  namespace: keyPrefix$1,
70662
70824
  representationName: "LongitudeAggregate",
70663
- version: VERSION$w
70825
+ version: VERSION$w,
70826
+ ingestionTimestamp: timestamp,
70664
70827
  },
70665
70828
  });
70666
70829
  }
@@ -70902,7 +71065,7 @@ function mergeData$n(existingData, newData) {
70902
71065
  };
70903
71066
  }
70904
71067
  function ingest$o(astNode, state) {
70905
- const { path, data, luvio } = state;
71068
+ const { path, data, timestamp, luvio } = state;
70906
71069
  const key = keyBuilder$r(luvio, path);
70907
71070
  return ingestNonCursorConnectionType(astNode, state, {
70908
71071
  key,
@@ -70916,7 +71079,8 @@ function ingest$o(astNode, state) {
70916
71079
  ttl: TTL$1,
70917
71080
  namespace: keyPrefix$1,
70918
71081
  representationName: "LongAggregate",
70919
- version: VERSION$v
71082
+ version: VERSION$v,
71083
+ ingestionTimestamp: timestamp,
70920
71084
  },
70921
71085
  });
70922
71086
  }
@@ -71175,7 +71339,7 @@ function mergeData$m(existingData, newData) {
71175
71339
  };
71176
71340
  }
71177
71341
  function ingest$n(astNode, state) {
71178
- const { path, data, luvio } = state;
71342
+ const { path, data, timestamp, luvio } = state;
71179
71343
  const key = keyBuilder$q(luvio, path);
71180
71344
  return ingestNonCursorConnectionType(astNode, state, {
71181
71345
  key,
@@ -71189,7 +71353,8 @@ function ingest$n(astNode, state) {
71189
71353
  ttl: TTL$1,
71190
71354
  namespace: keyPrefix$1,
71191
71355
  representationName: "PhoneNumberAggregate",
71192
- version: VERSION$u
71356
+ version: VERSION$u,
71357
+ ingestionTimestamp: timestamp,
71193
71358
  },
71194
71359
  });
71195
71360
  }
@@ -71420,7 +71585,7 @@ function mergeData$l(existingData, newData) {
71420
71585
  };
71421
71586
  }
71422
71587
  function ingest$m(astNode, state) {
71423
- const { path, data, luvio } = state;
71588
+ const { path, data, timestamp, luvio } = state;
71424
71589
  const key = keyBuilder$p(luvio, path);
71425
71590
  return ingestNonCursorConnectionType(astNode, state, {
71426
71591
  key,
@@ -71434,7 +71599,8 @@ function ingest$m(astNode, state) {
71434
71599
  ttl: TTL$1,
71435
71600
  namespace: keyPrefix$1,
71436
71601
  representationName: "PicklistAggregate",
71437
- version: VERSION$t
71602
+ version: VERSION$t,
71603
+ ingestionTimestamp: timestamp,
71438
71604
  },
71439
71605
  });
71440
71606
  }
@@ -71671,7 +71837,7 @@ function mergeData$k(existingData, newData) {
71671
71837
  };
71672
71838
  }
71673
71839
  function ingest$l(astNode, state) {
71674
- const { path, data, luvio } = state;
71840
+ const { path, data, timestamp, luvio } = state;
71675
71841
  const key = keyBuilder$o(luvio, path);
71676
71842
  return ingestNonCursorConnectionType(astNode, state, {
71677
71843
  key,
@@ -71685,7 +71851,8 @@ function ingest$l(astNode, state) {
71685
71851
  ttl: TTL$1,
71686
71852
  namespace: keyPrefix$1,
71687
71853
  representationName: "TextAreaAggregate",
71688
- version: VERSION$s
71854
+ version: VERSION$s,
71855
+ ingestionTimestamp: timestamp,
71689
71856
  },
71690
71857
  });
71691
71858
  }
@@ -71916,7 +72083,7 @@ function mergeData$j(existingData, newData) {
71916
72083
  };
71917
72084
  }
71918
72085
  function ingest$k(astNode, state) {
71919
- const { path, data, luvio } = state;
72086
+ const { path, data, timestamp, luvio } = state;
71920
72087
  const key = keyBuilder$n(luvio, path);
71921
72088
  return ingestNonCursorConnectionType(astNode, state, {
71922
72089
  key,
@@ -71930,7 +72097,8 @@ function ingest$k(astNode, state) {
71930
72097
  ttl: TTL$1,
71931
72098
  namespace: keyPrefix$1,
71932
72099
  representationName: "TimeAggregate",
71933
- version: VERSION$r
72100
+ version: VERSION$r,
72101
+ ingestionTimestamp: timestamp,
71934
72102
  },
71935
72103
  });
71936
72104
  }
@@ -72105,7 +72273,7 @@ function mergeData$i(existingData, newData) {
72105
72273
  };
72106
72274
  }
72107
72275
  function ingest$j(astNode, state) {
72108
- const { path, data, luvio } = state;
72276
+ const { path, data, timestamp, luvio } = state;
72109
72277
  const key = keyBuilder$m(luvio, path);
72110
72278
  return ingestNonCursorConnectionType(astNode, state, {
72111
72279
  key,
@@ -72119,7 +72287,8 @@ function ingest$j(astNode, state) {
72119
72287
  ttl: TTL$1,
72120
72288
  namespace: keyPrefix$1,
72121
72289
  representationName: "UrlAggregate",
72122
- version: VERSION$q
72290
+ version: VERSION$q,
72291
+ ingestionTimestamp: timestamp,
72123
72292
  },
72124
72293
  });
72125
72294
  }
@@ -72473,7 +72642,7 @@ function mergeData$h(existingData, newData) {
72473
72642
  };
72474
72643
  }
72475
72644
  function ingest$i(astNode, state) {
72476
- const { path, data, luvio } = state;
72645
+ const { path, data, timestamp, luvio } = state;
72477
72646
  const key = keyBuilder$l(luvio, path);
72478
72647
  return ingestNonCursorConnectionType(astNode, state, {
72479
72648
  key,
@@ -72487,7 +72656,8 @@ function ingest$i(astNode, state) {
72487
72656
  ttl: TTL$1,
72488
72657
  namespace: keyPrefix$1,
72489
72658
  representationName: "RecordAggregate",
72490
- version: VERSION$p
72659
+ version: VERSION$p,
72660
+ ingestionTimestamp: timestamp,
72491
72661
  },
72492
72662
  });
72493
72663
  }
@@ -72841,7 +73011,7 @@ function mergeData$g(existingData, newData) {
72841
73011
  };
72842
73012
  }
72843
73013
  function ingest$h(astNode, state) {
72844
- const { path, data, luvio } = state;
73014
+ const { path, data, timestamp, luvio } = state;
72845
73015
  const key = keyBuilder$k(luvio, path);
72846
73016
  return ingestNonCursorConnectionType(astNode, state, {
72847
73017
  key,
@@ -72855,7 +73025,8 @@ function ingest$h(astNode, state) {
72855
73025
  ttl: TTL$1,
72856
73026
  namespace: keyPrefix$1,
72857
73027
  representationName: "RecordResult",
72858
- version: VERSION$o
73028
+ version: VERSION$o,
73029
+ ingestionTimestamp: timestamp,
72859
73030
  },
72860
73031
  });
72861
73032
  }
@@ -73003,7 +73174,7 @@ function mergeData$f(existingData, newData) {
73003
73174
  };
73004
73175
  }
73005
73176
  function ingest$g(astNode, state) {
73006
- const { path, data, luvio } = state;
73177
+ const { path, data, timestamp, luvio } = state;
73007
73178
  const key = keyBuilder$j(luvio, path);
73008
73179
  return ingestNonCursorConnectionType(astNode, state, {
73009
73180
  key,
@@ -73017,7 +73188,8 @@ function ingest$g(astNode, state) {
73017
73188
  ttl: TTL$1,
73018
73189
  namespace: keyPrefix$1,
73019
73190
  representationName: "RecordAggregateEdge",
73020
- version: VERSION$n
73191
+ version: VERSION$n,
73192
+ ingestionTimestamp: timestamp,
73021
73193
  },
73022
73194
  });
73023
73195
  }
@@ -73221,7 +73393,7 @@ function ingestPaginationMetadata(astNode, state, key, sink, existingData) {
73221
73393
  }
73222
73394
  }
73223
73395
  function ingest$f(astNode, state) {
73224
- const { path, data, luvio } = state;
73396
+ const { path, data, timestamp, luvio } = state;
73225
73397
  const key = keyBuilder$i(luvio, path);
73226
73398
  return ingestCursorConnectionType(astNode, state, {
73227
73399
  key,
@@ -73237,7 +73409,8 @@ function ingest$f(astNode, state) {
73237
73409
  ttl: TTL$1,
73238
73410
  namespace: keyPrefix$1,
73239
73411
  representationName: "RecordAggregateConnection",
73240
- version: VERSION$m
73412
+ version: VERSION$m,
73413
+ ingestionTimestamp: timestamp,
73241
73414
  },
73242
73415
  });
73243
73416
  }
@@ -73454,7 +73627,7 @@ function mergeData$d(existingData, newData) {
73454
73627
  };
73455
73628
  }
73456
73629
  function ingest$e(astNode, state) {
73457
- const { path, data, luvio } = state;
73630
+ const { path, data, timestamp, luvio } = state;
73458
73631
  const key = keyBuilder$h(luvio, path);
73459
73632
  return ingestNonCursorConnectionType(astNode, state, {
73460
73633
  key,
@@ -73468,7 +73641,8 @@ function ingest$e(astNode, state) {
73468
73641
  ttl: TTL$1,
73469
73642
  namespace: keyPrefix$1,
73470
73643
  representationName: "RecordQueryAggregate",
73471
- version: VERSION$l
73644
+ version: VERSION$l,
73645
+ ingestionTimestamp: timestamp,
73472
73646
  },
73473
73647
  });
73474
73648
  }
@@ -73598,7 +73772,7 @@ function mergeData$c(existingData, newData) {
73598
73772
  };
73599
73773
  }
73600
73774
  function ingest$d(astNode, state) {
73601
- const { path, data, luvio } = state;
73775
+ const { path, data, timestamp, luvio } = state;
73602
73776
  const key = keyBuilder$g(luvio, path);
73603
73777
  return ingestNonCursorConnectionType(astNode, state, {
73604
73778
  key,
@@ -73612,7 +73786,8 @@ function ingest$d(astNode, state) {
73612
73786
  ttl: TTL$1,
73613
73787
  namespace: keyPrefix$1,
73614
73788
  representationName: "ChildRelationship",
73615
- version: VERSION$k
73789
+ version: VERSION$k,
73790
+ ingestionTimestamp: timestamp,
73616
73791
  },
73617
73792
  });
73618
73793
  }
@@ -73790,7 +73965,7 @@ function mergeData$b(existingData, newData) {
73790
73965
  };
73791
73966
  }
73792
73967
  function ingest$c(astNode, state) {
73793
- const { path, data, luvio } = state;
73968
+ const { path, data, timestamp, luvio } = state;
73794
73969
  const key = keyBuilder$f(luvio, path);
73795
73970
  return ingestNonCursorConnectionType(astNode, state, {
73796
73971
  key,
@@ -73804,7 +73979,8 @@ function ingest$c(astNode, state) {
73804
73979
  ttl: TTL$1,
73805
73980
  namespace: keyPrefix$1,
73806
73981
  representationName: "DependentField",
73807
- version: VERSION$j
73982
+ version: VERSION$j,
73983
+ ingestionTimestamp: timestamp,
73808
73984
  },
73809
73985
  });
73810
73986
  }
@@ -73929,7 +74105,7 @@ function mergeData$a(existingData, newData) {
73929
74105
  };
73930
74106
  }
73931
74107
  function ingest$b(astNode, state) {
73932
- const { path, data, luvio } = state;
74108
+ const { path, data, timestamp, luvio } = state;
73933
74109
  const key = keyBuilder$e(luvio, path);
73934
74110
  return ingestNonCursorConnectionType(astNode, state, {
73935
74111
  key,
@@ -73943,7 +74119,8 @@ function ingest$b(astNode, state) {
73943
74119
  ttl: TTL$1,
73944
74120
  namespace: keyPrefix$1,
73945
74121
  representationName: "FilteredLookupInfo",
73946
- version: VERSION$i
74122
+ version: VERSION$i,
74123
+ ingestionTimestamp: timestamp,
73947
74124
  },
73948
74125
  });
73949
74126
  }
@@ -74083,7 +74260,7 @@ function mergeData$9(existingData, newData) {
74083
74260
  };
74084
74261
  }
74085
74262
  function ingest$a(astNode, state) {
74086
- const { path, data, luvio } = state;
74263
+ const { path, data, timestamp, luvio } = state;
74087
74264
  const key = keyBuilder$d(luvio, path);
74088
74265
  return ingestNonCursorConnectionType(astNode, state, {
74089
74266
  key,
@@ -74097,7 +74274,8 @@ function ingest$a(astNode, state) {
74097
74274
  ttl: TTL$1,
74098
74275
  namespace: keyPrefix$1,
74099
74276
  representationName: "ReferenceToInfo",
74100
- version: VERSION$h
74277
+ version: VERSION$h,
74278
+ ingestionTimestamp: timestamp,
74101
74279
  },
74102
74280
  });
74103
74281
  }
@@ -74257,7 +74435,7 @@ function mergeData$8(existingData, newData) {
74257
74435
  };
74258
74436
  }
74259
74437
  function ingest$9(astNode, state) {
74260
- const { path, data, luvio } = state;
74438
+ const { path, data, timestamp, luvio } = state;
74261
74439
  const key = keyBuilder$c(luvio, path);
74262
74440
  return ingestNonCursorConnectionType(astNode, state, {
74263
74441
  key,
@@ -74271,7 +74449,8 @@ function ingest$9(astNode, state) {
74271
74449
  ttl: TTL$1,
74272
74450
  namespace: keyPrefix$1,
74273
74451
  representationName: "Field",
74274
- version: VERSION$g
74452
+ version: VERSION$g,
74453
+ ingestionTimestamp: timestamp,
74275
74454
  },
74276
74455
  });
74277
74456
  }
@@ -74649,7 +74828,7 @@ function mergeData$7(existingData, newData) {
74649
74828
  };
74650
74829
  }
74651
74830
  function ingest$8(astNode, state) {
74652
- const { path, data, luvio } = state;
74831
+ const { path, data, timestamp, luvio } = state;
74653
74832
  const key = keyBuilder$b(luvio, path);
74654
74833
  return ingestNonCursorConnectionType(astNode, state, {
74655
74834
  key,
@@ -74663,7 +74842,8 @@ function ingest$8(astNode, state) {
74663
74842
  ttl: TTL$1,
74664
74843
  namespace: keyPrefix$1,
74665
74844
  representationName: "RecordTypeInfo",
74666
- version: VERSION$f
74845
+ version: VERSION$f,
74846
+ ingestionTimestamp: timestamp,
74667
74847
  },
74668
74848
  });
74669
74849
  }
@@ -74824,7 +75004,7 @@ function mergeData$6(existingData, newData) {
74824
75004
  };
74825
75005
  }
74826
75006
  function ingest$7(astNode, state) {
74827
- const { path, data, luvio } = state;
75007
+ const { path, data, timestamp, luvio } = state;
74828
75008
  const key = keyBuilder$a(luvio, path);
74829
75009
  return ingestNonCursorConnectionType(astNode, state, {
74830
75010
  key,
@@ -74838,7 +75018,8 @@ function ingest$7(astNode, state) {
74838
75018
  ttl: TTL$1,
74839
75019
  namespace: keyPrefix$1,
74840
75020
  representationName: "ThemeInfo",
74841
- version: VERSION$e
75021
+ version: VERSION$e,
75022
+ ingestionTimestamp: timestamp,
74842
75023
  },
74843
75024
  });
74844
75025
  }
@@ -74964,7 +75145,7 @@ function mergeData$5(existingData, newData) {
74964
75145
  };
74965
75146
  }
74966
75147
  function ingest$6(astNode, state) {
74967
- const { path, data, luvio } = state;
75148
+ const { path, data, timestamp, luvio } = state;
74968
75149
  const key = keyBuilder$9(luvio, path);
74969
75150
  return ingestNonCursorConnectionType(astNode, state, {
74970
75151
  key,
@@ -74978,7 +75159,8 @@ function ingest$6(astNode, state) {
74978
75159
  ttl: TTL$3,
74979
75160
  namespace: keyPrefix$1,
74980
75161
  representationName: "ObjectInfo",
74981
- version: VERSION$d
75162
+ version: VERSION$d,
75163
+ ingestionTimestamp: timestamp,
74982
75164
  },
74983
75165
  });
74984
75166
  }
@@ -75368,7 +75550,7 @@ function mergeData$4(existingData, newData) {
75368
75550
  };
75369
75551
  }
75370
75552
  function ingest$5(astNode, state) {
75371
- const { path, data, luvio } = state;
75553
+ const { path, data, timestamp, luvio } = state;
75372
75554
  const key = keyBuilder$8(luvio, path);
75373
75555
  return ingestNonCursorConnectionType(astNode, state, {
75374
75556
  key,
@@ -75382,7 +75564,8 @@ function ingest$5(astNode, state) {
75382
75564
  ttl: TTL$1,
75383
75565
  namespace: keyPrefix$1,
75384
75566
  representationName: "ListColumn",
75385
- version: VERSION$c
75567
+ version: VERSION$c,
75568
+ ingestionTimestamp: timestamp,
75386
75569
  },
75387
75570
  });
75388
75571
  }
@@ -75528,7 +75711,7 @@ function mergeData$3(existingData, newData) {
75528
75711
  };
75529
75712
  }
75530
75713
  function ingest$4(astNode, state) {
75531
- const { path, data, luvio } = state;
75714
+ const { path, data, timestamp, luvio } = state;
75532
75715
  const key = keyBuilder$7(luvio, path);
75533
75716
  return ingestNonCursorConnectionType(astNode, state, {
75534
75717
  key,
@@ -75542,7 +75725,8 @@ function ingest$4(astNode, state) {
75542
75725
  ttl: TTL$1,
75543
75726
  namespace: keyPrefix$1,
75544
75727
  representationName: "ListOrder",
75545
- version: VERSION$b
75728
+ version: VERSION$b,
75729
+ ingestionTimestamp: timestamp,
75546
75730
  },
75547
75731
  });
75548
75732
  }
@@ -75677,7 +75861,7 @@ function mergeData$2(existingData, newData) {
75677
75861
  };
75678
75862
  }
75679
75863
  function ingest$3(astNode, state) {
75680
- const { path, data, luvio } = state;
75864
+ const { path, data, timestamp, luvio } = state;
75681
75865
  const key = keyBuilder$6(luvio, path);
75682
75866
  return ingestNonCursorConnectionType(astNode, state, {
75683
75867
  key,
@@ -75691,7 +75875,8 @@ function ingest$3(astNode, state) {
75691
75875
  ttl: TTL$2,
75692
75876
  namespace: keyPrefix$1,
75693
75877
  representationName: "RelatedListInfo",
75694
- version: VERSION$a
75878
+ version: VERSION$a,
75879
+ ingestionTimestamp: timestamp,
75695
75880
  },
75696
75881
  });
75697
75882
  }
@@ -75913,7 +76098,7 @@ function mergeData$1(existingData, newData) {
75913
76098
  };
75914
76099
  }
75915
76100
  function ingest$2(astNode, state) {
75916
- const { path, data, luvio } = state;
76101
+ const { path, data, timestamp, luvio } = state;
75917
76102
  const key = keyBuilder$5(luvio, path);
75918
76103
  return ingestNonCursorConnectionType(astNode, state, {
75919
76104
  key,
@@ -75927,7 +76112,8 @@ function ingest$2(astNode, state) {
75927
76112
  ttl: TTL$1,
75928
76113
  namespace: keyPrefix$1,
75929
76114
  representationName: "UIAPI",
75930
- version: VERSION$9
76115
+ version: VERSION$9,
76116
+ ingestionTimestamp: timestamp,
75931
76117
  },
75932
76118
  });
75933
76119
  }
@@ -76151,7 +76337,7 @@ function mergeData(existingData, newData) {
76151
76337
  };
76152
76338
  }
76153
76339
  function ingest$1(astNode, state) {
76154
- const { path, data, luvio } = state;
76340
+ const { path, data, timestamp, luvio } = state;
76155
76341
  const key = keyBuilder$4(luvio, astNode, state.variables, state.fragments);
76156
76342
  return ingestNonCursorConnectionType(astNode, state, {
76157
76343
  key,
@@ -76165,7 +76351,8 @@ function ingest$1(astNode, state) {
76165
76351
  ttl: TTL$1,
76166
76352
  namespace: keyPrefix$1,
76167
76353
  representationName: "Query",
76168
- version: VERSION$8
76354
+ version: VERSION$8,
76355
+ ingestionTimestamp: timestamp,
76169
76356
  },
76170
76357
  });
76171
76358
  }
@@ -78963,15 +79150,17 @@ function isFieldId$1(unknown) {
78963
79150
  /**
78964
79151
  * Returns the field API name, qualified with an object name if possible.
78965
79152
  * @param value The value from which to get the qualified field API name.
79153
+ * @param onlyQualifiedFieldNames - Whether or not this function should skip fieldApiName that do not include the delimiter '.'
78966
79154
  * @return The qualified field API name.
78967
79155
  */
78968
- function getFieldApiName$1(value) {
79156
+ function getFieldApiName$1(value, onlyQualifiedFieldNames = false) {
78969
79157
  // Note: tightening validation logic changes behavior from userland getting
78970
79158
  // a server-provided error to the adapter noop'ing. In 224 we decided to not
78971
- // change the behavior.
79159
+ // change the behavior. In 250 we decided to add the 'onlyQualifiedFieldName' flag to tighten the logic
79160
+ // optionally to avoid issues with persisted invalid field names.
78972
79161
  if (isString$1(value)) {
78973
79162
  const trimmed = value.trim();
78974
- if (trimmed.length > 0) {
79163
+ if (trimmed.length > 0 && (onlyQualifiedFieldNames ? trimmed.indexOf('.') > -1 : true)) {
78975
79164
  return trimmed;
78976
79165
  }
78977
79166
  }
@@ -78984,15 +79173,19 @@ function getFieldApiName$1(value) {
78984
79173
  /**
78985
79174
  * Returns the field API name.
78986
79175
  * @param value The value from which to get the field API name.
79176
+ * @param options Option bag. onlyQualifiedFieldNames is a boolean that allows this function to skip returning invalid FieldApiNames.
78987
79177
  * @returns The field API name.
78988
79178
  */
78989
- function getFieldApiNamesArray$1(value) {
79179
+ function getFieldApiNamesArray$1(value, options = { onlyQualifiedFieldNames: false }) {
78990
79180
  const valueArray = isArray$2(value) ? value : [value];
78991
79181
  const array = [];
78992
79182
  for (let i = 0, len = valueArray.length; i < len; i += 1) {
78993
79183
  const item = valueArray[i];
78994
- const apiName = getFieldApiName$1(item);
79184
+ const apiName = getFieldApiName$1(item, options.onlyQualifiedFieldNames);
78995
79185
  if (apiName === undefined) {
79186
+ if (options.onlyQualifiedFieldNames) {
79187
+ continue; // Just skips invalid field names rather than failing to return an array at all
79188
+ }
78996
79189
  return undefined;
78997
79190
  }
78998
79191
  push$1.call(array, apiName);
@@ -79348,7 +79541,7 @@ register$1({
79348
79541
  configuration: { ...configurationForGraphQLAdapters$1 },
79349
79542
  instrument: instrument$1,
79350
79543
  });
79351
- // version: 1.266.0-dev2-e69d357fb
79544
+ // version: 1.266.0-dev21-7d5715511
79352
79545
 
79353
79546
  // On core the unstable adapters are re-exported with different names,
79354
79547
  // we want to match them here.
@@ -79999,6 +80192,7 @@ function genericCreateIngest(ast, variables) {
79999
80192
  namespace: namespace,
80000
80193
  ttl: DEFAULT_GRAPHQL_TTL,
80001
80194
  version: GRAPHQL_INGEST_VERSION,
80195
+ ingestionTimestamp: timestamp,
80002
80196
  });
80003
80197
  }
80004
80198
  return {
@@ -80094,6 +80288,7 @@ function ingestConnectionEdges(sel, data, path, luvio, store, timestamp, variabl
80094
80288
  namespace: namespace,
80095
80289
  ttl: DEFAULT_GRAPHQL_TTL,
80096
80290
  version: GRAPHQL_INGEST_VERSION,
80291
+ ingestionTimestamp: timestamp,
80097
80292
  });
80098
80293
  return {
80099
80294
  __ref: key,
@@ -80134,6 +80329,7 @@ const createIngest$1 = (ast, key, variables) => {
80134
80329
  namespace: namespace,
80135
80330
  ttl: DEFAULT_GRAPHQL_TTL,
80136
80331
  version: GRAPHQL_INGEST_VERSION,
80332
+ ingestionTimestamp: timestamp,
80137
80333
  });
80138
80334
  return {
80139
80335
  __ref: key,
@@ -81599,7 +81795,7 @@ withDefaultLuvio((luvio) => {
81599
81795
  unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
81600
81796
  graphQLImperative = ldsAdapter;
81601
81797
  });
81602
- // version: 1.266.0-dev2-e69d357fb
81798
+ // version: 1.266.0-dev21-7d5715511
81603
81799
 
81604
81800
  var gqlApi = /*#__PURE__*/Object.freeze({
81605
81801
  __proto__: null,
@@ -81942,8 +82138,22 @@ function invokeAdapterWithDraftToReplace(adapterId, config, draftIdToReplace, on
81942
82138
  draftIds !== undefined &&
81943
82139
  draftIds.length > 0) {
81944
82140
  const draftId = draftIds[draftIds.length - 1];
81945
- draftManager.replaceAction(draftIdToReplace, draftId).then(() => {
82141
+ draftManager
82142
+ .replaceAction(draftIdToReplace, draftId)
82143
+ .then(() => {
81946
82144
  onResponse(responseValue);
82145
+ })
82146
+ .catch((error) => {
82147
+ let message = 'Unknown error replacing draft';
82148
+ if (error instanceof Error) {
82149
+ message = error.message;
82150
+ }
82151
+ else if (typeof error === 'string') {
82152
+ message = error;
82153
+ }
82154
+ onResponse({
82155
+ error: createNativeFetchErrorResponse(message),
82156
+ });
81947
82157
  });
81948
82158
  }
81949
82159
  else {
@@ -82297,7 +82507,7 @@ const callbacks$1 = [];
82297
82507
  function register(r) {
82298
82508
  callbacks$1.forEach((callback) => callback(r));
82299
82509
  }
82300
- // version: 1.266.0-dev2-7c2f3615f
82510
+ // version: 1.266.0-dev21-b2a247476
82301
82511
 
82302
82512
  /**
82303
82513
  * Returns true if the value acts like a Promise, i.e. has a "then" function,
@@ -86507,15 +86717,17 @@ function isFieldId(unknown) {
86507
86717
  /**
86508
86718
  * Returns the field API name, qualified with an object name if possible.
86509
86719
  * @param value The value from which to get the qualified field API name.
86720
+ * @param onlyQualifiedFieldNames - Whether or not this function should skip fieldApiName that do not include the delimiter '.'
86510
86721
  * @return The qualified field API name.
86511
86722
  */
86512
- function getFieldApiName(value) {
86723
+ function getFieldApiName(value, onlyQualifiedFieldNames = false) {
86513
86724
  // Note: tightening validation logic changes behavior from userland getting
86514
86725
  // a server-provided error to the adapter noop'ing. In 224 we decided to not
86515
- // change the behavior.
86726
+ // change the behavior. In 250 we decided to add the 'onlyQualifiedFieldName' flag to tighten the logic
86727
+ // optionally to avoid issues with persisted invalid field names.
86516
86728
  if (isString(value)) {
86517
86729
  const trimmed = value.trim();
86518
- if (trimmed.length > 0) {
86730
+ if (trimmed.length > 0 && (onlyQualifiedFieldNames ? trimmed.indexOf('.') > -1 : true)) {
86519
86731
  return trimmed;
86520
86732
  }
86521
86733
  }
@@ -86528,15 +86740,19 @@ function getFieldApiName(value) {
86528
86740
  /**
86529
86741
  * Returns the field API name.
86530
86742
  * @param value The value from which to get the field API name.
86743
+ * @param options Option bag. onlyQualifiedFieldNames is a boolean that allows this function to skip returning invalid FieldApiNames.
86531
86744
  * @returns The field API name.
86532
86745
  */
86533
- function getFieldApiNamesArray(value) {
86746
+ function getFieldApiNamesArray(value, options = { onlyQualifiedFieldNames: false }) {
86534
86747
  const valueArray = isArray(value) ? value : [value];
86535
86748
  const array = [];
86536
86749
  for (let i = 0, len = valueArray.length; i < len; i += 1) {
86537
86750
  const item = valueArray[i];
86538
- const apiName = getFieldApiName(item);
86751
+ const apiName = getFieldApiName(item, options.onlyQualifiedFieldNames);
86539
86752
  if (apiName === undefined) {
86753
+ if (options.onlyQualifiedFieldNames) {
86754
+ continue; // Just skips invalid field names rather than failing to return an array at all
86755
+ }
86540
86756
  return undefined;
86541
86757
  }
86542
86758
  push.call(array, apiName);
@@ -87202,4 +87418,4 @@ const { luvio } = getRuntime();
87202
87418
  setDefaultLuvio({ luvio });
87203
87419
 
87204
87420
  export { createPrimingSession, draftManager, draftQueue, evictCacheRecordsByIds, evictExpiredCacheEntries, executeAdapter, executeMutatingAdapter, getImperativeAdapterNames, invokeAdapter, invokeAdapterWithDraftToReplace, invokeAdapterWithMetadata, nimbusDraftQueue, registerReportObserver, setMetadataTTL, setUiApiRecordTTL, stopEviction, subscribeToAdapter };
87205
- // version: 1.266.0-dev2-7c2f3615f
87421
+ // version: 1.266.0-dev21-b2a247476