@salesforce/lds-adapters-uiapi 1.320.0 → 1.322.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { RecordLayoutSectionUserStateRepresentation as RecordLayoutSectionUserStateRepresentation_RecordLayoutSectionUserStateRepresentation } from './RecordLayoutSectionUserStateRepresentation';
2
2
  import { KeyMetadata as $64$luvio_engine_KeyMetadata, NormalizedKeyMetadata as $64$luvio_engine_NormalizedKeyMetadata, Luvio as $64$luvio_engine_Luvio, IngestPath as $64$luvio_engine_IngestPath, Store as $64$luvio_engine_Store, BaseFragment as $64$luvio_engine_BaseFragment, ResourceIngest as $64$luvio_engine_ResourceIngest, DurableStoreKeyMetadataMap as $64$luvio_engine_DurableStoreKeyMetadataMap } from '@luvio/engine';
3
3
  export declare const TTL = 900000;
4
- export declare const VERSION = "4ba42e1fa0fb00cf78fce86082da41c9";
4
+ export declare const VERSION = "12123f1aca1b5a48303b1d099f9f5629";
5
5
  export declare function validate(obj: any, path?: string): TypeError | null;
6
6
  export declare const RepresentationType: string;
7
7
  export interface KeyParams extends $64$luvio_engine_KeyMetadata {
@@ -33,7 +33,7 @@ export declare function getTypeCacheKeys(rootKeySet: $64$luvio_engine_DurableSto
33
33
  export interface RecordLayoutUserStateRepresentationNormalized {
34
34
  apiName: string;
35
35
  /** Layout ID. */
36
- id: string;
36
+ id: string | null;
37
37
  /** Layout type. */
38
38
  layoutType: string;
39
39
  /** Mode. */
@@ -55,7 +55,7 @@ export interface RecordLayoutUserStateRepresentationNormalized {
55
55
  */
56
56
  export interface RecordLayoutUserStateRepresentation {
57
57
  apiName: string;
58
- id: string;
58
+ id: string | null;
59
59
  layoutType: string;
60
60
  mode: string;
61
61
  recordTypeId: string;
@@ -0,0 +1,5 @@
1
+ import type { FieldNode } from '@luvio/graphql-parser';
2
+ export declare function getFieldType(field: FieldNode): {
3
+ isArray: boolean;
4
+ typename: string;
5
+ } | undefined;
@@ -1,8 +1,14 @@
1
- import type { Luvio, IngestPath, StoreRecordError } from '@luvio/engine';
2
- import type { RecordRepresentationNormalized } from '../../generated/types/RecordRepresentation';
1
+ import type { Luvio, IngestPath, StoreRecordError, ProxyGraphNode } from '@luvio/engine';
2
+ import type { RecordRepresentationNormalized, RecordRepresentation } from '../../generated/types/RecordRepresentation';
3
3
  import type { RecordConflictMap } from './resolveConflict';
4
+ export type RecordProxyGraphNode = ProxyGraphNode<RecordRepresentationNormalized, RecordRepresentation>;
5
+ declare function mergePendingFields(newRecord: RecordRepresentationNormalized, oldRecord: RecordRepresentationNormalized, existingNode?: RecordProxyGraphNode): RecordRepresentationNormalized;
4
6
  export default function merge(existing: RecordRepresentationNormalized | undefined | StoreRecordError, incoming: RecordRepresentationNormalized, luvio: Luvio, _path: IngestPath, recordConflictMap: RecordConflictMap): RecordRepresentationNormalized;
5
7
  export declare function dependencyKeyBuilder(config: {
6
8
  /** The ID of this record. */
7
9
  recordId: string;
8
10
  }): string;
11
+ export declare const forTesting: {
12
+ mergePendingFields: typeof mergePendingFields;
13
+ };
14
+ export {};
@@ -52,6 +52,7 @@ export type { GraphQLInputRepresentation } from './generated/types/GraphQLInputR
52
52
  export type { GraphqlConfig as GraphQLConfig, BuildSnapshotContext as GraphQLBuildSnapshotContext, } from './generated/adapters/graphql';
53
53
  export * from './generated/artifacts/main';
54
54
  export * from './util/store-utils';
55
+ export { isSupportedEntity } from './util/records';
55
56
  export type { CreateContentVersionConfig } from './wire/createContentVersion/AdapterConfig';
56
57
  export type { CreateContentDocumentAndVersionConfig } from './wire/createContentDocumentAndVersion/AdapterConfig';
57
58
  export type { ResourceRequestConfig as CreateContentDocumentAndVersionResourceRequestConfig } from './wire/createContentDocumentAndVersion/ResourceRequestConfig';
@@ -27,3 +27,4 @@ export { instrument, Instrument, Registration } from './main';
27
27
  export { CachePolicy, CachePolicyCacheAndNetwork, CachePolicyCacheThenNetwork, CachePolicyNoCache, CachePolicyOnlyIfCached, CachePolicyStaleWhileRevalidate, CachePolicyValidAt, } from './main';
28
28
  export { getRecordId18, coerceFieldIdArray, coerceObjectId, coerceObjectIdArray, getRecordAdapterFactory, getRecordsAdapterFactory, getRecordActionsAdapterFactory, getRecordAvatarsAdapterFactory, getObjectInfoAdapterFactory, getObjectInfosAdapterFactory, getObjectInfoDirectoryAdapterFactory, getRelatedListsActionsAdapterFactory, getRelatedListRecordsAdapterFactory, getRelatedListRecordsBatchAdapterFactory, getTypeCacheKeysRecord, RecordRepresentationVersion, RecordRepresentationTTL, RecordRepresentationType, ObjectInfoRepresentationType, ObjectInfoDirectoryEntryRepresentationType, RecordRepresentationRepresentationType, keyBuilderFromTypeRecordRepresentation, keyBuilderFromTypeContentDocumentCompositeRepresentation, keyBuilderContentDocumentCompositeRepresentation, ingestContentDocumentCompositeRepresentation, getResponseCacheKeysContentDocumentCompositeRepresentation, getRelatedListInfoAdapterFactory, getRelatedListInfoBatchAdapterFactory, getListInfoByNameAdapterFactory, getListObjectInfoAdapterFactory, getListRecordsByNameAdapterFactory, getListInfosByObjectNameAdapterFactory, } from './main';
29
29
  export { UiApiNamespace, InMemoryRecordRepresentationQueryEvaluator } from './main';
30
+ export { isSupportedEntity } from './main';
@@ -37,9 +37,10 @@ export interface TrackedFieldsConfig {
37
37
  maxDepth: number;
38
38
  onlyFetchLeafNodeIdAndName: boolean;
39
39
  }
40
- export declare function isGraphNode(node: ProxyGraphNode<unknown>): node is GraphNode<unknown>;
40
+ export declare function isGraphNode(node: ProxyGraphNode<unknown> | undefined | null): node is GraphNode<unknown>;
41
41
  export declare function extractTrackedFields(node: ProxyGraphNode<RecordRepresentationNormalized, RecordRepresentation>, parentFieldName: string, fieldsList?: string[], visitedRecordIds?: Record<string, boolean>, depth?: number): string[];
42
42
  export declare function extractTrackedFieldsToTrie(recordId: string | NormalizedKeyMetadata, node: ProxyGraphNode<FieldMapRepresentationNormalized, FieldMapRepresentation>, root: RecordFieldTrie, config: TrackedFieldsConfig, visitedRecordIds?: Record<string, boolean>, depth?: number): void;
43
+ export declare function isExternalLookupFieldKey(spanningNode: ProxyGraphNode<RecordRepresentationNormalized, RecordRepresentation>): boolean;
43
44
  export declare function convertTrieToFields(root: RecordFieldTrie): string[];
44
45
  export declare function convertTrieToFieldsRecursively(root: RecordFieldTrie): string[];
45
46
  export declare const BLANK_RECORD_FIELDS_TRIE: Readonly<{
@@ -4921,7 +4921,7 @@ const RECORD_REPRESENTATION_ERROR_STORE_METADATA_PARAMS = {
4921
4921
  version: RECORD_REPRESENTATION_ERROR_VERSION,
4922
4922
  };
4923
4923
  function isGraphNode(node) {
4924
- return node !== null && node.type === 'Node';
4924
+ return !!node && node.type === 'Node';
4925
4925
  }
4926
4926
  function addScalarFieldId(current) {
4927
4927
  addScalarField(current, 'Id');
@@ -4988,6 +4988,8 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
4988
4988
  const spanning = spanningLink.follow();
4989
4989
  // W-8058425, do not include external lookups added by getTrackedFields
4990
4990
  if (isExternalLookupFieldKey(spanning)) {
4991
+ // NOTE: the logic to get here is mimicked in RecordRepresentation/merge::mergePendingFields as of
4992
+ // W-11899329 due to issues with external lookups being marked pending but never fetched
4991
4993
  continue;
4992
4994
  }
4993
4995
  extractTrackedFieldsToTrie(spanningLink.data.__ref, spanning, next, config, spanningVisitedRecordIds, depth + 1);
@@ -5020,6 +5022,8 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
5020
5022
  const { fields } = state;
5021
5023
  // W-8058425, do not include external lookups added by getTrackedFields
5022
5024
  if (includes.call(fields, 'ExternalId')) {
5025
+ // NOTE: the logic to get here is mimicked in RecordRepresentation/merge::mergePendingFields as of
5026
+ // W-11899329 due to issues with external lookups being marked pending but never fetched
5023
5027
  continue;
5024
5028
  }
5025
5029
  for (let s = 0, len = fields.length; s < len; s += 1) {
@@ -5470,15 +5474,49 @@ function ingestRecordResponse(luvio, response, recordId, recordIngest, conflictM
5470
5474
 
5471
5475
  // This function sets fields that we are refreshing to pending
5472
5476
  // These values will go into the store
5473
- function mergePendingFields(newRecord, oldRecord) {
5474
- // TODO [W-6900046]: avoid casting to any by updating
5475
- // RecordRepresentationNormalized['fields'] to include `pending:true` property
5477
+ function mergePendingFields(newRecord, oldRecord, existingNode) {
5476
5478
  const mergedFields = { ...newRecord.fields };
5477
5479
  const merged = { ...newRecord, fields: mergedFields };
5478
5480
  const existingFields = keys(oldRecord.fields);
5479
5481
  for (let i = 0, len = existingFields.length; i < len; i += 1) {
5480
5482
  const spanningFieldName = existingFields[i];
5481
5483
  if (newRecord.fields[spanningFieldName] === undefined) {
5484
+ /*
5485
+ * Per W-8058425 external lookups fields are excluded from the tracked fields. However, as covered in
5486
+ * W-11899329, situations can arise in which a merge conflict occurs when the existing record has a
5487
+ * reference to an external lookup field. The exclusion ultimately results in a snapshot stuck in the
5488
+ * pending state. This is an approach to prevent that situation.
5489
+ *
5490
+ * The same logic checks for W-8058425 to "continue" as it relates to not tracking external lookups is
5491
+ * mimicked here as it relates to not marking them as pending.
5492
+ */
5493
+ // make sure external lookups are NOT marked as pending when `existingNode` is provided
5494
+ if (isGraphNode(existingNode)) {
5495
+ // get the node for the spanning field
5496
+ const fieldValueRep = existingNode
5497
+ .object('fields')
5498
+ .link(spanningFieldName);
5499
+ const field = fieldValueRep.follow();
5500
+ if (isGraphNode(field)) {
5501
+ if (field.isScalar('value') === false) {
5502
+ const record = field
5503
+ .link('value')
5504
+ .follow();
5505
+ if (isExternalLookupFieldKey(record)) {
5506
+ continue;
5507
+ }
5508
+ }
5509
+ }
5510
+ else {
5511
+ const state = fieldValueRep.linkData();
5512
+ if (state !== undefined) {
5513
+ const { fields } = state;
5514
+ if (includes.call(fields, 'ExternalId')) {
5515
+ continue;
5516
+ }
5517
+ }
5518
+ }
5519
+ }
5482
5520
  // TODO [W-6900046]: fix above casting issue so we're not stuffing arbitrary things
5483
5521
  // into RecordRepresentationNormalized['fields']
5484
5522
  mergedFields[spanningFieldName] = {
@@ -5492,7 +5530,7 @@ function mergePendingFields(newRecord, oldRecord) {
5492
5530
  // This method gets called
5493
5531
  // when incoming record has a higher version
5494
5532
  // than the record that is currently in the store
5495
- function mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap) {
5533
+ function mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap, existingNode) {
5496
5534
  // If the higher version (incoming) does not contain a superset of fields as existing
5497
5535
  // then we need to refresh to get updated versions of fields in existing
5498
5536
  if (isSuperRecordFieldTrie(incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot) ===
@@ -5509,14 +5547,14 @@ function mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedF
5509
5547
  };
5510
5548
  // We want to mark fields in the store as pending
5511
5549
  // Because we don't want to emit any data to components
5512
- return mergePendingFields(incoming, existing);
5550
+ return mergePendingFields(incoming, existing, existingNode);
5513
5551
  }
5514
5552
  return incoming;
5515
5553
  }
5516
5554
  // This method gets called
5517
5555
  // when incoming record has a lower version
5518
5556
  // than the record that is currently in the store
5519
- function mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap) {
5557
+ function mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap, existingNode) {
5520
5558
  // If the higher version (existing) does not have a superset of fields as incoming
5521
5559
  // then we need to refresh to get updated versions of fields on incoming
5522
5560
  if (isSuperRecordFieldTrie(existingTrackedFieldsTrieRoot, incomingTrackedFieldsTrieRoot) ===
@@ -5526,7 +5564,7 @@ function mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTr
5526
5564
  if (isSupportedEntity(incoming.apiName) === false) {
5527
5565
  return mergeRecordFields(existing, incoming);
5528
5566
  }
5529
- const merged = mergePendingFields(existing, incoming);
5567
+ const merged = mergePendingFields(existing, incoming, existingNode);
5530
5568
  // update the conflict map to resolve the record conflict in resolveConflict
5531
5569
  if (recordConflictMap) {
5532
5570
  recordConflictMap.conflicts[incoming.id] = {
@@ -5565,7 +5603,7 @@ function mergeRecordConflict(luvio, incoming, existing, recordConflictMap) {
5565
5603
  extractTrackedFieldsToTrie(recordKey, incomingNode, incomingTrackedFieldsTrieRoot, trackedFieldsConfig);
5566
5604
  extractTrackedFieldsToTrie(recordKey, existingNode, existingTrackedFieldsTrieRoot, trackedFieldsConfig);
5567
5605
  if (incoming.weakEtag > existing.weakEtag) {
5568
- return mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap);
5606
+ return mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap, existingNode);
5569
5607
  }
5570
5608
  return mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap);
5571
5609
  }
@@ -12389,7 +12427,7 @@ function validate$1E(obj, path = 'RecordLayoutSectionUserStateRepresentation') {
12389
12427
  }
12390
12428
 
12391
12429
  const TTL$B = 900000;
12392
- const VERSION$2u = "4ba42e1fa0fb00cf78fce86082da41c9";
12430
+ const VERSION$2u = "12123f1aca1b5a48303b1d099f9f5629";
12393
12431
  function validate$1D(obj, path = 'RecordLayoutUserStateRepresentation') {
12394
12432
  const v_error = (() => {
12395
12433
  if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
@@ -12402,8 +12440,29 @@ function validate$1D(obj, path = 'RecordLayoutUserStateRepresentation') {
12402
12440
  }
12403
12441
  const obj_id = obj.id;
12404
12442
  const path_id = path + '.id';
12405
- if (typeof obj_id !== 'string') {
12406
- return new TypeError('Expected "string" but received "' + typeof obj_id + '" (at "' + path_id + '")');
12443
+ let obj_id_union0 = null;
12444
+ const obj_id_union0_error = (() => {
12445
+ if (typeof obj_id !== 'string') {
12446
+ return new TypeError('Expected "string" but received "' + typeof obj_id + '" (at "' + path_id + '")');
12447
+ }
12448
+ })();
12449
+ if (obj_id_union0_error != null) {
12450
+ obj_id_union0 = obj_id_union0_error.message;
12451
+ }
12452
+ let obj_id_union1 = null;
12453
+ const obj_id_union1_error = (() => {
12454
+ if (obj_id !== null) {
12455
+ return new TypeError('Expected "null" but received "' + typeof obj_id + '" (at "' + path_id + '")');
12456
+ }
12457
+ })();
12458
+ if (obj_id_union1_error != null) {
12459
+ obj_id_union1 = obj_id_union1_error.message;
12460
+ }
12461
+ if (obj_id_union0 && obj_id_union1) {
12462
+ let message = 'Object doesn\'t match union (at "' + path_id + '")';
12463
+ message += '\n' + obj_id_union0.split('\n').map((line) => '\t' + line).join('\n');
12464
+ message += '\n' + obj_id_union1.split('\n').map((line) => '\t' + line).join('\n');
12465
+ return new TypeError(message);
12407
12466
  }
12408
12467
  const obj_layoutType = obj.layoutType;
12409
12468
  const path_layoutType = path + '.layoutType';
@@ -21173,11 +21232,11 @@ function validateAdapterConfig$Q(untrustedConfig, _configPropertyNames) {
21173
21232
  if (config === null) {
21174
21233
  return null;
21175
21234
  }
21176
- // recordTypeId coercion is nuts: if `null` (but not undefined) then use MASTER record type id
21177
21235
  let recordTypeId = config.recordTypeId;
21178
21236
  if (recordTypeId === undefined) {
21179
21237
  // must check untrusted bc config has been coerced
21180
- if (untrustedConfig.recordTypeId !== null) {
21238
+ if (untrustedConfig.recordTypeId !== null &&
21239
+ untrustedConfig.recordTypeId !== undefined) {
21181
21240
  return null;
21182
21241
  }
21183
21242
  recordTypeId = MAIN_RECORD_TYPE_ID;
@@ -52262,6 +52321,23 @@ function getInContextFragmentType$d(fragment, fragmentMap) {
52262
52321
  return sharedGetFragmentType(fragment, fragmentMap);
52263
52322
  }
52264
52323
 
52324
+ function getFieldType$b(field) {
52325
+ switch (field.name.value) {
52326
+ case '__typename': {
52327
+ return {
52328
+ isArray: false,
52329
+ typename: 'String',
52330
+ };
52331
+ }
52332
+ default: {
52333
+ return {
52334
+ isArray: false,
52335
+ typename: 'Setup__SetupAggregateConnection',
52336
+ };
52337
+ }
52338
+ }
52339
+ }
52340
+
52265
52341
  const name$2 = 'Setup__SetupQueryAggregate';
52266
52342
  const VERSION$e = '0592284764c8e58016880e291b9ffb64';
52267
52343
  function keyBuilder$g(luvio, path, data) {
@@ -52379,24 +52455,6 @@ function getTypeCacheKeys$b(cacheKeySink, astNode, state) {
52379
52455
  }
52380
52456
  // Deal with mapped types' cache keys
52381
52457
  }
52382
- function getFieldType$b(field) {
52383
- switch (field.name.value) {
52384
- case '__typename': {
52385
- return {
52386
- isArray: false,
52387
- typename: 'String'
52388
- };
52389
- }
52390
- case 'recordQueryAggregate': {
52391
- return {
52392
- isArray: false,
52393
- typename: 'Setup__SetupAggregateConnection'
52394
- };
52395
- }
52396
- default:
52397
- return undefined;
52398
- }
52399
- }
52400
52458
  function ingestFieldByType$2(typename, parentKey, requestedField, sink, fieldKey, fieldData, state) {
52401
52459
  // TODO: add validation logic to only allow nullable fields to be null in the future
52402
52460
  if (fieldData === null) {
@@ -54444,6 +54502,12 @@ function selectTypeLinkWithPagination(resolvedLink, sel, fieldData, reader, key,
54444
54502
  return;
54445
54503
  }
54446
54504
  }
54505
+ else if (totalEdges === 0 && !listIsComplete) {
54506
+ // empty edge list, but the list isn't complete?
54507
+ if (process.env.NODE_ENV !== 'production') {
54508
+ throw new Error("page size of zero, but pageInfo .hasNextPage is true.");
54509
+ }
54510
+ }
54447
54511
  else {
54448
54512
  if (startOffset === undefined || endOffset === undefined) {
54449
54513
  reader.markMissingLink(fieldData.__ref);
@@ -59658,4 +59722,4 @@ ensureRegisteredOnce({
59658
59722
  instrument,
59659
59723
  });
59660
59724
 
59661
- export { API_NAMESPACE, notifyChangeFactory as GetRecordNotifyChange, InMemoryRecordRepresentationQueryEvaluator, MRU, notifyUpdateAvailableFactory$3 as NotifyListInfoSummaryUpdateAvailable, notifyUpdateAvailableFactory$1 as NotifyListInfoUpdateAvailable, notifyUpdateAvailableFactory$4 as NotifyListRecordCollectionUpdateAvailable, notifyUpdateAvailableFactory$2 as NotifyListViewSummaryUpdateAvailable, notifyUpdateAvailableFactory as NotifyQuickActionDefaultsUpdateAvailable, notifyUpdateAvailableFactory$5 as NotifyRecordUpdateAvailable, RepresentationType$O as ObjectInfoDirectoryEntryRepresentationType, RepresentationType$T as ObjectInfoRepresentationType, RECORD_FIELDS_KEY_JUNCTION, RECORD_ID_PREFIX, RECORD_REPRESENTATION_NAME, RECORD_VIEW_ENTITY_ID_PREFIX, RECORD_VIEW_ENTITY_REPRESENTATION_NAME, RepresentationType$_ as RecordRepresentationRepresentationType, TTL$F as RecordRepresentationTTL, RepresentationType$_ as RecordRepresentationType, VERSION$2E as RecordRepresentationVersion, keyPrefix as UiApiNamespace, buildRecordRepKeyFromId, buildSelectionFromFields, buildSelectionFromRecord, getFieldApiNamesArray as coerceFieldIdArray, getObjectApiName$1 as coerceObjectId, getObjectApiNamesArray as coerceObjectIdArray, configuration, factory$1 as createContentDocumentAndVersionAdapterFactory, factory as createContentVersionAdapterFactory, createIngestRecordWithFields, createLDSAdapterWithPrediction, createListInfoAdapterFactory, factory$4 as createRecordAdapterFactory, createRecordInputFilteredByEditedFields, createRelatedListAdapterWithPrediction, deleteListInfoAdapterFactory, factory$3 as deleteRecordAdapterFactory, factory$f as executeBatchRecordOperationsAdapterFactory, extractRecordIdFromStoreKey, generateRecordInputForCreate, generateRecordInputForUpdate, getActionOverridesAdapterFactory, getAllAppsAdapterFactory, getAppDetailsAdapterFactory, getDuplicateConfigurationAdapterFactory, getDuplicatesAdapterFactory, getFieldDisplayValue$1 as getFieldDisplayValue, getFieldValue, getFlexipageFormulaOverridesAdapterFactory, getGlobalActionsAdapterFactory, getKeywordSearchResultsAdapterFactory, getLayoutAdapterFactory, getLayoutUserStateAdapterFactory, getListInfoByNameAdapterFactory, getListInfosByNameAdapterFactory, getListInfosByObjectNameAdapterFactory, getListObjectInfoAdapterFactory, getListPreferencesAdapterFactory, factory$a as getListRecordsByNameAdapterFactory, factory$j as getListUiAdapterFactory, getListUiByApiNameAdapterFactory, getListUiByListViewIdAdapterFactory, getListViewSummaryCollectionAdapterFactory, getLookupActionsAdapterFactory, getLookupMetadataAdapterFactory, factory$9 as getLookupRecordsAdapterFactory, factory$k as getMruListUiAdapterFactory, getNavItemsAdapterFactory, getObjectCreateActionsAdapterFactory, getObjectInfoAdapterFactory, getObjectInfoDirectoryAdapterFactory, getObjectInfosAdapterFactory, getPathLayoutAdapterFactory, getPicklistValuesAdapterFactory, getPicklistValuesByRecordTypeAdapterFactory, getQuickActionDefaultsAdapterFactory, getQuickActionInfoAdapterFactory, getQuickActionLayoutAdapterFactory, getRecordActionsAdapterFactory, factory$h as getRecordAdapterFactory, getRecordAvatarsAdapterFactory, factory$7 as getRecordCreateDefaultsAdapterFactory, getRecordEditActionsAdapterFactory, getRecordId18, getRecordInput, createFieldsIngestSuccess$3 as getRecordResourceIngest, factory$6 as getRecordTemplateCloneAdapterFactory, factory$5 as getRecordTemplateCreateAdapterFactory, factory$i as getRecordUiAdapterFactory, getRecordsAdapterFactory, getRelatedListActionsAdapterFactory, getRelatedListCountAdapterFactory, getRelatedListInfoAdapterFactory, getRelatedListInfoBatchAdapterFactory, getRelatedListPreferencesAdapterFactory, getRelatedListPreferencesBatchAdapterFactory, getRelatedListRecordActionsAdapterFactory, getRelatedListRecordsAdapterFactory, getRelatedListRecordsBatchAdapterFactory, getRelatedListsActionsAdapterFactory, getRelatedListsCountAdapterFactory, getRelatedListsInfoAdapterFactory, getResponseCacheKeys as getResponseCacheKeysContentDocumentCompositeRepresentation, getSearchFilterMetadataAdapterFactory, getSearchFilterOptionsAdapterFactory, getSearchResultsAdapterFactory, getSelectedAppAdapterFactory, getTypeCacheKeys$2h as getTypeCacheKeysRecord, factory$e as graphqlAdapterFactory, factory$g as graphqlBatchAdapterFactory, ingest$4 as ingestContentDocumentCompositeRepresentation, ingest$1P as ingestDuplicateConfiguration, ingest$1J as ingestDuplicatesRepresentation, ingest$2f as ingestListInfo, ingest$2b as ingestListRecords, ingest$25 as ingestObjectInfo, ingest$1$ as ingestQuickActionExecutionRepresentation, ingest$2c as ingestRecord, ingest$22 as ingestRecordUi, ingest$1B as ingestRelatedListInfo, ingest$2 as ingestRelatedListInfoBatch, ingest$1y as ingestRelatedListRecords, ingest as ingestRelatedListRecordsBatch, ingest$1A as ingestRelatedListSummaryInfoCollection, ingest$7 as ingestUiApiGraphql, instrument, isStoreKeyRecordViewEntity, keyBuilder as keyBuilderContentDocumentCompositeRepresentation, keyBuilderFromType as keyBuilderFromTypeContentDocumentCompositeRepresentation, keyBuilderFromType$D as keyBuilderFromTypeRecordRepresentation, keyBuilder$3j as keyBuilderObjectInfo, keyBuilder$3c as keyBuilderQuickActionExecutionRepresentation, keyBuilder$3A as keyBuilderRecord, factory$c as performQuickActionAdapterFactory, factory$d as performUpdateRecordQuickActionAdapterFactory, registerPrefetcher, untrustedIsObject, factory$b as updateLayoutUserStateAdapterFactory, updateListInfoByNameAdapterFactory, updateListPreferencesAdapterFactory, factory$2 as updateRecordAdapterFactory, factory$8 as updateRecordAvatarAdapterFactory, updateRelatedListInfoAdapterFactory, updateRelatedListPreferencesAdapterFactory };
59725
+ export { API_NAMESPACE, notifyChangeFactory as GetRecordNotifyChange, InMemoryRecordRepresentationQueryEvaluator, MRU, notifyUpdateAvailableFactory$3 as NotifyListInfoSummaryUpdateAvailable, notifyUpdateAvailableFactory$1 as NotifyListInfoUpdateAvailable, notifyUpdateAvailableFactory$4 as NotifyListRecordCollectionUpdateAvailable, notifyUpdateAvailableFactory$2 as NotifyListViewSummaryUpdateAvailable, notifyUpdateAvailableFactory as NotifyQuickActionDefaultsUpdateAvailable, notifyUpdateAvailableFactory$5 as NotifyRecordUpdateAvailable, RepresentationType$O as ObjectInfoDirectoryEntryRepresentationType, RepresentationType$T as ObjectInfoRepresentationType, RECORD_FIELDS_KEY_JUNCTION, RECORD_ID_PREFIX, RECORD_REPRESENTATION_NAME, RECORD_VIEW_ENTITY_ID_PREFIX, RECORD_VIEW_ENTITY_REPRESENTATION_NAME, RepresentationType$_ as RecordRepresentationRepresentationType, TTL$F as RecordRepresentationTTL, RepresentationType$_ as RecordRepresentationType, VERSION$2E as RecordRepresentationVersion, keyPrefix as UiApiNamespace, buildRecordRepKeyFromId, buildSelectionFromFields, buildSelectionFromRecord, getFieldApiNamesArray as coerceFieldIdArray, getObjectApiName$1 as coerceObjectId, getObjectApiNamesArray as coerceObjectIdArray, configuration, factory$1 as createContentDocumentAndVersionAdapterFactory, factory as createContentVersionAdapterFactory, createIngestRecordWithFields, createLDSAdapterWithPrediction, createListInfoAdapterFactory, factory$4 as createRecordAdapterFactory, createRecordInputFilteredByEditedFields, createRelatedListAdapterWithPrediction, deleteListInfoAdapterFactory, factory$3 as deleteRecordAdapterFactory, factory$f as executeBatchRecordOperationsAdapterFactory, extractRecordIdFromStoreKey, generateRecordInputForCreate, generateRecordInputForUpdate, getActionOverridesAdapterFactory, getAllAppsAdapterFactory, getAppDetailsAdapterFactory, getDuplicateConfigurationAdapterFactory, getDuplicatesAdapterFactory, getFieldDisplayValue$1 as getFieldDisplayValue, getFieldValue, getFlexipageFormulaOverridesAdapterFactory, getGlobalActionsAdapterFactory, getKeywordSearchResultsAdapterFactory, getLayoutAdapterFactory, getLayoutUserStateAdapterFactory, getListInfoByNameAdapterFactory, getListInfosByNameAdapterFactory, getListInfosByObjectNameAdapterFactory, getListObjectInfoAdapterFactory, getListPreferencesAdapterFactory, factory$a as getListRecordsByNameAdapterFactory, factory$j as getListUiAdapterFactory, getListUiByApiNameAdapterFactory, getListUiByListViewIdAdapterFactory, getListViewSummaryCollectionAdapterFactory, getLookupActionsAdapterFactory, getLookupMetadataAdapterFactory, factory$9 as getLookupRecordsAdapterFactory, factory$k as getMruListUiAdapterFactory, getNavItemsAdapterFactory, getObjectCreateActionsAdapterFactory, getObjectInfoAdapterFactory, getObjectInfoDirectoryAdapterFactory, getObjectInfosAdapterFactory, getPathLayoutAdapterFactory, getPicklistValuesAdapterFactory, getPicklistValuesByRecordTypeAdapterFactory, getQuickActionDefaultsAdapterFactory, getQuickActionInfoAdapterFactory, getQuickActionLayoutAdapterFactory, getRecordActionsAdapterFactory, factory$h as getRecordAdapterFactory, getRecordAvatarsAdapterFactory, factory$7 as getRecordCreateDefaultsAdapterFactory, getRecordEditActionsAdapterFactory, getRecordId18, getRecordInput, createFieldsIngestSuccess$3 as getRecordResourceIngest, factory$6 as getRecordTemplateCloneAdapterFactory, factory$5 as getRecordTemplateCreateAdapterFactory, factory$i as getRecordUiAdapterFactory, getRecordsAdapterFactory, getRelatedListActionsAdapterFactory, getRelatedListCountAdapterFactory, getRelatedListInfoAdapterFactory, getRelatedListInfoBatchAdapterFactory, getRelatedListPreferencesAdapterFactory, getRelatedListPreferencesBatchAdapterFactory, getRelatedListRecordActionsAdapterFactory, getRelatedListRecordsAdapterFactory, getRelatedListRecordsBatchAdapterFactory, getRelatedListsActionsAdapterFactory, getRelatedListsCountAdapterFactory, getRelatedListsInfoAdapterFactory, getResponseCacheKeys as getResponseCacheKeysContentDocumentCompositeRepresentation, getSearchFilterMetadataAdapterFactory, getSearchFilterOptionsAdapterFactory, getSearchResultsAdapterFactory, getSelectedAppAdapterFactory, getTypeCacheKeys$2h as getTypeCacheKeysRecord, factory$e as graphqlAdapterFactory, factory$g as graphqlBatchAdapterFactory, ingest$4 as ingestContentDocumentCompositeRepresentation, ingest$1P as ingestDuplicateConfiguration, ingest$1J as ingestDuplicatesRepresentation, ingest$2f as ingestListInfo, ingest$2b as ingestListRecords, ingest$25 as ingestObjectInfo, ingest$1$ as ingestQuickActionExecutionRepresentation, ingest$2c as ingestRecord, ingest$22 as ingestRecordUi, ingest$1B as ingestRelatedListInfo, ingest$2 as ingestRelatedListInfoBatch, ingest$1y as ingestRelatedListRecords, ingest as ingestRelatedListRecordsBatch, ingest$1A as ingestRelatedListSummaryInfoCollection, ingest$7 as ingestUiApiGraphql, instrument, isStoreKeyRecordViewEntity, isSupportedEntity, keyBuilder as keyBuilderContentDocumentCompositeRepresentation, keyBuilderFromType as keyBuilderFromTypeContentDocumentCompositeRepresentation, keyBuilderFromType$D as keyBuilderFromTypeRecordRepresentation, keyBuilder$3j as keyBuilderObjectInfo, keyBuilder$3c as keyBuilderQuickActionExecutionRepresentation, keyBuilder$3A as keyBuilderRecord, factory$c as performQuickActionAdapterFactory, factory$d as performUpdateRecordQuickActionAdapterFactory, registerPrefetcher, untrustedIsObject, factory$b as updateLayoutUserStateAdapterFactory, updateListInfoByNameAdapterFactory, updateListPreferencesAdapterFactory, factory$2 as updateRecordAdapterFactory, factory$8 as updateRecordAvatarAdapterFactory, updateRelatedListInfoAdapterFactory, updateRelatedListPreferencesAdapterFactory };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-adapters-uiapi",
3
- "version": "1.320.0",
3
+ "version": "1.322.0",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "Wire adapters for record related UI API endpoints",
6
6
  "main": "dist/es/es2018/uiapi-records-service.js",
@@ -68,14 +68,14 @@
68
68
  }
69
69
  },
70
70
  "dependencies": {
71
- "@salesforce/lds-bindings": "^1.320.0",
72
- "@salesforce/lds-default-luvio": "^1.320.0"
71
+ "@salesforce/lds-bindings": "^1.322.0",
72
+ "@salesforce/lds-default-luvio": "^1.322.0"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@databases/sqlite": "^3.0.0",
76
- "@salesforce/lds-compiler-plugins": "^1.320.0",
77
- "@salesforce/lds-jest": "^1.320.0",
78
- "@salesforce/lds-store-binary": "^1.320.0"
76
+ "@salesforce/lds-compiler-plugins": "^1.322.0",
77
+ "@salesforce/lds-jest": "^1.322.0",
78
+ "@salesforce/lds-store-binary": "^1.322.0"
79
79
  },
80
80
  "luvioBundlesize": [
81
81
  {
@@ -210,7 +210,7 @@ function createPageInfo(edges, startOffset, endOffset, maxOffset, metadata) {
210
210
  if (edges === undefined) {
211
211
  return undefined;
212
212
  }
213
- const listIsIncomplete = ((metadata === null || metadata === void 0 ? void 0 : metadata.__END__) === undefined);
213
+ const listIsIncomplete = (metadata?.__END__ === undefined);
214
214
  const hasNextPage = listIsIncomplete || (endOffset !== undefined && maxOffset !== undefined && (endOffset - 1 < maxOffset));
215
215
  const hasPreviousPage = startOffset !== undefined && startOffset > 0;
216
216
  let startCursor = null;
@@ -246,7 +246,7 @@ function findMaxOffset(metadata) {
246
246
  }
247
247
  // end is included in the above case.
248
248
  return Object.values(metadata)
249
- .reduce((acc, value) => Math.max(value !== null && value !== void 0 ? value : -1, acc), -1);
249
+ .reduce((acc, value) => Math.max(value ?? -1, acc), -1);
250
250
  }
251
251
  function getPageTokenAndOffset(paginationMetadata, token) {
252
252
  if (token === undefined) {
@@ -6656,14 +6656,13 @@ function mergeData$O(existingData, newData) {
6656
6656
  };
6657
6657
  }
6658
6658
  function ingestPaginationMetadata$3(astNode, state, key, sink, existingData) {
6659
- var _a;
6660
6659
  const { data, luvio, store } = state;
6661
6660
  const { pageInfo: { hasNextPage, startCursor }, edges } = data;
6662
6661
  if (!hasGraphQLPaginationFields(data))
6663
6662
  return;
6664
6663
  const paginationKey = key + '__pagination';
6665
6664
  let existingPaginationMetadata = store.readEntry(paginationKey);
6666
- const afterArg = (_a = astNode.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => { return argument.name.value === 'after'; });
6665
+ const afterArg = astNode.arguments?.find(argument => { return argument.name.value === 'after'; });
6667
6666
  const afterArgVal = evaluateArgumentValue(afterArg, 'StringValue', state.variables);
6668
6667
  const isPagedResponse = afterArgVal !== undefined &&
6669
6668
  existingPaginationMetadata !== undefined &&
@@ -11918,14 +11917,13 @@ function mergeData$t(existingData, newData) {
11918
11917
  };
11919
11918
  }
11920
11919
  function ingestPaginationMetadata$2(astNode, state, key, sink, existingData) {
11921
- var _a;
11922
11920
  const { data, luvio, store } = state;
11923
11921
  const { pageInfo: { hasNextPage, startCursor }, edges } = data;
11924
11922
  if (!hasGraphQLPaginationFields(data))
11925
11923
  return;
11926
11924
  const paginationKey = key + '__pagination';
11927
11925
  let existingPaginationMetadata = store.readEntry(paginationKey);
11928
- const afterArg = (_a = astNode.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => { return argument.name.value === 'after'; });
11926
+ const afterArg = astNode.arguments?.find(argument => { return argument.name.value === 'after'; });
11929
11927
  const afterArgVal = evaluateArgumentValue(afterArg, 'StringValue', state.variables);
11930
11928
  const isPagedResponse = afterArgVal !== undefined &&
11931
11929
  existingPaginationMetadata !== undefined &&
@@ -16832,14 +16830,13 @@ function mergeData$8(existingData, newData) {
16832
16830
  };
16833
16831
  }
16834
16832
  function ingestPaginationMetadata$1(astNode, state, key, sink, existingData) {
16835
- var _a;
16836
16833
  const { data, luvio, store } = state;
16837
16834
  const { pageInfo: { hasNextPage, startCursor }, edges } = data;
16838
16835
  if (!hasGraphQLPaginationFields(data))
16839
16836
  return;
16840
16837
  const paginationKey = key + '__pagination';
16841
16838
  let existingPaginationMetadata = store.readEntry(paginationKey);
16842
- const afterArg = (_a = astNode.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => { return argument.name.value === 'after'; });
16839
+ const afterArg = astNode.arguments?.find(argument => { return argument.name.value === 'after'; });
16843
16840
  const afterArgVal = evaluateArgumentValue(afterArg, 'StringValue', state.variables);
16844
16841
  const isPagedResponse = afterArgVal !== undefined &&
16845
16842
  existingPaginationMetadata !== undefined &&
@@ -18187,14 +18184,13 @@ function mergeData$3(existingData, newData) {
18187
18184
  };
18188
18185
  }
18189
18186
  function ingestPaginationMetadata(astNode, state, key, sink, existingData) {
18190
- var _a;
18191
18187
  const { data, luvio, store } = state;
18192
18188
  const { pageInfo: { hasNextPage, startCursor }, edges } = data;
18193
18189
  if (!hasGraphQLPaginationFields(data))
18194
18190
  return;
18195
18191
  const paginationKey = key + '__pagination';
18196
18192
  let existingPaginationMetadata = store.readEntry(paginationKey);
18197
- const afterArg = (_a = astNode.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => { return argument.name.value === 'after'; });
18193
+ const afterArg = astNode.arguments?.find(argument => { return argument.name.value === 'after'; });
18198
18194
  const afterArgVal = evaluateArgumentValue(afterArg, 'StringValue', state.variables);
18199
18195
  const isPagedResponse = afterArgVal !== undefined &&
18200
18196
  existingPaginationMetadata !== undefined &&
@@ -18440,6 +18436,23 @@ function getInContextFragmentType$d(fragment, fragmentMap) {
18440
18436
  return sharedGetFragmentType(fragment, fragmentMap);
18441
18437
  }
18442
18438
 
18439
+ function getFieldType$b(field) {
18440
+ switch (field.name.value) {
18441
+ case '__typename': {
18442
+ return {
18443
+ isArray: false,
18444
+ typename: 'String',
18445
+ };
18446
+ }
18447
+ default: {
18448
+ return {
18449
+ isArray: false,
18450
+ typename: 'Setup__SetupAggregateConnection',
18451
+ };
18452
+ }
18453
+ }
18454
+ }
18455
+
18443
18456
  const name$2 = 'Setup__SetupQueryAggregate';
18444
18457
  const VERSION$a = '0592284764c8e58016880e291b9ffb64';
18445
18458
  function keyBuilder$6(luvio, path, data) {
@@ -18557,24 +18570,6 @@ function getTypeCacheKeys$3(cacheKeySink, astNode, state) {
18557
18570
  }
18558
18571
  // Deal with mapped types' cache keys
18559
18572
  }
18560
- function getFieldType$b(field) {
18561
- switch (field.name.value) {
18562
- case '__typename': {
18563
- return {
18564
- isArray: false,
18565
- typename: 'String'
18566
- };
18567
- }
18568
- case 'recordQueryAggregate': {
18569
- return {
18570
- isArray: false,
18571
- typename: 'Setup__SetupAggregateConnection'
18572
- };
18573
- }
18574
- default:
18575
- return undefined;
18576
- }
18577
- }
18578
18573
  function ingestFieldByType$2(typename, parentKey, requestedField, sink, fieldKey, fieldData, state) {
18579
18574
  // TODO: add validation logic to only allow nullable fields to be null in the future
18580
18575
  if (fieldData === null) {
@@ -19612,8 +19607,7 @@ function applyToSelection$4(selection, directive, variables) {
19612
19607
  }
19613
19608
 
19614
19609
  function applyToSelection$3(selection, directive, variables) {
19615
- var _a;
19616
- const ifArg = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => argument.name.value === "if");
19610
+ const ifArg = directive.arguments?.find(argument => argument.name.value === "if");
19617
19611
  if (ifArg && ifArg.value) {
19618
19612
  if (ifArg.value.kind === "BooleanValue") {
19619
19613
  return ifArg.value.value ? selection : undefined;
@@ -19626,8 +19620,7 @@ function applyToSelection$3(selection, directive, variables) {
19626
19620
  }
19627
19621
 
19628
19622
  function applyToSelection$2(selection, directive, variables) {
19629
- var _a;
19630
- const ifArg = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => argument.name.value === "if");
19623
+ const ifArg = directive.arguments?.find(argument => argument.name.value === "if");
19631
19624
  if (ifArg && ifArg.value) {
19632
19625
  if (ifArg.value.kind === "BooleanValue") {
19633
19626
  return ifArg.value.value ? undefined : selection;
@@ -19801,7 +19794,7 @@ function injectSelectionSet(selectionSetNode, queryTransformHelper, fragmentMap)
19801
19794
  selections: queryTransformHelper.getMinimumSelections()
19802
19795
  };
19803
19796
  const mergedSelections = mergeSelectionSets(selectionSetNode, minimumSelectionSet);
19804
- mergedSelections === null || mergedSelections === void 0 ? void 0 : mergedSelections.selections.forEach(selection => {
19797
+ mergedSelections?.selections.forEach(selection => {
19805
19798
  if (selection.kind === 'Field') {
19806
19799
  const fieldType = queryTransformHelper.getFieldType(selection);
19807
19800
  const fieldTransformHelper = fieldType === undefined ? undefined : getQueryTransformerForType(fieldType.typename);
@@ -20438,13 +20431,12 @@ function evaluateArgumentValue(argumentNode, expectedKind, variables) {
20438
20431
  }
20439
20432
  // Shared export for getting the offset of the current page in the edges array
20440
20433
  function getArrayOffsetForPage(state, node, key) {
20441
- var _a;
20442
20434
  const { variables, data, store } = state;
20443
20435
  // if we have pagination metadata, see if we can locate either the start or
20444
20436
  // after cursor in it to determine the correct index to use for the fullPath
20445
20437
  const paginationKey = key + '__pagination';
20446
20438
  let existingPaginationMetadata = store.readEntry(paginationKey);
20447
- const afterArg = (_a = node.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => { return argument.name.value === 'after'; });
20439
+ const afterArg = node.arguments?.find(argument => { return argument.name.value === 'after'; });
20448
20440
  const afterArgVal = evaluateArgumentValue(afterArg, 'StringValue', variables);
20449
20441
  if (existingPaginationMetadata !== undefined) {
20450
20442
  // if the starting cursor for current page exists in the existing metadata use that as offset
@@ -20574,8 +20566,7 @@ function augmentDefaultVariableValues(variableDefinitions, variables) {
20574
20566
  });
20575
20567
  }
20576
20568
  function selectCalculateSink(sink, field, buildSelectionForNodeFn, source, reader, variables, fragments, parentRecordId) {
20577
- var _a;
20578
- (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
20569
+ field.selectionSet?.selections.forEach((sel) => {
20579
20570
  const builtSelection = buildSelectionForNodeFn(source, reader, field, sel, variables, fragments, parentRecordId);
20580
20571
  if (builtSelection !== undefined) {
20581
20572
  deepMerge(sink, builtSelection);
@@ -20584,7 +20575,6 @@ function selectCalculateSink(sink, field, buildSelectionForNodeFn, source, reade
20584
20575
  return sink;
20585
20576
  }
20586
20577
  function selectTypeLinkWithPagination(resolvedLink, sel, fieldData, reader, key, sink, variables, fragments, selectFn) {
20587
- var _a, _b, _c, _d, _e;
20588
20578
  const source = resolvedLink.data.data;
20589
20579
  const parentRecordId = resolvedLink.recordId;
20590
20580
  const totalEdges = source.edges !== undefined ? source.edges.length : 0;
@@ -20594,10 +20584,10 @@ function selectTypeLinkWithPagination(resolvedLink, sel, fieldData, reader, key,
20594
20584
  reader.markMissing();
20595
20585
  return;
20596
20586
  }
20597
- const firstArg = (_a = sel.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => { return argument.name.value === 'first'; });
20587
+ const firstArg = sel.arguments?.find(argument => { return argument.name.value === 'first'; });
20598
20588
  const firstArgVal = evaluateArgumentValue(firstArg, 'IntValue', variables);
20599
20589
  const pageSize = firstArgVal !== undefined ? firstArgVal : totalEdges;
20600
- const afterArg = (_b = sel.arguments) === null || _b === void 0 ? void 0 : _b.find(argument => { return argument.name.value === 'after'; });
20590
+ const afterArg = sel.arguments?.find(argument => { return argument.name.value === 'after'; });
20601
20591
  const afterArgVal = evaluateArgumentValue(afterArg, 'StringValue', variables);
20602
20592
  const paginationParams = {
20603
20593
  pageSize: parseInt(pageSize, 10),
@@ -20622,6 +20612,12 @@ function selectTypeLinkWithPagination(resolvedLink, sel, fieldData, reader, key,
20622
20612
  return;
20623
20613
  }
20624
20614
  }
20615
+ else if (totalEdges === 0 && !listIsComplete) {
20616
+ // empty edge list, but the list isn't complete?
20617
+ if (process.env.NODE_ENV !== 'production') {
20618
+ throw new Error("page size of zero, but pageInfo .hasNextPage is true.");
20619
+ }
20620
+ }
20625
20621
  else {
20626
20622
  if (startOffset === undefined || endOffset === undefined) {
20627
20623
  reader.markMissingLink(fieldData.__ref);
@@ -20653,7 +20649,7 @@ function selectTypeLinkWithPagination(resolvedLink, sel, fieldData, reader, key,
20653
20649
  reader.markMissingLink(fieldData.__ref);
20654
20650
  reader.markMissing();
20655
20651
  // optimize pagination when "first" and "after" args are part of the variable
20656
- if (((_c = firstArg === null || firstArg === void 0 ? void 0 : firstArg.value) === null || _c === void 0 ? void 0 : _c.kind) === 'Variable' && ((_d = afterArg === null || afterArg === void 0 ? void 0 : afterArg.value) === null || _d === void 0 ? void 0 : _d.kind) === 'Variable') {
20652
+ if (firstArg?.value?.kind === 'Variable' && afterArg?.value?.kind === 'Variable') {
20657
20653
  optimizePagination(metadata, firstArg.value.name.value, afterArg.value.name.value, variables);
20658
20654
  }
20659
20655
  return;
@@ -20669,9 +20665,9 @@ function selectTypeLinkWithPagination(resolvedLink, sel, fieldData, reader, key,
20669
20665
  };
20670
20666
  reader.markSeenId(parentRecordId);
20671
20667
  const result = selectFn(sel, variables, fragments)(paginatedData, reader, parentRecordId);
20672
- const pageInfo = createPageInfo(result === null || result === void 0 ? void 0 : result.edges, startOffset, endOffset, maxOffset, metadata);
20668
+ const pageInfo = createPageInfo(result?.edges, startOffset, endOffset, maxOffset, metadata);
20673
20669
  if (pageInfo !== undefined) {
20674
- const selectedPageInfo = selectPageInfo((_e = sel.selectionSet) === null || _e === void 0 ? void 0 : _e.selections, fragments, pageInfo);
20670
+ const selectedPageInfo = selectPageInfo(sel.selectionSet?.selections, fragments, pageInfo);
20675
20671
  if (selectedPageInfo !== undefined) {
20676
20672
  reader.assignNonScalar(result, 'pageInfo', selectedPageInfo);
20677
20673
  }
@@ -20679,11 +20675,10 @@ function selectTypeLinkWithPagination(resolvedLink, sel, fieldData, reader, key,
20679
20675
  reader.assignNonScalar(sink, key, result);
20680
20676
  }
20681
20677
  function selectPageInfo(selections, fragments, pageInfo) {
20682
- var _a;
20683
20678
  const pageInfoSelection = getSelectionNode(selections, fragments, 'pageInfo');
20684
20679
  if (pageInfo === undefined || pageInfoSelection === undefined || pageInfoSelection.kind !== 'Field')
20685
20680
  return undefined;
20686
- const pageInfoSelections = (_a = pageInfoSelection.selectionSet) === null || _a === void 0 ? void 0 : _a.selections;
20681
+ const pageInfoSelections = pageInfoSelection.selectionSet?.selections;
20687
20682
  const selectedPageInfo = Object.assign({}, pageInfo);
20688
20683
  Object.keys(pageInfo).forEach((fieldName) => {
20689
20684
  if (getSelectionNode(pageInfoSelections, fragments, fieldName) === undefined) {
@@ -20702,7 +20697,7 @@ function getSelectionNode(selections, fragments, fieldName) {
20702
20697
  }
20703
20698
  else if (selection.kind === 'FragmentSpread') {
20704
20699
  const fragment = fragments[selection.name.value];
20705
- return getSelectionNode(fragment === null || fragment === void 0 ? void 0 : fragment.selectionSet.selections, fragments, fieldName);
20700
+ return getSelectionNode(fragment?.selectionSet.selections, fragments, fieldName);
20706
20701
  }
20707
20702
  else if (selection.kind === 'InlineFragment') {
20708
20703
  return getSelectionNode(selection.selectionSet.selections, fragments, fieldName);
@@ -20999,12 +20994,11 @@ function buildNetworkSnapshot$1(luvio, config, options) {
20999
20994
  const request = createResourceRequest$1(resourceParams);
21000
20995
  return luvio.dispatchResourceRequest(request, options)
21001
20996
  .then((response) => {
21002
- var _a, _b;
21003
- const graphqlErrors = (_a = response === null || response === void 0 ? void 0 : response.body) === null || _a === void 0 ? void 0 : _a.errors;
20997
+ const graphqlErrors = response?.body?.errors;
21004
20998
  if ((graphqlErrors || []).length === 0) {
21005
20999
  return response;
21006
21000
  }
21007
- return Promise.reject({ errorType: 'adapterError', error: (_b = response === null || response === void 0 ? void 0 : response.body) === null || _b === void 0 ? void 0 : _b.errors });
21001
+ return Promise.reject({ errorType: 'adapterError', error: response?.body?.errors });
21008
21002
  })
21009
21003
  .then((response) => {
21010
21004
  return luvio.handleSuccessResponse(() => onFetchResponseSuccess$1(luvio, config, resourceParams, response), () => {
@@ -22263,4 +22257,4 @@ register({
22263
22257
  });
22264
22258
 
22265
22259
  export { configurationForGraphQLAdapters as configuration, graphql, factory$1 as graphqlAdapterFactory, graphqlBatch, graphqlBatch_imperative, graphql_imperative };
22266
- // version: 1.320.0-e3e5f3d984
22260
+ // version: 1.322.0-87f682c9f3
package/sfdc/index.js CHANGED
@@ -143,7 +143,7 @@ const configurationForOneStoreEnabledAdapters = {
143
143
  * @returns Luvio or one store wire adapter constructor.
144
144
  */
145
145
  function getLuvioOrOneStoreAdapter(luvioAdapter, oneStoreAdapter) {
146
- return oneStoreAdapter !== null && oneStoreAdapter !== void 0 ? oneStoreAdapter : luvioAdapter;
146
+ return oneStoreAdapter ?? luvioAdapter;
147
147
  }
148
148
  const getKeywordSearchResultsFactory = new Configurable();
149
149
  const getListRecordsByNameFactory = new Configurable();
@@ -4978,7 +4978,7 @@ const RECORD_REPRESENTATION_ERROR_STORE_METADATA_PARAMS = {
4978
4978
  version: RECORD_REPRESENTATION_ERROR_VERSION,
4979
4979
  };
4980
4980
  function isGraphNode(node) {
4981
- return node !== null && node.type === 'Node';
4981
+ return !!node && node.type === 'Node';
4982
4982
  }
4983
4983
  function addScalarFieldId(current) {
4984
4984
  addScalarField(current, 'Id');
@@ -5045,6 +5045,8 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
5045
5045
  const spanning = spanningLink.follow();
5046
5046
  // W-8058425, do not include external lookups added by getTrackedFields
5047
5047
  if (isExternalLookupFieldKey(spanning)) {
5048
+ // NOTE: the logic to get here is mimicked in RecordRepresentation/merge::mergePendingFields as of
5049
+ // W-11899329 due to issues with external lookups being marked pending but never fetched
5048
5050
  continue;
5049
5051
  }
5050
5052
  extractTrackedFieldsToTrie(spanningLink.data.__ref, spanning, next, config, spanningVisitedRecordIds, depth + 1);
@@ -5077,6 +5079,8 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
5077
5079
  const { fields } = state;
5078
5080
  // W-8058425, do not include external lookups added by getTrackedFields
5079
5081
  if (includes.call(fields, 'ExternalId')) {
5082
+ // NOTE: the logic to get here is mimicked in RecordRepresentation/merge::mergePendingFields as of
5083
+ // W-11899329 due to issues with external lookups being marked pending but never fetched
5080
5084
  continue;
5081
5085
  }
5082
5086
  for (let s = 0, len = fields.length; s < len; s += 1) {
@@ -5345,15 +5349,49 @@ function ingestRecordResponse(luvio, response, recordId, recordIngest, conflictM
5345
5349
 
5346
5350
  // This function sets fields that we are refreshing to pending
5347
5351
  // These values will go into the store
5348
- function mergePendingFields(newRecord, oldRecord) {
5349
- // TODO [W-6900046]: avoid casting to any by updating
5350
- // RecordRepresentationNormalized['fields'] to include `pending:true` property
5352
+ function mergePendingFields(newRecord, oldRecord, existingNode) {
5351
5353
  const mergedFields = { ...newRecord.fields };
5352
5354
  const merged = { ...newRecord, fields: mergedFields };
5353
5355
  const existingFields = keys(oldRecord.fields);
5354
5356
  for (let i = 0, len = existingFields.length; i < len; i += 1) {
5355
5357
  const spanningFieldName = existingFields[i];
5356
5358
  if (newRecord.fields[spanningFieldName] === undefined) {
5359
+ /*
5360
+ * Per W-8058425 external lookups fields are excluded from the tracked fields. However, as covered in
5361
+ * W-11899329, situations can arise in which a merge conflict occurs when the existing record has a
5362
+ * reference to an external lookup field. The exclusion ultimately results in a snapshot stuck in the
5363
+ * pending state. This is an approach to prevent that situation.
5364
+ *
5365
+ * The same logic checks for W-8058425 to "continue" as it relates to not tracking external lookups is
5366
+ * mimicked here as it relates to not marking them as pending.
5367
+ */
5368
+ // make sure external lookups are NOT marked as pending when `existingNode` is provided
5369
+ if (isGraphNode(existingNode)) {
5370
+ // get the node for the spanning field
5371
+ const fieldValueRep = existingNode
5372
+ .object('fields')
5373
+ .link(spanningFieldName);
5374
+ const field = fieldValueRep.follow();
5375
+ if (isGraphNode(field)) {
5376
+ if (field.isScalar('value') === false) {
5377
+ const record = field
5378
+ .link('value')
5379
+ .follow();
5380
+ if (isExternalLookupFieldKey(record)) {
5381
+ continue;
5382
+ }
5383
+ }
5384
+ }
5385
+ else {
5386
+ const state = fieldValueRep.linkData();
5387
+ if (state !== undefined) {
5388
+ const { fields } = state;
5389
+ if (includes.call(fields, 'ExternalId')) {
5390
+ continue;
5391
+ }
5392
+ }
5393
+ }
5394
+ }
5357
5395
  // TODO [W-6900046]: fix above casting issue so we're not stuffing arbitrary things
5358
5396
  // into RecordRepresentationNormalized['fields']
5359
5397
  mergedFields[spanningFieldName] = {
@@ -5367,7 +5405,7 @@ function mergePendingFields(newRecord, oldRecord) {
5367
5405
  // This method gets called
5368
5406
  // when incoming record has a higher version
5369
5407
  // than the record that is currently in the store
5370
- function mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap) {
5408
+ function mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap, existingNode) {
5371
5409
  // If the higher version (incoming) does not contain a superset of fields as existing
5372
5410
  // then we need to refresh to get updated versions of fields in existing
5373
5411
  if (isSuperRecordFieldTrie(incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot) ===
@@ -5384,14 +5422,14 @@ function mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedF
5384
5422
  };
5385
5423
  // We want to mark fields in the store as pending
5386
5424
  // Because we don't want to emit any data to components
5387
- return mergePendingFields(incoming, existing);
5425
+ return mergePendingFields(incoming, existing, existingNode);
5388
5426
  }
5389
5427
  return incoming;
5390
5428
  }
5391
5429
  // This method gets called
5392
5430
  // when incoming record has a lower version
5393
5431
  // than the record that is currently in the store
5394
- function mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap) {
5432
+ function mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap, existingNode) {
5395
5433
  // If the higher version (existing) does not have a superset of fields as incoming
5396
5434
  // then we need to refresh to get updated versions of fields on incoming
5397
5435
  if (isSuperRecordFieldTrie(existingTrackedFieldsTrieRoot, incomingTrackedFieldsTrieRoot) ===
@@ -5401,7 +5439,7 @@ function mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTr
5401
5439
  if (isSupportedEntity(incoming.apiName) === false) {
5402
5440
  return mergeRecordFields(existing, incoming);
5403
5441
  }
5404
- const merged = mergePendingFields(existing, incoming);
5442
+ const merged = mergePendingFields(existing, incoming, existingNode);
5405
5443
  // update the conflict map to resolve the record conflict in resolveConflict
5406
5444
  if (recordConflictMap) {
5407
5445
  recordConflictMap.conflicts[incoming.id] = {
@@ -5440,7 +5478,7 @@ function mergeRecordConflict(luvio, incoming, existing, recordConflictMap) {
5440
5478
  extractTrackedFieldsToTrie(recordKey, incomingNode, incomingTrackedFieldsTrieRoot, trackedFieldsConfig);
5441
5479
  extractTrackedFieldsToTrie(recordKey, existingNode, existingTrackedFieldsTrieRoot, trackedFieldsConfig);
5442
5480
  if (incoming.weakEtag > existing.weakEtag) {
5443
- return mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap);
5481
+ return mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap, existingNode);
5444
5482
  }
5445
5483
  return mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap);
5446
5484
  }
@@ -12031,7 +12069,7 @@ function validate$1A(obj, path = 'RecordLayoutSectionUserStateRepresentation') {
12031
12069
  }
12032
12070
 
12033
12071
  const TTL$v = 900000;
12034
- const VERSION$14 = "4ba42e1fa0fb00cf78fce86082da41c9";
12072
+ const VERSION$14 = "12123f1aca1b5a48303b1d099f9f5629";
12035
12073
  function validate$1z(obj, path = 'RecordLayoutUserStateRepresentation') {
12036
12074
  const v_error = (() => {
12037
12075
  if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
@@ -12044,8 +12082,29 @@ function validate$1z(obj, path = 'RecordLayoutUserStateRepresentation') {
12044
12082
  }
12045
12083
  const obj_id = obj.id;
12046
12084
  const path_id = path + '.id';
12047
- if (typeof obj_id !== 'string') {
12048
- return new TypeError('Expected "string" but received "' + typeof obj_id + '" (at "' + path_id + '")');
12085
+ let obj_id_union0 = null;
12086
+ const obj_id_union0_error = (() => {
12087
+ if (typeof obj_id !== 'string') {
12088
+ return new TypeError('Expected "string" but received "' + typeof obj_id + '" (at "' + path_id + '")');
12089
+ }
12090
+ })();
12091
+ if (obj_id_union0_error != null) {
12092
+ obj_id_union0 = obj_id_union0_error.message;
12093
+ }
12094
+ let obj_id_union1 = null;
12095
+ const obj_id_union1_error = (() => {
12096
+ if (obj_id !== null) {
12097
+ return new TypeError('Expected "null" but received "' + typeof obj_id + '" (at "' + path_id + '")');
12098
+ }
12099
+ })();
12100
+ if (obj_id_union1_error != null) {
12101
+ obj_id_union1 = obj_id_union1_error.message;
12102
+ }
12103
+ if (obj_id_union0 && obj_id_union1) {
12104
+ let message = 'Object doesn\'t match union (at "' + path_id + '")';
12105
+ message += '\n' + obj_id_union0.split('\n').map((line) => '\t' + line).join('\n');
12106
+ message += '\n' + obj_id_union1.split('\n').map((line) => '\t' + line).join('\n');
12107
+ return new TypeError(message);
12049
12108
  }
12050
12109
  const obj_layoutType = obj.layoutType;
12051
12110
  const path_layoutType = path + '.layoutType';
@@ -20676,11 +20735,11 @@ function validateAdapterConfig$N(untrustedConfig, _configPropertyNames) {
20676
20735
  if (config === null) {
20677
20736
  return null;
20678
20737
  }
20679
- // recordTypeId coercion is nuts: if `null` (but not undefined) then use MASTER record type id
20680
20738
  let recordTypeId = config.recordTypeId;
20681
20739
  if (recordTypeId === undefined) {
20682
20740
  // must check untrusted bc config has been coerced
20683
- if (untrustedConfig.recordTypeId !== null) {
20741
+ if (untrustedConfig.recordTypeId !== null &&
20742
+ untrustedConfig.recordTypeId !== undefined) {
20684
20743
  return null;
20685
20744
  }
20686
20745
  recordTypeId = MAIN_RECORD_TYPE_ID;
@@ -34646,8 +34705,7 @@ function getTypeCacheKeys$7(rootKeySet, luvio, input, fullPathFactory) {
34646
34705
  }
34647
34706
 
34648
34707
  function keyBuilder$8(luvio, params) {
34649
- var _a, _b, _c, _d, _e;
34650
- return keyPrefix + '::LookupValuesRepresentation:(' + 'dependentFieldBindings:' + params.queryParams.dependentFieldBindings + ',' + 'page:' + params.queryParams.page + ',' + 'pageSize:' + params.queryParams.pageSize + ',' + 'q:' + params.queryParams.q + ',' + 'searchType:' + params.queryParams.searchType + ',' + 'sourceRecordId:' + params.queryParams.sourceRecordId + ',' + 'targetApiName:' + params.queryParams.targetApiName + ',' + 'fieldApiName:' + params.urlParams.fieldApiName + ',' + 'objectApiName:' + params.urlParams.objectApiName + ',' + (((_a = params.body.sourceRecord) === null || _a === void 0 ? void 0 : _a.allowSaveOnDuplicate) === undefined ? 'sourceRecord.allowSaveOnDuplicate' : 'sourceRecord.allowSaveOnDuplicate:' + ((_b = params.body.sourceRecord) === null || _b === void 0 ? void 0 : _b.allowSaveOnDuplicate)) + '::' + (((_c = params.body.sourceRecord) === null || _c === void 0 ? void 0 : _c.apiName) === undefined ? 'sourceRecord.apiName' : 'sourceRecord.apiName:' + ((_d = params.body.sourceRecord) === null || _d === void 0 ? void 0 : _d.apiName)) + '::' + stableJSONStringify((_e = params.body.sourceRecord) === null || _e === void 0 ? void 0 : _e.fields) + '::' + (params.body.orderBy === undefined ? undefined : ('[' + params.body.orderBy.map(element => 'orderBy.fieldApiName:' + element.fieldApiName + '::' + 'orderBy.isAscending:' + element.isAscending).join(',') + ']')) + ')';
34708
+ return keyPrefix + '::LookupValuesRepresentation:(' + 'dependentFieldBindings:' + params.queryParams.dependentFieldBindings + ',' + 'page:' + params.queryParams.page + ',' + 'pageSize:' + params.queryParams.pageSize + ',' + 'q:' + params.queryParams.q + ',' + 'searchType:' + params.queryParams.searchType + ',' + 'sourceRecordId:' + params.queryParams.sourceRecordId + ',' + 'targetApiName:' + params.queryParams.targetApiName + ',' + 'fieldApiName:' + params.urlParams.fieldApiName + ',' + 'objectApiName:' + params.urlParams.objectApiName + ',' + (params.body.sourceRecord?.allowSaveOnDuplicate === undefined ? 'sourceRecord.allowSaveOnDuplicate' : 'sourceRecord.allowSaveOnDuplicate:' + params.body.sourceRecord?.allowSaveOnDuplicate) + '::' + (params.body.sourceRecord?.apiName === undefined ? 'sourceRecord.apiName' : 'sourceRecord.apiName:' + params.body.sourceRecord?.apiName) + '::' + stableJSONStringify(params.body.sourceRecord?.fields) + '::' + (params.body.orderBy === undefined ? undefined : ('[' + params.body.orderBy.map(element => 'orderBy.fieldApiName:' + element.fieldApiName + '::' + 'orderBy.isAscending:' + element.isAscending).join(',') + ']')) + ')';
34651
34709
  }
34652
34710
  function getResponseCacheKeys$7(storeKeyMap, luvio, resourceParams, response) {
34653
34711
  getTypeCacheKeys$7(storeKeyMap, luvio, response, () => keyBuilder$8(luvio, resourceParams));
@@ -38051,7 +38109,6 @@ const getSearchFilterMetadataMetadata = { apiFamily: keyPrefix, name: adapterNam
38051
38109
  const getSearchFilterOptionsMetadata = { apiFamily: keyPrefix, name: adapterName$b, ttl: 30000 };
38052
38110
  const getSearchResultsMetadata = { apiFamily: keyPrefix, name: adapterName$9, ttl: 200 };
38053
38111
  function bindExportsTo(luvio) {
38054
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
38055
38112
  // LDS adapters
38056
38113
  const getActionOverrides_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getActionOverrides', getActionOverridesAdapterFactory), getActionOverridesMetadata);
38057
38114
  const getAllApps_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getAllApps', getAllAppsAdapterFactory), getAllAppsMetadata);
@@ -38060,7 +38117,7 @@ function bindExportsTo(luvio) {
38060
38117
  const getDuplicates_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getDuplicates', getDuplicatesAdapterFactory), getDuplicatesMetadata);
38061
38118
  const getFlexipageFormulaOverrides_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getFlexipageFormulaOverrides', getFlexipageFormulaOverridesAdapterFactory), getFlexipageFormulaOverridesMetadata);
38062
38119
  const getGlobalActions_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getGlobalActions', getGlobalActionsAdapterFactory), getGlobalActionsMetadata);
38063
- const getKeywordSearchResults_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getKeywordSearchResults', (_a = configurationForEnvironmentFactoryOverrides.getKeywordSearchResultsAdapterFactory()) !== null && _a !== void 0 ? _a : getKeywordSearchResultsAdapterFactory), getKeywordSearchResultsMetadata);
38120
+ const getKeywordSearchResults_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getKeywordSearchResults', configurationForEnvironmentFactoryOverrides.getKeywordSearchResultsAdapterFactory() ?? getKeywordSearchResultsAdapterFactory), getKeywordSearchResultsMetadata);
38064
38121
  const getLayout_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getLayout', getLayoutAdapterFactory), getLayoutMetadata);
38065
38122
  const getLayoutUserState_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getLayoutUserState', getLayoutUserStateAdapterFactory), getLayoutUserStateMetadata);
38066
38123
  const getListInfoByName_ldsAdapter = createInstrumentedAdapter(createLDSAdapterWithPrediction(createLDSAdapter(luvio, 'getListInfoByName', getListInfoByNameAdapterFactory), luvio, 'getListInfoByName'), getListInfoByNameMetadata);
@@ -38068,11 +38125,11 @@ function bindExportsTo(luvio) {
38068
38125
  const getListInfosByObjectName_ldsAdapter = createInstrumentedAdapter(createLDSAdapterWithPrediction(createLDSAdapter(luvio, 'getListInfosByObjectName', getListInfosByObjectNameAdapterFactory), luvio, 'getListInfosByObjectName'), getListInfosByObjectNameMetadata);
38069
38126
  const getListObjectInfo_ldsAdapter = createInstrumentedAdapter(createLDSAdapterWithPrediction(createLDSAdapter(luvio, 'getListObjectInfo', getListObjectInfoAdapterFactory), luvio, 'getListObjectInfo'), getListObjectInfoMetadata);
38070
38127
  const getListPreferences_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getListPreferences', getListPreferencesAdapterFactory), getListPreferencesMetadata);
38071
- const getListRecordsByName_ldsAdapter = createInstrumentedAdapter(createLDSAdapterWithPrediction(createLDSAdapter(luvio, 'getListRecordsByName', (_b = configurationForEnvironmentFactoryOverrides.getListRecordsByNameAdapterFactory()) !== null && _b !== void 0 ? _b : factory$a), luvio, 'getListRecordsByName'), getListRecordsByNameMetadata);
38072
- const getListUi_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getListUi', (_c = configurationForEnvironmentFactoryOverrides.getListUiAdapterFactory()) !== null && _c !== void 0 ? _c : factory$h), getListUiMetadata);
38128
+ const getListRecordsByName_ldsAdapter = createInstrumentedAdapter(createLDSAdapterWithPrediction(createLDSAdapter(luvio, 'getListRecordsByName', configurationForEnvironmentFactoryOverrides.getListRecordsByNameAdapterFactory() ?? factory$a), luvio, 'getListRecordsByName'), getListRecordsByNameMetadata);
38129
+ const getListUi_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getListUi', configurationForEnvironmentFactoryOverrides.getListUiAdapterFactory() ?? factory$h), getListUiMetadata);
38073
38130
  const getLookupActions_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getLookupActions', getLookupActionsAdapterFactory), getLookupActionsMetadata);
38074
38131
  const getLookupMetadata_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getLookupMetadata', getLookupMetadataAdapterFactory), getLookupMetadataMetadata);
38075
- const getLookupRecords_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getLookupRecords', (_d = configurationForEnvironmentFactoryOverrides.getLookupRecordsAdapterFactory()) !== null && _d !== void 0 ? _d : factory$9), getLookupRecordsMetadata);
38132
+ const getLookupRecords_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getLookupRecords', configurationForEnvironmentFactoryOverrides.getLookupRecordsAdapterFactory() ?? factory$9), getLookupRecordsMetadata);
38076
38133
  const getNavItems_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getNavItems', getNavItemsAdapterFactory), getNavItemsMetadata);
38077
38134
  const getObjectCreateActions_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getObjectCreateActions', getObjectCreateActionsAdapterFactory), getObjectCreateActionsMetadata);
38078
38135
  const getObjectInfo_ldsAdapter = createInstrumentedAdapter(createLDSAdapterWithPrediction(createLDSAdapter(luvio, 'getObjectInfo', getObjectInfoAdapterFactory), luvio, 'getObjectInfo'), getObjectInfoMetadata);
@@ -38080,18 +38137,18 @@ function bindExportsTo(luvio) {
38080
38137
  const getPathLayout_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getPathLayout', getPathLayoutAdapterFactory), getPathLayoutMetadata);
38081
38138
  const getPicklistValues_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getPicklistValues', getPicklistValuesAdapterFactory), getPicklistValuesMetadata);
38082
38139
  const getPicklistValuesByRecordType_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getPicklistValuesByRecordType', getPicklistValuesByRecordTypeAdapterFactory), getPicklistValuesByRecordTypeMetadata);
38083
- const getQuickActionDefaults_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getQuickActionDefaults', (_e = configurationForEnvironmentFactoryOverrides.getQuickActionDefaultsAdapterFactory()) !== null && _e !== void 0 ? _e : getQuickActionDefaultsAdapterFactory), getQuickActionDefaultsMetadata);
38140
+ const getQuickActionDefaults_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getQuickActionDefaults', configurationForEnvironmentFactoryOverrides.getQuickActionDefaultsAdapterFactory() ?? getQuickActionDefaultsAdapterFactory), getQuickActionDefaultsMetadata);
38084
38141
  const getQuickActionInfo_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getQuickActionInfo', getQuickActionInfoAdapterFactory), getQuickActionInfoMetadata);
38085
38142
  const getQuickActionLayout_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getQuickActionLayout', getQuickActionLayoutAdapterFactory), getQuickActionLayoutMetadata);
38086
- const getRecord_ldsAdapter = createInstrumentedAdapter(createLDSAdapterWithPrediction(createLDSAdapter(luvio, 'getRecord', (_f = configurationForEnvironmentFactoryOverrides.getRecordAdapterFactory()) !== null && _f !== void 0 ? _f : factory$f), luvio, 'getRecord'), getRecordMetadata);
38143
+ const getRecord_ldsAdapter = createInstrumentedAdapter(createLDSAdapterWithPrediction(createLDSAdapter(luvio, 'getRecord', configurationForEnvironmentFactoryOverrides.getRecordAdapterFactory() ?? factory$f), luvio, 'getRecord'), getRecordMetadata);
38087
38144
  const getRecordActions_ldsAdapter = createInstrumentedAdapter(createLDSAdapterWithPrediction(createLDSAdapter(luvio, 'getRecordActions', getRecordActionsAdapterFactory), luvio, 'getRecordActions'), getRecordActionsMetadata);
38088
38145
  const getRecordAvatars_ldsAdapter = createInstrumentedAdapter(createLDSAdapterWithPrediction(createLDSAdapter(luvio, 'getRecordAvatars', getRecordAvatarsAdapterFactory), luvio, 'getRecordAvatars'), getRecordAvatarsMetadata);
38089
- const getRecordCreateDefaults_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRecordCreateDefaults', (_g = configurationForEnvironmentFactoryOverrides.getRecordCreateDefaultsAdapterFactory()) !== null && _g !== void 0 ? _g : factory$7), getRecordCreateDefaultsMetadata);
38146
+ const getRecordCreateDefaults_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRecordCreateDefaults', configurationForEnvironmentFactoryOverrides.getRecordCreateDefaultsAdapterFactory() ?? factory$7), getRecordCreateDefaultsMetadata);
38090
38147
  const getRecordEditActions_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRecordEditActions', getRecordEditActionsAdapterFactory), getRecordEditActionsMetadata);
38091
- const getRecordTemplateClone_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRecordTemplateClone', (_h = configurationForEnvironmentFactoryOverrides.getRecordTemplateCloneAdapterFactory()) !== null && _h !== void 0 ? _h : factory$6), getRecordTemplateCloneMetadata);
38092
- const getRecordTemplateCreate_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRecordTemplateCreate', (_j = configurationForEnvironmentFactoryOverrides.getRecordTemplateCreateAdapterFactory()) !== null && _j !== void 0 ? _j : factory$5), getRecordTemplateCreateMetadata);
38093
- const getRecordUi_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRecordUi', (_k = configurationForEnvironmentFactoryOverrides.getRecordUiAdapterFactory()) !== null && _k !== void 0 ? _k : factory$g), getRecordUiMetadata);
38094
- const getRecords_ldsAdapter = createInstrumentedAdapter(createLDSAdapterWithPrediction(createLDSAdapter(luvio, 'getRecords', (_l = configurationForEnvironmentFactoryOverrides.getRecordsAdapterFactory()) !== null && _l !== void 0 ? _l : getRecordsAdapterFactory), luvio, 'getRecords'), getRecordsMetadata);
38148
+ const getRecordTemplateClone_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRecordTemplateClone', configurationForEnvironmentFactoryOverrides.getRecordTemplateCloneAdapterFactory() ?? factory$6), getRecordTemplateCloneMetadata);
38149
+ const getRecordTemplateCreate_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRecordTemplateCreate', configurationForEnvironmentFactoryOverrides.getRecordTemplateCreateAdapterFactory() ?? factory$5), getRecordTemplateCreateMetadata);
38150
+ const getRecordUi_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRecordUi', configurationForEnvironmentFactoryOverrides.getRecordUiAdapterFactory() ?? factory$g), getRecordUiMetadata);
38151
+ const getRecords_ldsAdapter = createInstrumentedAdapter(createLDSAdapterWithPrediction(createLDSAdapter(luvio, 'getRecords', configurationForEnvironmentFactoryOverrides.getRecordsAdapterFactory() ?? getRecordsAdapterFactory), luvio, 'getRecords'), getRecordsMetadata);
38095
38152
  const getRelatedListActions_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRelatedListActions', getRelatedListActionsAdapterFactory), getRelatedListActionsMetadata);
38096
38153
  const getRelatedListCount_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRelatedListCount', getRelatedListCountAdapterFactory), getRelatedListCountMetadata);
38097
38154
  const getRelatedListInfo_ldsAdapter = createInstrumentedAdapter(createRelatedListAdapterWithPrediction(createLDSAdapter(luvio, 'getRelatedListInfo', getRelatedListInfoAdapterFactory), luvio, 'getRelatedListInfo'), getRelatedListInfoMetadata);
@@ -38099,14 +38156,14 @@ function bindExportsTo(luvio) {
38099
38156
  const getRelatedListPreferences_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRelatedListPreferences', getRelatedListPreferencesAdapterFactory), getRelatedListPreferencesMetadata);
38100
38157
  const getRelatedListPreferencesBatch_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRelatedListPreferencesBatch', getRelatedListPreferencesBatchAdapterFactory), getRelatedListPreferencesBatchMetadata);
38101
38158
  const getRelatedListRecordActions_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRelatedListRecordActions', getRelatedListRecordActionsAdapterFactory), getRelatedListRecordActionsMetadata);
38102
- const getRelatedListRecords_ldsAdapter = createInstrumentedAdapter(createRelatedListAdapterWithPrediction(createLDSAdapter(luvio, 'getRelatedListRecords', (_m = configurationForEnvironmentFactoryOverrides.getRelatedListRecordsAdapterFactory()) !== null && _m !== void 0 ? _m : getRelatedListRecordsAdapterFactory), luvio, 'getRelatedListRecords'), getRelatedListRecordsMetadata);
38103
- const getRelatedListRecordsBatch_ldsAdapter = createInstrumentedAdapter(createRelatedListAdapterWithPrediction(createLDSAdapter(luvio, 'getRelatedListRecordsBatch', (_o = configurationForEnvironmentFactoryOverrides.getRelatedListRecordsBatchAdapterFactory()) !== null && _o !== void 0 ? _o : getRelatedListRecordsBatchAdapterFactory), luvio, 'getRelatedListRecordsBatch'), getRelatedListRecordsBatchMetadata);
38159
+ const getRelatedListRecords_ldsAdapter = createInstrumentedAdapter(createRelatedListAdapterWithPrediction(createLDSAdapter(luvio, 'getRelatedListRecords', configurationForEnvironmentFactoryOverrides.getRelatedListRecordsAdapterFactory() ?? getRelatedListRecordsAdapterFactory), luvio, 'getRelatedListRecords'), getRelatedListRecordsMetadata);
38160
+ const getRelatedListRecordsBatch_ldsAdapter = createInstrumentedAdapter(createRelatedListAdapterWithPrediction(createLDSAdapter(luvio, 'getRelatedListRecordsBatch', configurationForEnvironmentFactoryOverrides.getRelatedListRecordsBatchAdapterFactory() ?? getRelatedListRecordsBatchAdapterFactory), luvio, 'getRelatedListRecordsBatch'), getRelatedListRecordsBatchMetadata);
38104
38161
  const getRelatedListsActions_ldsAdapter = createInstrumentedAdapter(createRelatedListAdapterWithPrediction(createLDSAdapter(luvio, 'getRelatedListsActions', getRelatedListsActionsAdapterFactory), luvio, 'getRelatedListsActions'), getRelatedListsActionsMetadata);
38105
38162
  const getRelatedListsCount_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRelatedListsCount', getRelatedListsCountAdapterFactory), getRelatedListsCountMetadata);
38106
38163
  const getRelatedListsInfo_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getRelatedListsInfo', getRelatedListsInfoAdapterFactory), getRelatedListsInfoMetadata);
38107
38164
  const getSearchFilterMetadata_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getSearchFilterMetadata', getSearchFilterMetadataAdapterFactory), getSearchFilterMetadataMetadata);
38108
38165
  const getSearchFilterOptions_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getSearchFilterOptions', getSearchFilterOptionsAdapterFactory), getSearchFilterOptionsMetadata);
38109
- const getSearchResults_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getSearchResults', (_p = configurationForEnvironmentFactoryOverrides.getSearchResultsAdapterFactory()) !== null && _p !== void 0 ? _p : getSearchResultsAdapterFactory), getSearchResultsMetadata);
38166
+ const getSearchResults_ldsAdapter = createInstrumentedAdapter(createLDSAdapter(luvio, 'getSearchResults', configurationForEnvironmentFactoryOverrides.getSearchResultsAdapterFactory() ?? getSearchResultsAdapterFactory), getSearchResultsMetadata);
38110
38167
  function unwrapSnapshotData(factory) {
38111
38168
  const adapter = factory(luvio);
38112
38169
  return (...config) => adapter(...config).then(snapshot => snapshot.data);
@@ -38446,5 +38503,5 @@ withDefaultLuvio((luvio) => {
38446
38503
  notifyAllListInfoSummaryUpdateAvailable = throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
38447
38504
  });
38448
38505
 
38449
- export { API_NAMESPACE, InMemoryRecordRepresentationQueryEvaluator, MRU, RepresentationType$J as ObjectInfoDirectoryEntryRepresentationType, RepresentationType$O as ObjectInfoRepresentationType, RECORD_FIELDS_KEY_JUNCTION, RECORD_ID_PREFIX, RECORD_REPRESENTATION_NAME, RECORD_VIEW_ENTITY_ID_PREFIX, RECORD_VIEW_ENTITY_REPRESENTATION_NAME, RepresentationType$V as RecordRepresentationRepresentationType, TTL$z as RecordRepresentationTTL, RepresentationType$V as RecordRepresentationType, VERSION$1e as RecordRepresentationVersion, keyPrefix as UiApiNamespace, buildRecordRepKeyFromId, getFieldApiNamesArray as coerceFieldIdArray, getObjectApiName$1 as coerceObjectId, getObjectApiNamesArray as coerceObjectIdArray, configurationForRestAdapters as configuration, createContentDocumentAndVersion, createContentVersion, createIngestRecordWithFields, createLDSAdapterWithPrediction, createListInfo, createRecord, createRelatedListAdapterWithPrediction, deleteListInfo, deleteRecord, executeBatchRecordOperations, extractRecordIdFromStoreKey, getActionOverrides, getActionOverrides_imperative, getAllApps, getAllApps_imperative, getAppDetails, getAppDetails_imperative, getDuplicateConfiguration, getDuplicateConfiguration_imperative, getDuplicates, getDuplicates_imperative, getFlexipageFormulaOverrides, getFlexipageFormulaOverrides_imperative, getGlobalActions, getGlobalActions_imperative, getKeywordSearchResults, getKeywordSearchResults_imperative, getLayout, getLayoutUserState, getLayoutUserState_imperative, getLayout_imperative, getListInfoByName, getListInfoByNameAdapterFactory, getListInfoByName_imperative, getListInfosByName, getListInfosByName_imperative, getListInfosByObjectName, getListInfosByObjectNameAdapterFactory, getListInfosByObjectName_imperative, getListObjectInfo, getListObjectInfoAdapterFactory, getListObjectInfo_imperative, getListPreferences, getListPreferences_imperative, getListRecordsByName, factory$a as getListRecordsByNameAdapterFactory, getListRecordsByName_imperative, getListUi, getListUi_imperative, getLookupActions, getLookupActions_imperative, getLookupMetadata, getLookupMetadata_imperative, getLookupRecords, getLookupRecords_imperative, getNavItems, getNavItems_imperative, getObjectCreateActions, getObjectCreateActions_imperative, getObjectInfo, getObjectInfoAdapterFactory, getObjectInfoDirectoryAdapterFactory, getObjectInfo_imperative, getObjectInfos, getObjectInfosAdapterFactory, getObjectInfos_imperative, getPathLayout, getPathLayout_imperative, getPicklistValues, getPicklistValuesByRecordType, getPicklistValuesByRecordType_imperative, getPicklistValues_imperative, getQuickActionDefaults, getQuickActionDefaults_imperative, getQuickActionInfo, getQuickActionInfo_imperative, getQuickActionLayout, getQuickActionLayout_imperative, getRecord, getRecordActions, getRecordActionsAdapterFactory, getRecordActions_imperative, factory$f as getRecordAdapterFactory, getRecordAvatars, getRecordAvatarsAdapterFactory, getRecordAvatars_imperative, getRecordCreateDefaults, getRecordCreateDefaults_imperative, getRecordEditActions, getRecordEditActions_imperative, getRecordId18, getRecordNotifyChange, getRecordTemplateClone, getRecordTemplateClone_imperative, getRecordTemplateCreate, getRecordTemplateCreate_imperative, getRecordUi, getRecordUi_imperative, getRecord_imperative, getRecords, getRecordsAdapterFactory, getRecords_imperative, getRelatedListActions, getRelatedListActions_imperative, getRelatedListCount, getRelatedListCount_imperative, getRelatedListInfo, getRelatedListInfoAdapterFactory, getRelatedListInfoBatch, getRelatedListInfoBatchAdapterFactory, getRelatedListInfoBatch_imperative, getRelatedListInfo_imperative, getRelatedListPreferences, getRelatedListPreferencesBatch, getRelatedListPreferencesBatch_imperative, getRelatedListPreferences_imperative, getRelatedListRecordActions, getRelatedListRecordActions_imperative, getRelatedListRecords, getRelatedListRecordsAdapterFactory, getRelatedListRecordsBatch, getRelatedListRecordsBatchAdapterFactory, getRelatedListRecordsBatch_imperative, getRelatedListRecords_imperative, getRelatedListsActions, getRelatedListsActionsAdapterFactory, getRelatedListsActions_imperative, getRelatedListsCount, getRelatedListsCount_imperative, getRelatedListsInfo, getRelatedListsInfo_imperative, getResponseCacheKeys as getResponseCacheKeysContentDocumentCompositeRepresentation, getSearchFilterMetadata, getSearchFilterMetadata_imperative, getSearchFilterOptions, getSearchFilterOptions_imperative, getSearchResults, getSearchResults_imperative, getTypeCacheKeys$X as getTypeCacheKeysRecord, ingest as ingestContentDocumentCompositeRepresentation, ingest$H as ingestObjectInfo, ingest$B as ingestQuickActionExecutionRepresentation, ingest$O as ingestRecord, instrument, isStoreKeyRecordViewEntity, keyBuilder as keyBuilderContentDocumentCompositeRepresentation, keyBuilderFromType as keyBuilderFromTypeContentDocumentCompositeRepresentation, keyBuilderFromType$D as keyBuilderFromTypeRecordRepresentation, keyBuilder$1Y as keyBuilderObjectInfo, keyBuilder$1R as keyBuilderQuickActionExecutionRepresentation, keyBuilder$29 as keyBuilderRecord, notifyAllListInfoSummaryUpdateAvailable, notifyAllListRecordUpdateAvailable, notifyListInfoSummaryUpdateAvailable, notifyListInfoUpdateAvailable, notifyListRecordCollectionUpdateAvailable, notifyListViewSummaryUpdateAvailable, notifyQuickActionDefaultsUpdateAvailable, notifyRecordUpdateAvailable, performQuickAction, performUpdateRecordQuickAction, refresh, registerPrefetcher, updateLayoutUserState, updateListInfoByName, updateListPreferences, updateRecord, updateRecordAvatar, updateRelatedListInfo, updateRelatedListPreferences };
38450
- // version: 1.320.0-e3e5f3d984
38506
+ export { API_NAMESPACE, InMemoryRecordRepresentationQueryEvaluator, MRU, RepresentationType$J as ObjectInfoDirectoryEntryRepresentationType, RepresentationType$O as ObjectInfoRepresentationType, RECORD_FIELDS_KEY_JUNCTION, RECORD_ID_PREFIX, RECORD_REPRESENTATION_NAME, RECORD_VIEW_ENTITY_ID_PREFIX, RECORD_VIEW_ENTITY_REPRESENTATION_NAME, RepresentationType$V as RecordRepresentationRepresentationType, TTL$z as RecordRepresentationTTL, RepresentationType$V as RecordRepresentationType, VERSION$1e as RecordRepresentationVersion, keyPrefix as UiApiNamespace, buildRecordRepKeyFromId, getFieldApiNamesArray as coerceFieldIdArray, getObjectApiName$1 as coerceObjectId, getObjectApiNamesArray as coerceObjectIdArray, configurationForRestAdapters as configuration, createContentDocumentAndVersion, createContentVersion, createIngestRecordWithFields, createLDSAdapterWithPrediction, createListInfo, createRecord, createRelatedListAdapterWithPrediction, deleteListInfo, deleteRecord, executeBatchRecordOperations, extractRecordIdFromStoreKey, getActionOverrides, getActionOverrides_imperative, getAllApps, getAllApps_imperative, getAppDetails, getAppDetails_imperative, getDuplicateConfiguration, getDuplicateConfiguration_imperative, getDuplicates, getDuplicates_imperative, getFlexipageFormulaOverrides, getFlexipageFormulaOverrides_imperative, getGlobalActions, getGlobalActions_imperative, getKeywordSearchResults, getKeywordSearchResults_imperative, getLayout, getLayoutUserState, getLayoutUserState_imperative, getLayout_imperative, getListInfoByName, getListInfoByNameAdapterFactory, getListInfoByName_imperative, getListInfosByName, getListInfosByName_imperative, getListInfosByObjectName, getListInfosByObjectNameAdapterFactory, getListInfosByObjectName_imperative, getListObjectInfo, getListObjectInfoAdapterFactory, getListObjectInfo_imperative, getListPreferences, getListPreferences_imperative, getListRecordsByName, factory$a as getListRecordsByNameAdapterFactory, getListRecordsByName_imperative, getListUi, getListUi_imperative, getLookupActions, getLookupActions_imperative, getLookupMetadata, getLookupMetadata_imperative, getLookupRecords, getLookupRecords_imperative, getNavItems, getNavItems_imperative, getObjectCreateActions, getObjectCreateActions_imperative, getObjectInfo, getObjectInfoAdapterFactory, getObjectInfoDirectoryAdapterFactory, getObjectInfo_imperative, getObjectInfos, getObjectInfosAdapterFactory, getObjectInfos_imperative, getPathLayout, getPathLayout_imperative, getPicklistValues, getPicklistValuesByRecordType, getPicklistValuesByRecordType_imperative, getPicklistValues_imperative, getQuickActionDefaults, getQuickActionDefaults_imperative, getQuickActionInfo, getQuickActionInfo_imperative, getQuickActionLayout, getQuickActionLayout_imperative, getRecord, getRecordActions, getRecordActionsAdapterFactory, getRecordActions_imperative, factory$f as getRecordAdapterFactory, getRecordAvatars, getRecordAvatarsAdapterFactory, getRecordAvatars_imperative, getRecordCreateDefaults, getRecordCreateDefaults_imperative, getRecordEditActions, getRecordEditActions_imperative, getRecordId18, getRecordNotifyChange, getRecordTemplateClone, getRecordTemplateClone_imperative, getRecordTemplateCreate, getRecordTemplateCreate_imperative, getRecordUi, getRecordUi_imperative, getRecord_imperative, getRecords, getRecordsAdapterFactory, getRecords_imperative, getRelatedListActions, getRelatedListActions_imperative, getRelatedListCount, getRelatedListCount_imperative, getRelatedListInfo, getRelatedListInfoAdapterFactory, getRelatedListInfoBatch, getRelatedListInfoBatchAdapterFactory, getRelatedListInfoBatch_imperative, getRelatedListInfo_imperative, getRelatedListPreferences, getRelatedListPreferencesBatch, getRelatedListPreferencesBatch_imperative, getRelatedListPreferences_imperative, getRelatedListRecordActions, getRelatedListRecordActions_imperative, getRelatedListRecords, getRelatedListRecordsAdapterFactory, getRelatedListRecordsBatch, getRelatedListRecordsBatchAdapterFactory, getRelatedListRecordsBatch_imperative, getRelatedListRecords_imperative, getRelatedListsActions, getRelatedListsActionsAdapterFactory, getRelatedListsActions_imperative, getRelatedListsCount, getRelatedListsCount_imperative, getRelatedListsInfo, getRelatedListsInfo_imperative, getResponseCacheKeys as getResponseCacheKeysContentDocumentCompositeRepresentation, getSearchFilterMetadata, getSearchFilterMetadata_imperative, getSearchFilterOptions, getSearchFilterOptions_imperative, getSearchResults, getSearchResults_imperative, getTypeCacheKeys$X as getTypeCacheKeysRecord, ingest as ingestContentDocumentCompositeRepresentation, ingest$H as ingestObjectInfo, ingest$B as ingestQuickActionExecutionRepresentation, ingest$O as ingestRecord, instrument, isStoreKeyRecordViewEntity, isSupportedEntity, keyBuilder as keyBuilderContentDocumentCompositeRepresentation, keyBuilderFromType as keyBuilderFromTypeContentDocumentCompositeRepresentation, keyBuilderFromType$D as keyBuilderFromTypeRecordRepresentation, keyBuilder$1Y as keyBuilderObjectInfo, keyBuilder$1R as keyBuilderQuickActionExecutionRepresentation, keyBuilder$29 as keyBuilderRecord, notifyAllListInfoSummaryUpdateAvailable, notifyAllListRecordUpdateAvailable, notifyListInfoSummaryUpdateAvailable, notifyListInfoUpdateAvailable, notifyListRecordCollectionUpdateAvailable, notifyListViewSummaryUpdateAvailable, notifyQuickActionDefaultsUpdateAvailable, notifyRecordUpdateAvailable, performQuickAction, performUpdateRecordQuickAction, refresh, registerPrefetcher, updateLayoutUserState, updateListInfoByName, updateListPreferences, updateRecord, updateRecordAvatar, updateRelatedListInfo, updateRelatedListPreferences };
38507
+ // version: 1.322.0-87f682c9f3
@@ -95,7 +95,7 @@ var TypeCheckShapes;
95
95
  TypeCheckShapes[TypeCheckShapes["Integer"] = 3] = "Integer";
96
96
  TypeCheckShapes[TypeCheckShapes["Unsupported"] = 4] = "Unsupported";
97
97
  })(TypeCheckShapes || (TypeCheckShapes = {}));
98
- // engine version: 0.156.4-a259372b
98
+ // engine version: 0.156.5-f5fd8c7a
99
99
 
100
100
  const { keys: ObjectKeys, create: ObjectCreate } = Object;
101
101
 
package/src/raml/api.raml CHANGED
@@ -3649,7 +3649,7 @@ types:
3649
3649
  properties:
3650
3650
  id:
3651
3651
  description: Layout ID.
3652
- type: string
3652
+ type: string | nil # TODO: hand rolled
3653
3653
  sectionUserStates:
3654
3654
  description: Section user states, keyed on section ID.
3655
3655
  type: object