@salesforce/lds-runtime-mobile 1.401.0 → 1.403.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.
package/dist/main.js CHANGED
@@ -17,14 +17,15 @@
17
17
  */
18
18
  import { withRegistration, register } from '@salesforce/lds-default-luvio';
19
19
  import { setupInstrumentation, instrumentAdapter as instrumentAdapter$1, instrumentLuvio, setLdsAdaptersUiapiInstrumentation, setLdsNetworkAdapterInstrumentation } from '@salesforce/lds-instrumentation';
20
- import { HttpStatusCode as HttpStatusCode$1, setBypassDeepFreeze, StoreKeySet, serializeStructuredKey, StringKeyInMemoryStore, Reader, deepFreeze, emitAdapterEvent, ingestShape, coerceConfig as coerceConfig$1, typeCheckConfig as typeCheckConfig$h, createResourceParams as createResourceParams$h, StoreKeyMap, buildNetworkSnapshotCachePolicy as buildNetworkSnapshotCachePolicy$f, resolveLink, createCustomAdapterEventEmitter, isFileReference, Environment, Luvio, InMemoryStore } from '@luvio/engine';
20
+ import { HttpStatusCode as HttpStatusCode$1, setBypassDeepFreeze, StoreKeySet, serializeStructuredKey, StringKeyInMemoryStore, Reader, deepFreeze as deepFreeze$1, emitAdapterEvent, ingestShape, coerceConfig as coerceConfig$1, typeCheckConfig as typeCheckConfig$h, createResourceParams as createResourceParams$h, StoreKeyMap, buildNetworkSnapshotCachePolicy as buildNetworkSnapshotCachePolicy$f, resolveLink, createCustomAdapterEventEmitter, isFileReference, Environment, Luvio, InMemoryStore } from '@luvio/engine';
21
21
  import { isSupportedEntity, configuration, getObjectInfoAdapterFactory, RECORD_ID_PREFIX, RECORD_FIELDS_KEY_JUNCTION, isStoreKeyRecordViewEntity, extractRecordIdFromStoreKey, buildRecordRepKeyFromId, keyBuilderRecord, RecordRepresentationTTL, keyBuilderQuickActionExecutionRepresentation, ingestQuickActionExecutionRepresentation, getRecordId18 as getRecordId18$1, getRecordsAdapterFactory as getRecordsAdapterFactory$1, RecordRepresentationRepresentationType, ObjectInfoRepresentationType, getObjectInfosAdapterFactory, getObjectInfoDirectoryAdapterFactory, UiApiNamespace, RecordRepresentationType, RecordRepresentationVersion } from '@salesforce/lds-adapters-uiapi';
22
+ import allowUpdatesForNonCachedRecords from '@salesforce/gate/lmr.allowUpdatesForNonCachedRecords';
22
23
  import { getInstrumentation, idleDetector } from 'o11y/client';
24
+ import caseSensitiveUserId from '@salesforce/user/Id';
23
25
  import { Kind as Kind$2, visit as visit$2, isObjectType, defaultFieldResolver, buildSchema, parse as parse$8, extendSchema, isScalarType, execute, print as print$1 } from '@luvio/graphql-parser';
24
26
  import FIRST_DAY_OF_WEEK from '@salesforce/i18n/firstDayOfWeek';
25
27
  import graphqQueryFieldLimit from '@salesforce/gate/lmr.graphqQueryFieldLimit';
26
28
  import graphqlPartialEmitParity from '@salesforce/gate/lmr.graphqlPartialEmitParity';
27
- import caseSensitiveUserId from '@salesforce/user/Id';
28
29
  import { instrument as instrument$1 } from '@salesforce/lds-bindings';
29
30
  import ldsAdapterO11yLoggingGate from '@salesforce/gate/lmr.ldsAdapterO11yLogging';
30
31
  import LOCALE from '@salesforce/i18n/locale';
@@ -616,7 +617,7 @@ function publishDurableStoreEntries(durableRecords, put, publishMetadata) {
616
617
  }
617
618
  if (isStoreEntryError(data)) {
618
619
  // freeze errors on way into L1
619
- deepFreeze(data.error);
620
+ deepFreeze$1(data.error);
620
621
  }
621
622
  put(key, data);
622
623
  revivedKeys.add(key);
@@ -6611,6 +6612,20 @@ function equals$k(existing, incoming) {
6611
6612
  }
6612
6613
  return true;
6613
6614
  }
6615
+ const notifyUpdateAvailableFactory = (luvio) => {
6616
+ return function notifyRecordUpdateAvailable(configs) {
6617
+ if (process.env.NODE_ENV !== 'production') {
6618
+ const requiredKeyParams = ['recordId'];
6619
+ configs.forEach((config) => {
6620
+ if (false === requiredKeyParams.every((req) => req in config)) {
6621
+ throw new Error(`one of the configs did not contain all required parameters: ${JSONStringify(ObjectKeys(config))}`);
6622
+ }
6623
+ });
6624
+ }
6625
+ const keys = configs.map((c) => keyBuilder$1N(luvio, c));
6626
+ return luvio.notifyStoreUpdateAvailable(keys);
6627
+ };
6628
+ };
6614
6629
 
6615
6630
  /**
6616
6631
  * The master record type id.
@@ -7595,7 +7610,7 @@ function ingestSuccessChildResourceParams$2(luvio, childResourceParamsArray, chi
7595
7610
  const childSnapshotData = {
7596
7611
  results: childSnapshotDataResponses,
7597
7612
  };
7598
- deepFreeze(childSnapshotData);
7613
+ deepFreeze$1(childSnapshotData);
7599
7614
  return {
7600
7615
  childSnapshotData,
7601
7616
  seenRecords,
@@ -7714,7 +7729,7 @@ function selectChildResourceParams$2(luvio, childResources, resourceParams) {
7714
7729
  reader.exitPath();
7715
7730
  }
7716
7731
  reader.assignNonScalar(sink, envelopePath, results);
7717
- deepFreeze(sink);
7732
+ deepFreeze$1(sink);
7718
7733
  reader.exitPath();
7719
7734
  return sink;
7720
7735
  },
@@ -10647,7 +10662,7 @@ function ingestSuccess$6(luvio, resourceParams, response, snapshotRefresh) {
10647
10662
  throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
10648
10663
  }
10649
10664
  }
10650
- deepFreeze(snapshot.data);
10665
+ deepFreeze$1(snapshot.data);
10651
10666
  return snapshot;
10652
10667
  }
10653
10668
  function ingestError$8(luvio, params, error, snapshotRefresh) {
@@ -17954,7 +17969,7 @@ function ingestSuccessChildResourceParams$1(luvio, childResourceParamsArray, chi
17954
17969
  statusCode: 200,
17955
17970
  result: childSnapshot.data,
17956
17971
  };
17957
- deepFreeze(childValue);
17972
+ deepFreeze$1(childValue);
17958
17973
  ArrayPrototypePush.call(childSnapshotDataResponses, childValue);
17959
17974
  }
17960
17975
  else {
@@ -17973,7 +17988,7 @@ function ingestSuccessChildResourceParams$1(luvio, childResourceParamsArray, chi
17973
17988
  statusCode: childStatusCode,
17974
17989
  result: childBody,
17975
17990
  };
17976
- deepFreeze(childValue);
17991
+ deepFreeze$1(childValue);
17977
17992
  ArrayPrototypePush.call(childSnapshotDataResponses, childValue);
17978
17993
  }
17979
17994
  // track non-cached responses so rebuilds work properly
@@ -17991,7 +18006,7 @@ function ingestSuccessChildResourceParams$1(luvio, childResourceParamsArray, chi
17991
18006
  const childSnapshotData = {
17992
18007
  results: childSnapshotDataResponses,
17993
18008
  };
17994
- deepFreeze(childSnapshotData);
18009
+ deepFreeze$1(childSnapshotData);
17995
18010
  return { childSnapshotData: childSnapshotData, seenRecords, snapshotState };
17996
18011
  }
17997
18012
  function ingestSuccess$4(luvio, resourceParams, response, snapshotRefresh) {
@@ -19592,7 +19607,7 @@ function ingestSuccess$3(luvio, resourceParams, response, snapshotRefresh) {
19592
19607
  throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
19593
19608
  }
19594
19609
  }
19595
- deepFreeze(snapshot.data);
19610
+ deepFreeze$1(snapshot.data);
19596
19611
  return snapshot;
19597
19612
  }
19598
19613
  function ingestError$4(luvio, params, error, snapshotRefresh) {
@@ -19916,7 +19931,7 @@ function ingestSuccess$2(luvio, resourceParams, response, snapshotRefresh) {
19916
19931
  throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
19917
19932
  }
19918
19933
  }
19919
- deepFreeze(snapshot.data);
19934
+ deepFreeze$1(snapshot.data);
19920
19935
  return snapshot;
19921
19936
  }
19922
19937
  function ingestError$3(luvio, params, error, snapshotRefresh) {
@@ -20618,7 +20633,7 @@ function buildNetworkSnapshot$5(luvio, config, options) {
20618
20633
  .map((targetApiName) => body.lookupResults[targetApiName].records)
20619
20634
  .reduce((allRecords, records) => allRecords.concat(records), [])
20620
20635
  .forEach((record) => removeEtags(record));
20621
- deepFreeze(body);
20636
+ deepFreeze$1(body);
20622
20637
  return Promise.resolve({
20623
20638
  state: 'Fulfilled',
20624
20639
  recordId: key,
@@ -40405,7 +40420,7 @@ function ingestTypeWithStrategy(astNode, state, isCursorConnectionType, { key, i
40405
40420
  const fieldKey = getSerializedKeyForField(requestedField, variables, fieldType);
40406
40421
  if (fieldType === undefined) {
40407
40422
  console.warn(`Unknown Field: ${requestedField}. This field or nested fields cannot participate in normalization`);
40408
- deepFreeze(fieldData);
40423
+ deepFreeze$1(fieldData);
40409
40424
  sink[fieldKey] = fieldData;
40410
40425
  continue;
40411
40426
  }
@@ -41268,7 +41283,7 @@ function selectTypeLinkWithPagination(resolvedLink, sel, fieldData, reader, key,
41268
41283
  }
41269
41284
  }
41270
41285
  }
41271
- deepFreeze(trimmedEdges);
41286
+ deepFreeze$1(trimmedEdges);
41272
41287
  const paginatedData = {
41273
41288
  data: {
41274
41289
  ...source,
@@ -42302,15 +42317,21 @@ class UiApiActionHandler extends AbstractResourceRequestActionHandler {
42302
42317
  // allowed us to get a record with the fields we have cached (i.e. would never go to the network)
42303
42318
  const doesRecordExist = await this.durableRecordStore.exists(tag);
42304
42319
  if (!doesRecordExist) {
42305
- // we are trying to patch or delete a record that we don't have cached. This is not supported.
42306
- // we'll do one last ditch effort to fetch the record with just the Id field in case we're online.
42307
- // Note this scenario is unlikely outside test and manual test environments
42308
- const record = await getAdapterData(this.getRecordAdapter, {
42309
- recordId: targetId,
42310
- optionalFields: [`${targetApiName}.Id`],
42311
- });
42312
- if (record === undefined) {
42313
- throw Error('Cannot apply a draft to a record that is not cached');
42320
+ if (!allowUpdatesForNonCachedRecords.isOpen({ fallback: false })) {
42321
+ // we are trying to patch or delete a record that we don't have cached. This is not supported.
42322
+ // we'll do one last ditch effort to fetch the record with just the Id field in case we're online.
42323
+ // Note this scenario is unlikely outside test and manual test environments
42324
+ const record = await getAdapterData(this.getRecordAdapter, {
42325
+ recordId: targetId,
42326
+ optionalFields: [`${targetApiName}.Id`],
42327
+ });
42328
+ if (record === undefined) {
42329
+ throw Error('Cannot apply a draft to a record that is not cached');
42330
+ }
42331
+ }
42332
+ else if (resolvedRequest.method !== 'patch') {
42333
+ // the allowUpdatesForNonCachedRecords gate is open but a patch is not being attempted. This is not supported.
42334
+ throw Error('Can only perform patch on a record that is not cached');
42314
42335
  }
42315
42336
  }
42316
42337
  }
@@ -43650,8 +43671,8 @@ function createRecordDraftAdapterFactory(actionHandler, durableRecordStore) {
43650
43671
  * @param actionHandler The UIAPI Record action handler. NOTE: this adapter doesn't
43651
43672
  * register it with the DraftQueue, runtime should set that up
43652
43673
  */
43653
- function updateRecordDraftAdapterFactory(actionHandler, durableRecordStore) {
43654
- return async function createRecordDraftAdapter(config, createResourceRequest) {
43674
+ function updateRecordDraftAdapterFactory(actionHandler, durableRecordStore, objectInfoService) {
43675
+ return async function updateRecordDraftAdapter(config, createResourceRequest) {
43655
43676
  const request = createResourceRequest(config);
43656
43677
  if (actionHandler.hasIdempotencySupport()) {
43657
43678
  request.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
@@ -43665,6 +43686,38 @@ function updateRecordDraftAdapterFactory(actionHandler, durableRecordStore) {
43665
43686
  if (!record) {
43666
43687
  record = await durableRecordStore.getRedirectedRecord(action.tag);
43667
43688
  }
43689
+ if (record === undefined && allowUpdatesForNonCachedRecords.isOpen({ fallback: false })) {
43690
+ // Fabricate synthetic record for non-cached update.
43691
+ let apiName = config.apiName;
43692
+ if (!apiName) {
43693
+ // try to determine the apiName from the record id prefix
43694
+ try {
43695
+ apiName = await objectInfoService.apiNameForPrefix(config.recordId.substring(0, 3));
43696
+ }
43697
+ catch (error) {
43698
+ throw transformErrorToDraftSynthesisError(new Error(`Cannot determine apiName for record ${config.recordId}: ${error}`));
43699
+ }
43700
+ }
43701
+ const recordFields = Object.entries(config.fields || {}).reduce((acc, [key, value]) => {
43702
+ acc[key] = { value, displayValue: null };
43703
+ return acc;
43704
+ }, {});
43705
+ const currentTimestamp = new Date().toISOString();
43706
+ // fabricate the record
43707
+ record = {
43708
+ id: config.recordId,
43709
+ apiName: apiName,
43710
+ fields: recordFields,
43711
+ systemModstamp: currentTimestamp,
43712
+ lastModifiedDate: currentTimestamp,
43713
+ lastModifiedById: caseSensitiveUserId,
43714
+ recordTypeId: null,
43715
+ recordTypeInfo: null,
43716
+ weakEtag: 0,
43717
+ eTag: '',
43718
+ childRelationships: {},
43719
+ };
43720
+ }
43668
43721
  if (record) {
43669
43722
  return {
43670
43723
  state: 'Fulfilled',
@@ -43704,7 +43757,7 @@ function performQuickActionDraftAdapterFactory(actionHandler, userId) {
43704
43757
  const request = createResourceRequest(config);
43705
43758
  const action = await actionHandler.enqueue(request).catch((err) => {
43706
43759
  const error = transformErrorToDraftSynthesisError(err);
43707
- deepFreeze(error);
43760
+ deepFreeze$1(error);
43708
43761
  throw error;
43709
43762
  });
43710
43763
  let contextId = action.data.body.contextId;
@@ -43740,7 +43793,7 @@ function performUpdateRecordQuickActionDraftAdapterFactory(actionHandler, userId
43740
43793
  const request = createResourceRequest(config);
43741
43794
  const action = await actionHandler.enqueue(request).catch((err) => {
43742
43795
  const error = transformErrorToDraftSynthesisError(err);
43743
- deepFreeze(error);
43796
+ deepFreeze$1(error);
43744
43797
  throw error;
43745
43798
  });
43746
43799
  let contextId = action.data.body.contextId;
@@ -47325,6 +47378,11 @@ function passThroughResolver(source) {
47325
47378
  function addResolversToSchema(schema, polyFields) {
47326
47379
  // Polymorphic field type is 'recordInterface'
47327
47380
  let recordInterface = undefined;
47381
+ // UIAPI ObjectInfo.fields uses the 'Field' interface with concrete implementations.
47382
+ // We need to resolve the concrete type at runtime when returning snapshot data.
47383
+ let fieldInterface = undefined;
47384
+ let picklistFieldType = undefined;
47385
+ let standardFieldType = undefined;
47328
47386
  let baseRecord = undefined;
47329
47387
  // Concrete types for Polymorphic field
47330
47388
  const polyTypes = [];
@@ -47332,6 +47390,9 @@ function addResolversToSchema(schema, polyFields) {
47332
47390
  if (type.name === 'Record') {
47333
47391
  recordInterface = type;
47334
47392
  }
47393
+ else if (type.name === 'Field') {
47394
+ fieldInterface = type;
47395
+ }
47335
47396
  else if (type.name === 'RecordRepresentation') {
47336
47397
  baseRecord = type;
47337
47398
  }
@@ -47341,6 +47402,13 @@ function addResolversToSchema(schema, polyFields) {
47341
47402
  if (polyFields.find((fieldTypeName) => fieldTypeName === type.name) !== undefined) {
47342
47403
  polyTypes.push(type);
47343
47404
  }
47405
+ // Cache concrete 'Field' implementors for resolveType below
47406
+ if (type.name === 'PicklistField') {
47407
+ picklistFieldType = type;
47408
+ }
47409
+ else if (type.name === 'StandardField') {
47410
+ standardFieldType = type;
47411
+ }
47344
47412
  const fields = values$1(type.getFields());
47345
47413
  // initialize the fields of current type with default behavior
47346
47414
  for (const field of fields) {
@@ -47578,6 +47646,20 @@ function addResolversToSchema(schema, polyFields) {
47578
47646
  return targetType === undefined ? baseRecord : targetType;
47579
47647
  };
47580
47648
  }
47649
+ // Resolve concrete UIAPI Field types when ObjectInfo.fields is read from a snapshot without __typename
47650
+ if (fieldInterface !== undefined &&
47651
+ (picklistFieldType !== undefined || standardFieldType !== undefined)) {
47652
+ fieldInterface.resolveType = function (value) {
47653
+ // Prefer explicit picklist discriminator if present
47654
+ const dataType = value && value.dataType;
47655
+ const isPicklistDataType = dataType === 'PICKLIST' || dataType === 'MULTIPICKLIST';
47656
+ const hasPicklistValues = value && value.picklistValuesByRecordTypeIDs !== undefined;
47657
+ if ((isPicklistDataType || hasPicklistValues) && picklistFieldType) {
47658
+ return picklistFieldType;
47659
+ }
47660
+ return standardFieldType ?? null;
47661
+ };
47662
+ }
47581
47663
  return schema;
47582
47664
  }
47583
47665
  /**
@@ -47618,7 +47700,7 @@ function isRecordType(type) {
47618
47700
  return Boolean(interfaces.find((iface) => iface.name === 'Record'));
47619
47701
  }
47620
47702
 
47621
- var uiapiSchemaString = "scalar String\nscalar DateTime\nscalar Currency\nscalar ID\nscalar Boolean\nscalar Longitude\nscalar Float\nscalar MultiPicklist\nscalar Base64\nscalar Url\nscalar PhoneNumber\nscalar Email\nscalar TextArea\nscalar Latitude\nscalar Picklist\nscalar RichTextArea\nscalar EncryptedString\nscalar Double\nscalar Long\nscalar JSON\nscalar Time\nscalar Int\nscalar Percent\nscalar LongTextArea\nscalar IdOrRef\nscalar Date\ntype PercentAggregate implements FieldValue {\n value: Percent\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: PercentValue\n min: PercentValue\n sum: PercentValue\n}\n\ntype StringAggregate implements FieldValue {\n value: String\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: StringValue\n min: StringValue\n}\n\ntype Query {\n uiapi: UIAPI!\n analytics: Analytics__Analytics! @fieldCategory\n setup: Setup__Setup! @fieldCategory\n}\n\ninput EmailOperators {\n eq: Email\n ne: Email\n like: Email\n lt: Email\n gt: Email\n lte: Email\n gte: Email\n in: [Email]\n nin: [Email]\n}\n\ninput PolymorphicParentRelationshipRecordOrderBy @generic {\n RecordOrderBy: RecordOrderBy @fieldCategory\n}\n\ninput DoubleOperators {\n eq: Double\n ne: Double\n lt: Double\n gt: Double\n lte: Double\n gte: Double\n in: [Double]\n nin: [Double]\n}\n\ntype DateOnlyAggregation {\n value: Date\n format: String\n}\n\ntype RecordCreatePayload @generic {\n Record: RecordRepresentation\n}\n\ntype DateAggregate implements FieldValue {\n value: Date\n displayValue: String\n calendarMonth: DateFunctionAggregation\n calendarQuarter: DateFunctionAggregation\n calendarYear: DateFunctionAggregation\n count: LongValue\n countDistinct: LongValue\n dayInMonth: DateFunctionAggregation\n dayInWeek: DateFunctionAggregation\n dayInYear: DateFunctionAggregation\n fiscalMonth: DateFunctionAggregation\n fiscalQuarter: DateFunctionAggregation\n fiscalYear: DateFunctionAggregation\n format: String\n grouping: IntValue\n max: DateValue\n min: DateValue\n weekInMonth: DateFunctionAggregation\n weekInYear: DateFunctionAggregation\n}\n\ninput PolymorphicParentRelationshipGroupBy @generic {\n RecordGroupBy: RecordGroupBy @fieldCategory\n}\n\nenum GroupByFunction {\n DAY_IN_WEEK\n DAY_IN_MONTH\n DAY_IN_YEAR\n WEEK_IN_MONTH\n WEEK_IN_YEAR\n CALENDAR_MONTH\n CALENDAR_QUARTER\n CALENDAR_YEAR\n FISCAL_MONTH\n FISCAL_QUARTER\n FISCAL_YEAR\n DAY_ONLY\n HOUR_IN_DAY\n}\n\ntype RecordTypeInfo {\n available: Boolean!\n defaultRecordTypeMapping: Boolean!\n master: Boolean!\n name: String\n recordTypeId: ID\n}\n\ninput UIAPIMutationsInput {\n allOrNone: Boolean = true\n}\n\ntype BooleanValue implements FieldValue {\n value: Boolean\n displayValue: String\n}\n\ntype ReferenceToInfo {\n ApiName: String!\n nameFields: [String]!\n objectInfo: ObjectInfo\n}\n\ninterface FieldValue {\n displayValue: String\n}\n\ntype LongitudeValue implements FieldValue {\n value: Longitude\n displayValue: String\n}\n\ntype StringValue implements FieldValue {\n value: String\n displayValue: String\n label: String\n}\n\ntype IntValue implements FieldValue {\n value: Int\n displayValue: String\n format: String\n}\n\ntype UrlValue implements FieldValue {\n value: Url\n displayValue: String\n}\n\ninput IdOperators {\n eq: ID\n ne: ID\n lt: ID\n gt: ID\n lte: ID\n gte: ID\n in: [ID]\n nin: [ID]\n inq: JoinInput\n ninq: JoinInput\n}\n\ninput Setup__SetupOrderBy @generic {\n orderableField: OrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: Setup__SetupOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipRecordOrderBy @fieldCategory\n}\n\ntype LongAggregate implements FieldValue {\n value: Long\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n grouping: IntValue\n max: LongValue\n min: LongValue\n sum: LongValue\n}\n\ntype PhoneNumberAggregate implements FieldValue {\n value: PhoneNumber\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: PhoneNumberValue\n min: PhoneNumberValue\n}\n\ninput TimeOperators {\n eq: Time\n ne: Time\n lt: Time\n gt: Time\n lte: Time\n gte: Time\n in: [Time]\n nin: [Time]\n}\n\ntype PicklistValue implements FieldValue {\n value: Picklist\n displayValue: String\n label: String\n}\n\ntype CurrencyAggregate implements FieldValue {\n value: Currency\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: CurrencyValue\n min: CurrencyValue\n sum: CurrencyValue\n}\n\ntype RelatedListInfo {\n childApiName: String!\n relatedListName: String!\n label: String!\n displayColumns: [ListColumn!]!\n orderedByInfo: [ListOrder!]!\n parentApiName: String!\n fieldApiName: String!\n}\n\ninput StringOperators {\n eq: String\n ne: String\n like: String\n lt: String\n gt: String\n lte: String\n gte: String\n in: [String]\n nin: [String]\n}\n\ntype UIAPI {\n query: RecordQuery!\n aggregate: RecordQueryAggregate!\n objectInfos(apiNames: [String], locale: String): [ObjectInfo]\n relatedListByName(parentApiName: String!, relatedListName: String!): RelatedListInfo\n}\n\ninput MultiPicklistOperators {\n eq: MultiPicklist\n ne: MultiPicklist\n includes: [MultiPicklist]\n excludes: [MultiPicklist]\n}\n\ntype DateTimeAggregate implements FieldValue {\n value: DateTime\n displayValue: String\n calendarMonth: DateFunctionAggregation\n calendarQuarter: DateFunctionAggregation\n calendarYear: DateFunctionAggregation\n count: LongValue\n countDistinct: LongValue\n dayInMonth: DateFunctionAggregation\n dayInWeek: DateFunctionAggregation\n dayInYear: DateFunctionAggregation\n dayOnly: DateOnlyAggregation\n fiscalMonth: DateFunctionAggregation\n fiscalQuarter: DateFunctionAggregation\n fiscalYear: DateFunctionAggregation\n format: String\n hourInDay: DateFunctionAggregation\n max: DateTimeValue\n min: DateTimeValue\n weekInMonth: DateFunctionAggregation\n weekInYear: DateFunctionAggregation\n}\n\ninput BooleanOperators {\n eq: Boolean\n ne: Boolean\n}\n\ntype EmailAggregate implements FieldValue {\n value: Email\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: EmailValue\n min: EmailValue\n}\n\n#enum OrderByType {\n#}\n\ninput GroupByDateFunction {\n function: GroupByFunction\n}\n\ntype RichTextAreaValue implements FieldValue {\n value: RichTextArea\n displayValue: String\n}\n\ntype MultiPicklistValue implements FieldValue {\n value: MultiPicklist\n displayValue: String\n label: String\n}\n\ntype Setup__SetupEdge @generic {\n node: Setup__EntityRepresentation\n cursor: String!\n}\n\ninput DatePrimitiveOperators {\n eq: Date\n ne: Date\n lt: Date\n gt: Date\n lte: Date\n gte: Date\n in: [Date]\n nin: [Date]\n}\n\ntype TimeAggregate implements FieldValue {\n value: Time\n displayValue: String\n format: String\n hourInDay: DateFunctionAggregation\n}\n\ntype __Type {\n kind: __TypeKind!\n name: String\n description: String\n fields(includeDeprecated: Boolean = false): [__Field!]\n interfaces: [__Type!]\n possibleTypes: [__Type!]\n enumValues(includeDeprecated: Boolean = false): [__EnumValue!]\n inputFields: [__InputValue!]\n ofType: __Type\n}\n\ntype ListColumn {\n fieldApiName: String!\n label: String!\n lookupId: String\n sortable: Boolean\n}\n\ntype Setup__SetupQuery {\n # scope should be RecordScope, but it is an empty enum\n recordQuery(after: String, first: Int, orderBy: Setup__SetupOrderBy, scope: String @fieldCategory, upperBound: Int, where: Setup__SetupFilter): Setup__SetupConnection @fieldCategory\n}\n\ntype Setup__SetupQueryAggregate {\n recordQueryAggregate(after: String, first: Int, groupBy: Setup__SetupGroupBy, orderBy: Setup__SetupAggregateOrderBy, scope: String @fieldCategory, upperBound: Int, where: Setup__SetupFilter): Setup__SetupAggregateConnection @fieldCategory\n}\n\ntype Setup__SetupRecordAggregate @generic {\n ApiName: String!\n BooleanAggregate: BooleanAggregate @fieldCategory\n CurrencyAggregate: CurrencyAggregate @fieldCategory\n DateAggregate: DateAggregate @fieldCategory\n DoubleAggregate: DoubleAggregate @fieldCategory\n EmailAggregate: EmailAggregate @fieldCategory\n IDAggregate: IDAggregate @fieldCategory\n IntAggregate: IntAggregate @fieldCategory\n LatitudeAggregate: LatitudeAggregate @fieldCategory\n LongAggregate: LongAggregate @fieldCategory\n LongitudeAggregate: LongitudeAggregate @fieldCategory\n PercentAggregate: PercentAggregate @fieldCategory\n PhoneNumberAggregate: PhoneNumberAggregate @fieldCategory\n PicklistAggregate: PicklistAggregate @fieldCategory\n StringAggregate: StringAggregate @fieldCategory\n TextAreaAggregate: TextAreaAggregate @fieldCategory\n TimeAggregate: TimeAggregate @fieldCategory\n UrlAggregate: UrlAggregate @fieldCategory\n parentRelationship: Setup__SetupRecordAggregate @fieldCategory\n polymorphicParentRelationship: Setup__SetupPolymorphicAggregateParentRelationship @fieldCategory\n}\n\ntype Setup__SetupRecordResult @generic {\n aggregate: Setup__SetupRecordAggregate\n}\n\ntype SObject__Field {\n name: String!\n value: String\n}\n\nenum SObject__FieldType {\n ALL\n CUSTOM\n STANDARD\n}\n\ntype Setup__EntityRepresentation @generic {\n Id: ID!\n ApiName: String!\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n Entity__fields(type: SObject__FieldType): [SObject__Field]!\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n parentRelationship: Setup__EntityRepresentation @fieldCategory\n polymorphicParentRelationship: Setup__SetupPolymorphicParentRelationship @fieldCategory\n childRelationship(first: Int, after: String, where: Setup__SetupFilter, orderBy: Setup__SetupOrderBy, upperBound: Int): Setup__SetupConnection @fieldCategory\n CompoundField: CompoundField @fieldCategory\n AnyType: AnyType @fieldCategory\n}\n\ntype LatitudeAggregate implements FieldValue {\n value: Latitude\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n max: LatitudeValue\n min: LatitudeValue\n sum: DoubleValue\n}\n\ninput CurrencyOperators {\n eq: Currency\n ne: Currency\n lt: Currency\n gt: Currency\n lte: Currency\n gte: Currency\n in: [Currency]\n nin: [Currency]\n}\n\ninput DistanceInput {\n latitude: Latitude!\n longitude: Longitude!\n}\n\nunion PolymorphicAggregateParentRelationship @generic = RecordAggregate\n\nunion PolymorphicParentRelationship @generic = RecordRepresentation\n\nenum AggregateOrderByNumberFunction {\n AVG\n COUNT\n COUNT_DISTINCT\n MAX\n MIN\n SUM\n}\n\ntype LongTextAreaValue implements FieldValue {\n value: LongTextArea\n displayValue: String\n}\n\ntype LatitudeValue implements FieldValue {\n value: Latitude\n displayValue: String\n}\n\ninput OrderByClause {\n order: ResultOrder\n nulls: NullOrder\n}\n\ninput GroupByClause {\n group: Boolean\n}\n\ntype RecordAggregateConnection @generic {\n edges: [RecordAggregateEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ntype LongitudeAggregate implements FieldValue {\n value: Longitude\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n max: LongitudeValue\n min: LongitudeValue\n sum: DoubleValue\n}\n\ntype RecordEdge @generic {\n node: RecordRepresentation\n cursor: String!\n}\n\nunion Setup__SetupPolymorphicParentRelationship @generic = Setup__EntityRepresentation\n\ntype DateValue implements FieldValue {\n value: Date\n displayValue: String\n format: String\n}\n\ninput URLOperators {\n eq: Url\n ne: Url\n like: Url\n lt: Url\n gt: Url\n lte: Url\n gte: Url\n in: [Url]\n nin: [Url]\n}\n\ninput LongOperators {\n eq: Long\n ne: Long\n lt: Long\n gt: Long\n lte: Long\n gte: Long\n in: [Long]\n nin: [Long]\n}\n\nenum DataType {\n STRING\n TEXTAREA\n PHONE\n EMAIL\n URL\n ENCRYPTEDSTRING\n BOOLEAN\n CURRENCY\n INT\n LONG\n DOUBLE\n PERCENT\n DATETIME\n TIME\n DATE\n REFERENCE\n PICKLIST\n MULTIPICKLIST\n ADDRESS\n LOCATION\n BASE64\n COMPLEXVALUE\n COMBOBOX\n JSON\n JUNCTIONIDLIST\n ANYTYPE\n}\n\nenum NullOrder {\n FIRST\n LAST\n}\n\ntype PhoneNumberValue implements FieldValue {\n value: PhoneNumber\n displayValue: String\n}\n\n# Cannot have empty enum\n# enum RecordScope @generic {\n# }\n\ninput Setup__SetupFilter @generic {\n and: [Setup__SetupFilter]\n or: [Setup__SetupFilter]\n not: Setup__SetupFilter\n parentRelationshipRecordFilter: Setup__SetupFilter @fieldCategory\n polymorphicParentRelationshipRecordFilter: Setup__SetupPolymorphicParentRelationshipRecordFilter @fieldCategory\n IntegerOperator: IntegerOperators @fieldCategory\n LongOperator: LongOperators @fieldCategory\n StringOperator: StringOperators @fieldCategory\n DoubleOperator: DoubleOperators @fieldCategory\n PercentOperator: PercentOperators @fieldCategory\n LongitudeOperator: LongitudeOperators @fieldCategory\n LatitudeOperator: LatitudeOperators @fieldCategory\n EmailOperator: EmailOperators @fieldCategory\n TextAreaOperator: TextAreaOperators @fieldCategory\n LongTextAreaOperator: LongTextAreaOperators @fieldCategory\n URLOperator: URLOperators @fieldCategory\n PhoneNumberOperator: PhoneNumberOperators @fieldCategory\n BooleanOperator: BooleanOperators @fieldCategory\n Setup__IdOperator: Setup__IdOperators @fieldCategory\n CurrencyOperator: CurrencyOperators @fieldCategory\n TimeOperator: TimeOperators @fieldCategory\n DateOperator: DateOperators @fieldCategory\n DateTimeOperator: DateTimeOperators @fieldCategory\n PicklistOperator: PicklistOperators @fieldCategory\n MultiPicklistOperator: MultiPicklistOperators @fieldCategory\n GeolocationOperator: GeolocationOperators @fieldCategory\n}\n\ntype DoubleAggregate implements FieldValue {\n value: Double\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: DoubleValue\n min: DoubleValue\n sum: DoubleValue\n}\n\ntype __Field {\n name: String!\n description: String\n args: [__InputValue!]!\n type: __Type!\n isDeprecated: Boolean!\n deprecationReason: String\n}\n\ninput DateOperators {\n eq: DateInput\n ne: DateInput\n lt: DateInput\n gt: DateInput\n lte: DateInput\n gte: DateInput\n in: [DateInput]\n nin: [DateInput]\n DAY_IN_WEEK: DateFunctionInput\n DAY_IN_MONTH: DateFunctionInput\n DAY_IN_YEAR: DateFunctionInput\n WEEK_IN_MONTH: DateFunctionInput\n WEEK_IN_YEAR: DateFunctionInput\n CALENDAR_MONTH: DateFunctionInput\n CALENDAR_QUARTER: DateFunctionInput\n CALENDAR_YEAR: DateFunctionInput\n FISCAL_MONTH: DateFunctionInput\n FISCAL_QUARTER: DateFunctionInput\n FISCAL_YEAR: DateFunctionInput\n}\n\ninput GeolocationInput {\n latitude: Latitude!\n longitude: Longitude!\n radius: Float!\n unit: Unit!\n}\n\ninput JoinInput {\n Record: RecordFilter @fieldCategory\n ApiName: String\n}\n\ninput TextAreaOperators {\n eq: TextArea\n ne: TextArea\n like: TextArea\n lt: TextArea\n gt: TextArea\n lte: TextArea\n gte: TextArea\n in: [TextArea]\n nin: [TextArea]\n}\n\ntype TextAreaValue implements FieldValue {\n value: TextArea\n displayValue: String\n}\n\ntype RecordUpdatePayload @generic {\n success: Boolean\n}\n\ninput PercentOperators {\n eq: Percent\n ne: Percent\n lt: Percent\n gt: Percent\n lte: Percent\n gte: Percent\n in: [Percent]\n nin: [Percent]\n}\n\ninput Setup__SetupPolymorphicParentRelationshipRecordOrderBy @generic {\n Setup__SetupOrderBy: Setup__SetupOrderBy @fieldCategory\n}\n\ntype DoubleValue implements FieldValue {\n value: Double\n displayValue: String\n format: String\n}\n\ntype IDAggregate implements FieldValue {\n value: ID\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: IDValue\n min: IDValue\n}\n\ntype __InputValue {\n name: String!\n description: String\n type: __Type!\n defaultValue: String\n}\n\ntype RecordAggregateEdge @generic {\n node: RecordResult\n cursor: String!\n}\n\ntype __Directive {\n name: String\n description: String\n locations: [__DirectiveLocation!]\n args: [__InputValue!]!\n}\n\ninput RecordCreateInput @generic {\n record: RecordCreateRepresentation! @fieldCategory\n}\n\ntype ThemeInfo {\n color: String\n iconUrl: String\n}\n\ninput AggregateOrderByStringClause {\n function: AggregateOrderByStringFunction\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ntype RecordDeletePayload {\n Id: ID\n}\n\ntype UrlAggregate implements FieldValue {\n value: Url\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: UrlValue\n min: UrlValue\n}\n\nenum DateLiteral {\n LAST_YEAR\n LAST_WEEK\n THIS_QUARTER\n NEXT_FISCAL_YEAR\n LAST_QUARTER\n TOMORROW\n NEXT_FISCAL_QUARTER\n YESTERDAY\n NEXT_QUARTER\n THIS_FISCAL_QUARTER\n THIS_WEEK\n LAST_MONTH\n LAST_90_DAYS\n NEXT_90_DAYS\n THIS_FISCAL_YEAR\n NEXT_WEEK\n TODAY\n NEXT_YEAR\n NEXT_MONTH\n LAST_FISCAL_QUARTER\n THIS_MONTH\n LAST_FISCAL_YEAR\n THIS_YEAR\n}\n\ntype __EnumValue {\n name: String!\n description: String\n isDeprecated: Boolean!\n deprecationReason: String\n}\n\ntype RecordRepresentation implements Record @generic {\n Id: ID!\n ApiName: String!\n WeakEtag: Long!\n DisplayValue: String\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n SystemModstamp: DateTimeValue\n RecordTypeId(fallback: Boolean): IDValue\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n parentRelationship: RecordRepresentation @fieldCategory\n polymorphicParentRelationship: PolymorphicParentRelationship @fieldCategory\n childRelationship(first: Int, after: String, where: RecordFilter, orderBy: RecordOrderBy, upperBound: Int): RecordConnection @fieldCategory\n CompoundField: CompoundField @fieldCategory\n AnyType: AnyType @fieldCategory\n}\n\nunion AnyType = BooleanValue | DateValue | DateTimeValue | DoubleValue | StringValue\n\ntype IDValue implements FieldValue {\n value: ID\n displayValue: String\n}\n\nenum Unit {\n MI\n KM\n}\n\ninput PolymorphicParentRelationshipOrderBy @generic {\n RecordAggregateOrderBy: RecordAggregateOrderBy @fieldCategory\n}\n\ninput OrderByGeolocationClause {\n distance: DistanceInput\n order: ResultOrder\n nulls: NullOrder\n}\n\ninput Setup__IdOperators {\n eq: ID\n ne: ID\n lt: ID\n gt: ID\n lte: ID\n gte: ID\n in: [ID]\n nin: [ID]\n inq: Setup__JoinInput\n ninq: Setup__JoinInput\n}\n\nenum NullsOrder {\n FIRST\n LAST\n}\n\ntype TextAreaAggregate implements FieldValue {\n value: TextArea\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: TextAreaValue\n min: TextAreaValue\n}\n\nenum GroupByType {\n GROUP_BY\n ROLLUP\n CUBE\n}\n\nenum ResultOrder {\n ASC\n DESC\n}\n\ninput RecordOrderBy @generic {\n orderableField: OrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: RecordOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipRecordOrderBy @fieldCategory\n}\n\ninput Setup__JoinInput {\n Record: Setup__SetupFilter @fieldCategory\n ApiName: String\n}\n\ninput PicklistOperators {\n eq: Picklist\n ne: Picklist\n in: [Picklist]\n nin: [Picklist]\n like: Picklist\n lt: Picklist\n gt: Picklist\n lte: Picklist\n gte: Picklist\n}\n\nenum ResultsOrder {\n ASC\n DESC\n}\n\ninput RecordFilter @generic {\n and: [RecordFilter]\n or: [RecordFilter]\n not: RecordFilter\n parentRelationshipRecordFilter: RecordFilter @fieldCategory\n polymorphicParentRelationshipRecordFilter: PolymorphicParentRelationshipRecordFilter @fieldCategory\n IntegerOperator: IntegerOperators @fieldCategory\n LongOperator: LongOperators @fieldCategory\n StringOperator: StringOperators @fieldCategory\n DoubleOperator: DoubleOperators @fieldCategory\n PercentOperator: PercentOperators @fieldCategory\n LongitudeOperator: LongitudeOperators @fieldCategory\n LatitudeOperator: LatitudeOperators @fieldCategory\n EmailOperator: EmailOperators @fieldCategory\n TextAreaOperator: TextAreaOperators @fieldCategory\n LongTextAreaOperator: LongTextAreaOperators @fieldCategory\n URLOperator: URLOperators @fieldCategory\n PhoneNumberOperator: PhoneNumberOperators @fieldCategory\n BooleanOperator: BooleanOperators @fieldCategory\n IdOperator: IdOperators @fieldCategory\n CurrencyOperator: CurrencyOperators @fieldCategory\n TimeOperator: TimeOperators @fieldCategory\n DateOperator: DateOperators @fieldCategory\n DateTimeOperator: DateTimeOperators @fieldCategory\n PicklistOperator: PicklistOperators @fieldCategory\n MultiPicklistOperator: MultiPicklistOperators @fieldCategory\n GeolocationOperator: GeolocationOperators @fieldCategory\n}\n\ntype TimeValue implements FieldValue {\n value: Time\n displayValue: String\n format: String\n}\n\ninput GeolocationOperators {\n lt: GeolocationInput\n gt: GeolocationInput\n}\n\ntype PicklistAggregate implements FieldValue {\n value: Picklist\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: PicklistValue\n min: PicklistValue\n}\n\ninput LatitudeOperators {\n eq: Latitude\n ne: Latitude\n lt: Latitude\n gt: Latitude\n lte: Latitude\n gte: Latitude\n in: [Latitude]\n nin: [Latitude]\n}\n\ninput RecordUpdateRepresentation @generic {\n Int: Int @fieldCategory\n String: String @fieldCategory\n Boolean: Boolean @fieldCategory\n ID: IdOrRef @fieldCategory\n DateTime: DateTime @fieldCategory\n Time: Time @fieldCategory\n Date: Date @fieldCategory\n TextArea: TextArea @fieldCategory\n LongTextArea: LongTextArea @fieldCategory\n RichTextArea: RichTextArea @fieldCategory\n PhoneNumber: PhoneNumber @fieldCategory\n Email: Email @fieldCategory\n Url: Url @fieldCategory\n EncryptedString: EncryptedString @fieldCategory\n Currency: Currency @fieldCategory\n Longitude: Longitude @fieldCategory\n Latitude: Latitude @fieldCategory\n Picklist: Picklist @fieldCategory\n MultiPicklist: MultiPicklist @fieldCategory\n Long: Long @fieldCategory\n Double: Double @fieldCategory\n Percent: Percent @fieldCategory\n Base64: Base64 @fieldCategory\n JSON: JSON @fieldCategory\n}\n\ntype DateTimeValue implements FieldValue {\n value: DateTime\n displayValue: String\n format: String\n}\n\ninput RecordDeleteInput {\n Id: IdOrRef!\n}\n\nenum __DirectiveLocation {\n QUERY\n MUTATION\n FIELD\n FRAGMENT_DEFINITION\n FRAGMENT_SPREAD\n INLINE_FRAGMENT\n SCHEMA\n SCALAR\n OBJECT\n FIELD_DEFINITION\n ARGUMENT_DEFINITION\n INTERFACE\n UNION\n ENUM\n ENUM_VALUE\n INPUT_OBJECT\n INPUT_FIELD_DEFINITION\n}\n\ntype IntAggregate implements FieldValue {\n value: Int\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n grouping: IntValue\n max: IntValue\n min: IntValue\n sum: LongValue\n}\n\ntype ListOrder {\n fieldApiName: String!\n sortDirection: ResultOrder\n}\n\ntype RecordAggregate @generic {\n ApiName: String!\n BooleanAggregate: BooleanAggregate @fieldCategory\n CurrencyAggregate: CurrencyAggregate @fieldCategory\n DateAggregate: DateAggregate @fieldCategory\n DoubleAggregate: DoubleAggregate @fieldCategory\n EmailAggregate: EmailAggregate @fieldCategory\n IDAggregate: IDAggregate @fieldCategory\n IntAggregate: IntAggregate @fieldCategory\n LatitudeAggregate: LatitudeAggregate @fieldCategory\n LongitudeAggregate: LongitudeAggregate @fieldCategory\n LongAggregate: LongAggregate @fieldCategory\n PercentAggregate: PercentAggregate @fieldCategory\n PhoneNumberAggregate: PhoneNumberAggregate @fieldCategory\n PicklistAggregate: PicklistAggregate @fieldCategory\n StringAggregate: StringAggregate @fieldCategory\n TextAreaAggregate: TextAreaAggregate @fieldCategory\n TimeAggregate: TimeAggregate @fieldCategory\n UrlAggregate: UrlAggregate @fieldCategory\n parentRelationship: RecordAggregate @fieldCategory\n polymorphicParentRelationship: PolymorphicAggregateParentRelationship @fieldCategory\n}\n\ntype JSONValue implements FieldValue {\n value: JSON\n displayValue: String\n}\n\ntype EmailValue implements FieldValue {\n value: Email\n displayValue: String\n}\n\ntype Setup__Setup {\n query: Setup__SetupQuery!\n aggregate: Setup__SetupQueryAggregate!\n ListView(\n listViewType: String!,\n label: String,\n displayColumns: [String!],\n filters: [Setup__ListFilterInput!],\n filterLogic: String,\n orderedByInfo: [Setup__ListOrderInput!]!\n ): Setup__ListView!\n ListViewObjectInfo(listViewType: String!): Setup__ListViewObjectInfo!\n}\n\ntype Setup__SetupAggregateConnection @generic {\n edges: [Setup__SetupAggregateEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ninput Setup__SetupGroupBy @generic {\n groupableDateField: GroupByDateFunction @fieldCategory\n groupableField: GroupByClause @fieldCategory\n groupableParentRelationship: Setup__SetupGroupBy @fieldCategory\n groupablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipGroupBy @fieldCategory\n type: GroupByType = GROUP_BY\n}\n\ntype Setup__SetupAggregateEdge @generic {\n cursor: String!\n node: Setup__SetupRecordResult\n}\n\ninput Setup__SetupAggregateOrderBy @generic {\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableParentRelationship: Setup__SetupAggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipOrderBy @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n type: String\n}\n\n\nenum AggregateOrderByStringFunction {\n COUNT\n COUNT_DISTINCT\n MAX\n MIN\n}\n\ntype LongValue implements FieldValue {\n value: Long\n displayValue: String\n format: String\n}\n\ninput DateFunctionInput {\n value: LongOperators\n convertTimezoneValue: LongOperators\n}\n\n# Mutations aren't supported yet.\n#type Mutation {\n# uiapi(input: UIAPIMutationsInput): UIAPIMutations!\n#}\n\ntype DependentField {\n controllingField: String!\n dependentFields: [String]!\n}\n\ninput LongTextAreaOperators {\n eq: LongTextArea\n ne: LongTextArea\n like: LongTextArea\n lt: LongTextArea\n gt: LongTextArea\n lte: LongTextArea\n gte: LongTextArea\n in: [LongTextArea]\n nin: [LongTextArea]\n}\n\nenum __TypeKind {\n SCALAR\n OBJECT\n INTERFACE\n UNION\n ENUM\n INPUT_OBJECT\n LIST\n NON_NULL\n}\n\ntype Setup__SetupConnection @generic {\n edges: [Setup__SetupEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n pageResultCount: Int!\n}\n\ntype PercentValue implements FieldValue {\n value: Percent\n displayValue: String\n format: String\n}\n\ninput DateTimeOperators {\n eq: DateTimeInput\n ne: DateTimeInput\n lt: DateTimeInput\n gt: DateTimeInput\n lte: DateTimeInput\n gte: DateTimeInput\n in: [DateTimeInput]\n nin: [DateTimeInput]\n DAY_IN_WEEK: DateFunctionInput\n DAY_IN_MONTH: DateFunctionInput\n DAY_IN_YEAR: DateFunctionInput\n WEEK_IN_MONTH: DateFunctionInput\n WEEK_IN_YEAR: DateFunctionInput\n CALENDAR_MONTH: DateFunctionInput\n CALENDAR_QUARTER: DateFunctionInput\n CALENDAR_YEAR: DateFunctionInput\n FISCAL_MONTH: DateFunctionInput\n FISCAL_QUARTER: DateFunctionInput\n FISCAL_YEAR: DateFunctionInput\n DAY_ONLY: DateTimeFunctionInput\n HOUR_IN_DAY: DateFunctionInput\n}\n\ninput NoFunctionAggregateOrderByClause {\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ntype BooleanAggregate implements FieldValue {\n value: Boolean\n displayValue: String\n grouping: IntValue\n}\n\ntype RecordQueryAggregate {\n # RecordScope is replaced with String\n recordQueryAggregate(after: String, first: Int, groupBy: RecordGroupBy, orderBy: RecordAggregateOrderBy, scope: String @fieldCategory, upperBound: Int, where: RecordFilter): RecordAggregateConnection @fieldCategory\n}\n\ninput RecordAggregateOrderBy @generic {\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableParentRelationship: RecordAggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipOrderBy @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n type: String\n}\n\ntype RecordConnection @generic {\n edges: [RecordEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n pageResultCount: Int!\n}\n\ntype FilteredLookupInfo {\n controllingFields: [String]!\n dependent: Boolean!\n optionalFilter: Boolean!\n}\n\ninput PhoneNumberOperators {\n eq: PhoneNumber\n ne: PhoneNumber\n like: PhoneNumber\n lt: PhoneNumber\n gt: PhoneNumber\n lte: PhoneNumber\n gte: PhoneNumber\n in: [PhoneNumber]\n nin: [PhoneNumber]\n}\n\ntype ObjectInfo {\n ApiName: String!\n childRelationships: [ChildRelationship]!\n createable: Boolean!\n custom: Boolean!\n defaultRecordTypeId: ID\n deletable: Boolean!\n dependentFields: [DependentField]!\n feedEnabled: Boolean!\n fields: [Field]!\n keyPrefix: String\n label: String\n labelPlural: String\n layoutable: Boolean!\n mruEnabled: Boolean!\n nameFields: [String]!\n queryable: Boolean!\n recordTypeInfos: [RecordTypeInfo]!\n searchable: Boolean!\n themeInfo: ThemeInfo\n updateable: Boolean!\n locale: String\n}\n\ninput LongitudeOperators {\n eq: Longitude\n ne: Longitude\n lt: Longitude\n gt: Longitude\n lte: Longitude\n gte: Longitude\n in: [Longitude]\n nin: [Longitude]\n}\n\ninput RecordCreateRepresentation @generic {\n Int: Int @fieldCategory\n String: String @fieldCategory\n Boolean: Boolean @fieldCategory\n ID: IdOrRef @fieldCategory\n DateTime: DateTime @fieldCategory\n Time: Time @fieldCategory\n Date: Date @fieldCategory\n TextArea: TextArea @fieldCategory\n LongTextArea: LongTextArea @fieldCategory\n RichTextArea: RichTextArea @fieldCategory\n PhoneNumber: PhoneNumber @fieldCategory\n Email: Email @fieldCategory\n Url: Url @fieldCategory\n EncryptedString: EncryptedString @fieldCategory\n Currency: Currency @fieldCategory\n Longitude: Longitude @fieldCategory\n Latitude: Latitude @fieldCategory\n Picklist: Picklist @fieldCategory\n MultiPicklist: MultiPicklist @fieldCategory\n Long: Long @fieldCategory\n Double: Double @fieldCategory\n Percent: Percent @fieldCategory\n Base64: Base64 @fieldCategory\n JSON: JSON @fieldCategory\n}\n\ntype Field {\n ApiName: String!\n calculated: Boolean!\n compound: Boolean!\n compoundComponentName: String\n compoundFieldName: String\n controllerName: String\n controllingFields: [String]!\n createable: Boolean!\n custom: Boolean!\n dataType: DataType\n extraTypeInfo: FieldExtraTypeInfo\n filterable: Boolean!\n filteredLookupInfo: FilteredLookupInfo\n highScaleNumber: Boolean!\n htmlFormatted: Boolean!\n inlineHelpText: String\n label: String\n nameField: Boolean!\n polymorphicForeignKey: Boolean!\n precision: Int\n reference: Boolean!\n referenceTargetField: String\n referenceToInfos: [ReferenceToInfo]!\n relationshipName: String\n required: Boolean!\n scale: Int\n searchPrefilterable: Boolean\n sortable: Boolean!\n updateable: Boolean!\n}\n\nenum FieldExtraTypeInfo {\n IMAGE_URL\n EXTERNAL_LOOKUP\n INDIRECT_LOOKUP\n PERSONNAME\n SWITCHABLE_PERSONNAME\n PLAINTEXTAREA\n RICHTEXTAREA\n}\n\ntype RateLimit {\n cost: Long\n limit: Long\n remaining: Long\n resetAt: DateTime\n}\n\ninput DateRange {\n last_n_days: Int\n next_n_days: Int\n last_n_weeks: Int\n next_n_weeks: Int\n last_n_months: Int\n next_n_months: Int\n last_n_quarters: Int\n next_n_quarters: Int\n last_n_fiscal_quarters: Int\n next_n_fiscal_quarters: Int\n last_n_years: Int\n next_n_years: Int\n last_n_fiscal_years: Int\n next_n_fiscal_years: Int\n n_days_ago: Int\n n_weeks_ago: Int\n n_months_ago: Int\n n_quarters_ago: Int\n n_years_ago: Int\n n_fiscal_quarters_ago: Int\n n_fiscal_years_ago: Int\n}\n\ntype UIAPIMutations {\n recordCreate(input: RecordCreateInput!): RecordCreatePayload @fieldCategory\n recordDelete(input: RecordDeleteInput!): RecordDeletePayload @fieldCategory\n recordUpdate(input: RecordUpdateInput!): RecordUpdatePayload @fieldCategory\n}\n\ninput DateTimeFunctionInput {\n value: DatePrimitiveOperators\n convertTimezoneValue: DatePrimitiveOperators\n}\n\ntype Base64Value implements FieldValue {\n value: Base64\n displayValue: String\n}\n\ninput IntegerOperators {\n eq: Int\n ne: Int\n lt: Int\n gt: Int\n lte: Int\n gte: Int\n in: [Int]\n nin: [Int]\n}\n\ntype EncryptedStringValue implements FieldValue {\n value: EncryptedString\n displayValue: String\n}\n\ninterface Record {\n Id: ID!\n ApiName: String!\n WeakEtag: Long!\n DisplayValue: String\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n SystemModstamp: DateTimeValue\n RecordTypeId(fallback: Boolean): IDValue\n}\n\ninput PolymorphicParentRelationshipRecordFilter @generic {\n RecordFilter: RecordFilter @fieldCategory\n}\n\ninput AggregateOrderByNumberClause {\n function: AggregateOrderByNumberFunction\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ntype __Schema {\n types: [__Type!]!\n queryType: __Type!\n mutationType: __Type\n directives: [__Directive!]!\n subscriptionType: __Type\n}\n\ninput Setup__SetupPolymorphicParentRelationshipRecordFilter @generic {\n Setup__SetupFilter: Setup__SetupFilter @fieldCategory\n}\n\nunion Setup__SetupPolymorphicAggregateParentRelationship @generic = Setup__SetupRecordAggregate\n\ninput Setup__SetupPolymorphicParentRelationshipGroupBy @generic {\n Setup__SetupGroupBy: Setup__SetupGroupBy @fieldCategory\n}\n\ninput Setup__SetupPolymorphicParentRelationshipOrderBy @generic {\n Setup__SetupAggregateOrderBy: Setup__SetupAggregateOrderBy @fieldCategory\n}\n\ntype CompoundField @generic {\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n}\n\ninput RecordUpdateInput @generic {\n Id: IdOrRef!\n record: RecordUpdateRepresentation! @fieldCategory\n}\n\ninput DateTimeInput {\n value: DateTime\n literal: DateLiteral\n range: DateRange\n}\n\ntype ChildRelationship {\n childObjectApiName: String!\n fieldName: String\n junctionIdListNames: [String]!\n junctionReferenceTo: [String]!\n relationshipName: String\n objectInfo: ObjectInfo\n}\n\ntype RecordResult @generic {\n aggregate: RecordAggregate\n}\n\ntype PageInfo {\n hasNextPage: Boolean!\n hasPreviousPage: Boolean!\n startCursor: String\n endCursor: String\n}\n\ntype CurrencyValue implements FieldValue {\n value: Currency\n displayValue: String\n format: String\n}\n\ninput DateInput {\n value: Date\n literal: DateLiteral\n range: DateRange\n}\n\ninput RecordGroupBy @generic {\n groupableField: GroupByClause @fieldCategory\n groupableDateField: GroupByDateFunction @fieldCategory\n groupableParentRelationship: RecordGroupBy @fieldCategory\n groupablePolymorphicParentRelationship: PolymorphicParentRelationshipGroupBy @fieldCategory\n type: GroupByType = GROUP_BY\n}\n\ntype DateFunctionAggregation {\n value: Long\n format: String\n}\n\ntype RecordQuery {\n recordQuery(after: String, first: Int, orderBy: RecordOrderBy, scope: String @fieldCategory, upperBound: Int, where: RecordFilter): RecordConnection @fieldCategory\n}\n\n# add browse family schema\ntype Analytics__Analytics {\n # assetTypes: [AnalyticsAssetType], but AnalyticsAssetType is an empty enum\n browse(after: String, assetTypes: [String], first: Int, orderBy: Analytics__AnalyticsOrderBy, where: Analytics__AnalyticsFilter): Analytics__AnalyticsBrowse!\n # Add other fields here if needed\n}\n\n# enum AnalyticsAssetType @generic {\n# }\n\ntype Analytics__AnalyticsBrowse {\n edges: [Analytics__AnalyticsEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__AnalyticsEdge {\n node: Analytics__AnalyticsRepresentation\n cursor: String!\n}\n\ninterface Analytics__AnalyticsRepresentationInterface {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\ntype Analytics__DataspaceRepresentation {\n Id: ID!\n ApiName: String!\n MasterLabel: String\n DeveloperName: String\n}\n\ntype Analytics__AnalyticsRepresentation implements Analytics__AnalyticsRepresentationInterface {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n RecordOperations: [String]\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\ntype Analytics__SemanticDefinition implements Analytics__AnalyticsRepresentationInterface {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n SemanticModel: Analytics__SemanticModel\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n SubMetrics: Analytics__SemanticSubMetricDefinitionConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\ntype Analytics__MktDataConnector implements Analytics__AnalyticsRepresentationInterface {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n DataConnectorType: StringValue\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\ninput Analytics__AnalyticsOrderBy {\n MasterLabel: Analytics__OrderByInput\n Id: Analytics__OrderByInput\n ApiName: Analytics__OrderByInput\n CreatedById: Analytics__OrderByInput\n CreatedDate: Analytics__OrderByInput\n LastModifiedDate: Analytics__OrderByInput\n LastModifiedById: Analytics__OrderByInput\n}\n\ninput Analytics__OrderByInput {\n order: Analytics__SortEnumType\n}\n\nenum Analytics__SortEnumType {\n ASC\n DESC\n}\n\ninput Analytics__AnalyticsFilter {\n Id: Setup__IdOperators\n MasterLabel: StringOperators\n DeveloperName: StringOperators\n NamespacePrefix: StringOperators\n AssetApiName: StringOperators\n DataConnectorType: StringOperators\n CreatedById: Setup__IdOperators\n CreatedDate: DateTimeOperators\n LastModifiedById: Setup__IdOperators\n LastModifiedDate: DateTimeOperators\n SemanticModel: Analytics__SemanticModelFilter\n and: [Analytics__AnalyticsFilter]\n or: [Analytics__AnalyticsFilter]\n not: Analytics__AnalyticsFilter\n}\n\ninput Analytics__SemanticModelFilter {\n DeveloperName: StringOperators\n MasterLabel: StringOperators\n}\n\ntype Analytics__AnalyticsWorkspaceAssetConnection {\n edges: [Analytics__AnalyticsWorkspaceAssetEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__AnalyticsWorkspaceAssetEdge {\n node: Analytics__AnalyticsWorkspaceAsset\n cursor: String!\n}\n\ntype Analytics__AnalyticsWorkspaceAsset {\n AnalyticsWorkspace: Analytics__AnalyticsWorkspace\n AssetUsageType: PicklistValue\n ActivePromotionRequestId: IDValue\n MetadataSourceType: PicklistValue\n}\n\ntype Analytics__AnalyticsWorkspace {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n}\n\ntype Analytics__SemanticSubMetricDefinitionConnection {\n edges: [Analytics__SemanticSubMetricDefinitionEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticSubMetricDefinitionEdge {\n node: Analytics__SemanticSubMetricDefinitionRepresentation\n cursor: String!\n}\n\ntype Analytics__SemanticSubMetricDefinitionRepresentation {\n Id: ID!\n ApiName: String!\n}\n\ntype Analytics__SemanticModel {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n NamespacePrefix: StringValue\n RelatedModel: Analytics__SemanticModelRelatedModelConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n}\n\ntype Analytics__SemanticModelRelatedModelConnection {\n edges: [Analytics__SemanticModelRelatedModelEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticModelRelatedModelEdge {\n node: Analytics__SemanticModelRelatedModelRepresentation\n cursor: String!\n}\n\ntype Analytics__SemanticModelRelatedModelRepresentation {\n Id: ID!\n ApiName: String!\n SemanticModelId: IDValue\n RelatedSemanticModel: Analytics__SemanticModel\n}\n\ninput Setup__ListOrderInput {\n apiName: String!\n order: ResultsOrder\n}\n\ntype Setup__ListViewRow {\n id: ID!\n columns(apiNames: [String!]): [Setup__ListScalarField]!\n}\n\ntype Setup__ListView {\n listViewType: String!\n label: String\n displayColumns: [Setup__ListColumn!]!\n filters: [Setup__ListFilter!]\n filterLogic: String\n orderedByInfo: [Setup__ListOrder!]!\n searchable: Boolean!\n rows(first: Int, after: String, upperBound: Int, orderBy: Setup__ListOrderInput, searchTerm: String): Setup__ListViewRowConnection\n}\n\ntype Setup__ListFilter {\n apiName: String!\n operator: Setup__ListFilterOperator!\n operand: [String!]!\n}\n\nenum Setup__ListFilterOperator {\n EQUALS\n NOT_EQUAL\n LESS_THAN\n GREATER_THAN\n LESS_OR_EQUAL\n GREATER_OR_EQUAL\n CONTAINS\n NOT_CONTAIN\n STARTS_WITH\n INCLUDES\n EXCLUDES\n WITHIN\n}\n\ntype Setup__ListViewRowConnection {\n edges: [Setup__ListViewRowEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ninput Setup__ListFilterInput {\n apiName: String!\n operator: Setup__ListFilterOperator!\n operand: [String!]!\n}\n\ntype Setup__ListOrder {\n apiName: String!\n order: ResultsOrder\n}\n\ntype Setup__ListScalarField {\n apiName: String!\n value: String\n dataType: DataType\n displayValue: String\n format: String\n label: String\n}\n\ntype Setup__ListViewRowEdge {\n cursor: String!\n node: Setup__ListViewRow\n}\n\ntype Setup__ListViewObjectInfo {\n columns(apiNames: [String!], displayable: Boolean, filterable: Boolean) : [Setup__ListColumn!]!\n}\n\ntype Setup__ListColumn {\n apiName: String!\n label: String!\n type: DataType!\n displayable: Boolean!\n filterable: Boolean!\n defaultOperator: Setup__ListFilterOperator\n allowedOperators: [Setup__ListFilterOperator!]\n sortable: Boolean\n lookupIdColumn: String\n}\n\ndirective @generic on OBJECT | INTERFACE | UNION | ENUM | INPUT_OBJECT\ndirective @fieldCategory on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | ENUM_VALUE\ndirective @category(name: String!) on FIELD\n";
47703
+ var uiapiSchemaString = "# Auto-generated merged GraphQL schema\n# Generated at: 2025-10-14T15:00:19.876399281Z\n# Source files: ui-services-private/java/resources/graphql-schemas/analytics.graphqls, ui-services-private/java/resources/graphql-schemas/setup-listview.graphqls, ui-services-private/java/resources/graphql-schemas/setup.graphqls, ui-services-private/java/resources/graphql-schemas/uiapi.graphqls\n\n# ============================================================\n# Source: ui-services-private/java/resources/graphql-schemas/analytics.graphqls\n# ============================================================\ninput Analytics__AnalyticsFilter @team(name: \"TUA-Admin-Home-Search\") {\n Id: Setup__IdOperators\n MasterLabel: StringOperators\n DeveloperName: StringOperators\n NamespacePrefix: StringOperators\n AssetApiName: StringOperators\n DataConnectorType: StringOperators\n CreatedById: Setup__IdOperators\n LastModifiedById: Setup__IdOperators\n SemanticMetricId: Setup__IdOperators\n SemanticModelId: Setup__IdOperators\n LastModifiedDate: DateTimeOperators\n CreatedDate: DateTimeOperators\n AssetUsageType: PicklistOperators\n ActivePromotionRequestId: Setup__IdOperators\n SemanticModel: Analytics__SemanticModelFilter\n and: [Analytics__AnalyticsFilter]\n or: [Analytics__AnalyticsFilter]\n not: Analytics__AnalyticsFilter\n}\n\ninput Analytics__SemanticModelFilter @team(name: \"TUA-Admin-Home-Search\") {\n DeveloperName: StringOperators\n MasterLabel: StringOperators\n}\n\nenum Analytics__SortEnumType @team(name: \"TUA-Admin-Home-Search\") {\n ASC\n DESC\n}\n\ntype Analytics__SemanticSubMetricDefinitionConnection @team(name: \"TUA-Admin-Home-Search\") {\n edges: [Analytics__SemanticSubMetricDefinitionEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticSubMetricDefinitionEdge @team(name: \"TUA-Admin-Home-Search\") {\n node: Analytics__SemanticSubMetricDefinitionRepresentation\n cursor: String!\n}\n\ntype Analytics__DataspaceRepresentation @team(name: \"TUA-Admin-Home-Search\") {\n Id: ID!\n ApiName: String!\n MasterLabel: String\n DeveloperName: String\n}\n\ninterface Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\ntype Analytics__AnalyticsBrowse @team(name: \"TUA-Admin-Home-Search\") {\n edges: [Analytics__AnalyticsEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\n# Empty enum is invalid GraphQL\n# enum AnalyticsAssetType @team(name: \"TUA-Admin-Home-Search\") @generic {\n# }\n\ntype Analytics__AnalyticsWorkspaceAssetConnection @team(name: \"TUA-Admin-Home-Search\") {\n edges: [Analytics__AnalyticsWorkspaceAssetEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticDefinition implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n SemanticModelId: IDValue\n SemanticModel: Analytics__SemanticModel\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n SubMetrics(first: Int, after: String): Analytics__SemanticSubMetricDefinitionConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\ntype Analytics__DominoTemplate implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA Intel MarketPlace\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n TemplateStatus: StringValue\n TemplateType: StringValue\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\ntype Analytics__AnalyticsEdge @team(name: \"TUA-Admin-Home-Search\") {\n node: Analytics__AnalyticsRepresentationInterface\n cursor: String!\n}\n\ntype Analytics__AnalyticsWorkspace @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n}\n\ntype Analytics__SemanticSubMetricDefinitionRepresentation @team(name: \"TUA-Admin-Home-Search\") {\n Id: ID!\n ApiName: String!\n SemanticModelId: IDValue\n SemanticMetricId: IDValue\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n}\n\ntype Analytics__AnalyticsWorkspaceAssetEdge @team(name: \"TUA-Admin-Home-Search\") {\n node: Analytics__AnalyticsWorkspaceAsset\n cursor: String!\n}\n\ninput Analytics__OrderByInput @team(name: \"TUA-Admin-Home-Search\") {\n order: Analytics__SortEnumType\n}\n\ntype Analytics__AnalyticsRepresentation implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n RecordOperations: [String]\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\ntype Analytics__SemanticModelRelatedModelConnection @team(name: \"TUA-Admin-Home-Search\") {\n edges: [Analytics__SemanticModelRelatedModelEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticModelRelatedModelRepresentation @team(name: \"TUA-Admin-Home-Search\") {\n Id: ID!\n ApiName: String!\n SemanticModelId: IDValue\n RelatedSemanticModel: Analytics__SemanticModel\n}\n\ntype Analytics__SemanticModelRelatedModelEdge @team(name: \"TUA-Admin-Home-Search\") {\n node: Analytics__SemanticModelRelatedModelRepresentation\n cursor: String!\n}\n\ntype Analytics__SemanticModel implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n NamespacePrefix: StringValue\n RelatedModel(first: Int, after: String): Analytics__SemanticModelRelatedModelConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\n# assetTypes: AnalyticsAssetType - empty enum is invalid GraphQL so replace with String\ntype Analytics__Analytics @team(name: \"TUA-Admin-Home-Search\") {\n browse(where: Analytics__AnalyticsFilter, assetTypes: [String], orderBy: Analytics__AnalyticsOrderBy, first: Int, orgId: ID, after: String): Analytics__AnalyticsBrowse! @fieldCategory\n}\n\ntype Analytics__AnalyticsWorkspaceAsset @team(name: \"TUA-Admin-Home-Search\") {\n AnalyticsWorkspace: Analytics__AnalyticsWorkspace\n AssetUsageType: PicklistValue\n ActivePromotionRequestId: IDValue\n MetadataSourceType: PicklistValue\n}\n\ninput Analytics__AnalyticsOrderBy @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: Analytics__OrderByInput\n Id: Analytics__OrderByInput\n ApiName: Analytics__OrderByInput\n LastModifiedById: Analytics__OrderByInput\n CreatedById: Analytics__OrderByInput\n LastModifiedDate: Analytics__OrderByInput\n CreatedDate: Analytics__OrderByInput\n}\n\ntype Analytics__MktDataConnector implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n NamespacePrefix: StringValue\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n DataConnectorType: StringValue\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\n# ============================================================\n# Source: ui-services-private/java/resources/graphql-schemas/setup-listview.graphqls\n# ============================================================\ninput Setup__ListOrderInput {\n apiName: String!\n order: ResultsOrder\n}\n\ntype Setup__ListOrder {\n apiName: String!\n order: ResultsOrder\n label: String\n}\n\ntype Setup__ListViewRowConnection {\n edges: [Setup__ListViewRowEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ntype Setup__ListView {\n listViewType: String!\n label: String\n displayColumns: [Setup__ListColumn!]!\n filters: [Setup__ListFilter!]\n filterLogic: String\n orderedByInfo: [Setup__ListOrder!]!\n searchable: Boolean!\n rows(first: Int, after: String, upperBound: Int, orderBy: Setup__ListOrderInput, searchTerm: String): Setup__ListViewRowConnection\n}\n\nenum Setup__ListFilterOperator {\n EQUALS\n NOT_EQUAL\n LESS_THAN\n GREATER_THAN\n LESS_OR_EQUAL\n GREATER_OR_EQUAL\n CONTAINS\n NOT_CONTAIN\n STARTS_WITH\n INCLUDES\n EXCLUDES\n WITHIN\n}\n\ntype Setup__ListFilter {\n apiName: String!\n operator: Setup__ListFilterOperator!\n operand: [String!]!\n label: String\n}\n\ntype Setup__ListColumn {\n apiName: String!\n label: String!\n type: DataType!\n displayable: Boolean!\n filterable: Boolean!\n defaultOperator: Setup__ListFilterOperator\n allowedOperators: [Setup__ListFilterOperator!]\n sortable: Boolean\n lookupIdColumn: String\n}\n\ntype Setup__ListScalarField {\n apiName: String!\n value: String\n dataType: DataType\n displayValue: String\n format: String\n label: String\n}\n\ntype Setup__ListViewRow {\n id: String\n columns(apiNames: [String!]): [Setup__ListScalarField]!\n}\n\ntype Setup__ListViewRowEdge {\n cursor: String!\n node: Setup__ListViewRow\n}\n\ntype Setup__ListViewObjectInfo {\n columns(apiNames: [String!], displayable: Boolean, filterable: Boolean) : [Setup__ListColumn!]!\n}\n\ninput Setup__ListFilterInput {\n apiName: String!\n operator: Setup__ListFilterOperator!\n operand: [String!]!\n}\n\nextend type Setup__Setup {\n ListView(listViewType: String!, label: String, displayColumns: [String!], filters: [Setup__ListFilterInput!], filterLogic: String): Setup__ListView!\n ListViewObjectInfo(listViewType: String!): Setup__ListViewObjectInfo!\n}\n\n# ============================================================\n# Source: ui-services-private/java/resources/graphql-schemas/setup.graphqls\n# ============================================================\n# scope should be RecordScope, but it is an empty enum\ntype Setup__SetupQueryAggregate {\n recordQueryAggregate(first: Int, after: String, where: Setup__SetupFilter, orderBy: Setup__SetupAggregateOrderBy, scope: String, groupBy: Setup__SetupGroupBy, upperBound: Int, includeDeleted: Boolean): Setup__SetupAggregateConnection @fieldCategory\n}\n\nunion Setup__SetupPolymorphicParentRelationship @generic = Setup__EntityRepresentation\n\ninput Setup__SetupPolymorphicParentRelationshipRecordOrderBy @generic {\n Setup__SetupOrderBy: Setup__SetupOrderBy @fieldCategory\n}\n\ninput Setup__IdOperators {\n eq: ID\n ne: ID\n lt: ID\n gt: ID\n lte: ID\n gte: ID\n in: [ID]\n nin: [ID]\n inq: Setup__JoinInput\n ninq: Setup__JoinInput\n}\n\ninput Setup__JoinInput {\n Record: Setup__SetupFilter @fieldCategory\n ApiName: String\n}\n\ntype Setup__SetupAggregateConnection @generic {\n edges: [Setup__SetupAggregateEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ninput Setup__SetupAggregateOrderBy @generic {\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: Setup__SetupAggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipOrderBy @fieldCategory\n}\n\ntype Setup__SetupConnection @generic {\n edges: [Setup__SetupEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n pageResultCount: Int!\n}\n\ntype Setup__SetupAggregateEdge @generic {\n node: Setup__SetupRecordResult\n cursor: String!\n}\n\ninput Setup__SetupPolymorphicParentRelationshipRecordFilter @generic {\n Setup__SetupFilter: Setup__SetupFilter @fieldCategory\n}\n\ntype Setup__SetupRecordResult @generic {\n aggregate: Setup__SetupRecordAggregate\n}\n\ntype Setup__SetupRecordAggregate @generic {\n ApiName: String!\n BooleanAggregate: BooleanAggregate @fieldCategory\n CurrencyAggregate: CurrencyAggregate @fieldCategory\n DateAggregate: DateAggregate @fieldCategory\n DoubleAggregate: DoubleAggregate @fieldCategory\n EmailAggregate: EmailAggregate @fieldCategory\n IDAggregate: IDAggregate @fieldCategory\n IntAggregate: IntAggregate @fieldCategory\n LatitudeAggregate: LatitudeAggregate @fieldCategory\n LongitudeAggregate: LongitudeAggregate @fieldCategory\n LongAggregate: LongAggregate @fieldCategory\n PercentAggregate: PercentAggregate @fieldCategory\n PhoneNumberAggregate: PhoneNumberAggregate @fieldCategory\n PicklistAggregate: PicklistAggregate @fieldCategory\n StringAggregate: StringAggregate @fieldCategory\n TextAreaAggregate: TextAreaAggregate @fieldCategory\n TimeAggregate: TimeAggregate @fieldCategory\n UrlAggregate: UrlAggregate @fieldCategory\n parentRelationship: Setup__SetupRecordAggregate @fieldCategory\n polymorphicParentRelationship: Setup__SetupPolymorphicAggregateParentRelationship @fieldCategory\n}\n\ninput Setup__SetupOrderBy @generic {\n orderableField: OrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: Setup__SetupOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipRecordOrderBy @fieldCategory\n}\n\ninput Setup__SetupPolymorphicParentRelationshipOrderBy @generic {\n Setup__SetupAggregateOrderBy: Setup__SetupAggregateOrderBy @fieldCategory\n}\n\ntype Setup__SetupEdge @generic {\n node: Setup__EntityRepresentation\n cursor: String!\n}\n\n # scope should be RecordScope, but it is an empty enum\ntype Setup__SetupQuery {\n recordQuery(first: Int, after: String, where: Setup__SetupFilter, orderBy: Setup__SetupOrderBy, scope: String, upperBound: Int, includeDeleted: Boolean, updateMRU: Boolean): Setup__SetupConnection @fieldCategory\n}\n\ntype Setup__EntityRepresentation @generic {\n Id: ID!\n ApiName: String!\n Entity__fields(type: SObject__FieldType): [SObject__Field]! @ignoreRule(rules:[{ rule: \"FieldCamelOrPascalCaseRule\" teamName: \"UI Experience API\" justification: \"SObject__ prefix added to prevent name collisions.\" }])\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n AnyType: AnyType @fieldCategory\n parentRelationship: Setup__EntityRepresentation @fieldCategory\n polymorphicParentRelationship: Setup__SetupPolymorphicParentRelationship @fieldCategory\n childRelationship(first: Int, after: String, where: Setup__SetupFilter, orderBy: Setup__SetupOrderBy, upperBound: Int): Setup__SetupConnection @fieldCategory\n CompoundField: CompoundField @fieldCategory\n}\n\ninput Setup__SetupFilter @generic {\n and: [Setup__SetupFilter]\n or: [Setup__SetupFilter]\n not: Setup__SetupFilter\n parentRelationshipRecordFilter: Setup__SetupFilter @fieldCategory\n polymorphicParentRelationshipRecordFilter: Setup__SetupPolymorphicParentRelationshipRecordFilter @fieldCategory\n IntegerOperator: IntegerOperators @fieldCategory\n LongOperator: LongOperators @fieldCategory\n StringOperator: StringOperators @fieldCategory\n DoubleOperator: DoubleOperators @fieldCategory\n PercentOperator: PercentOperators @fieldCategory\n LongitudeOperator: LongitudeOperators @fieldCategory\n LatitudeOperator: LatitudeOperators @fieldCategory\n EmailOperator: EmailOperators @fieldCategory\n TextAreaOperator: TextAreaOperators @fieldCategory\n LongTextAreaOperator: LongTextAreaOperators @fieldCategory\n URLOperator: URLOperators @fieldCategory\n PhoneNumberOperator: PhoneNumberOperators @fieldCategory\n BooleanOperator: BooleanOperators @fieldCategory\n Setup__IdOperator: Setup__IdOperators @fieldCategory\n CurrencyOperator: CurrencyOperators @fieldCategory\n TimeOperator: TimeOperators @fieldCategory\n DateOperator: DateOperators @fieldCategory\n DateTimeOperator: DateTimeOperators @fieldCategory\n PicklistOperator: PicklistOperators @fieldCategory\n MultiPicklistOperator: MultiPicklistOperators @fieldCategory\n GeolocationOperator: GeolocationOperators @fieldCategory\n}\n\ninput Setup__SetupGroupBy @generic {\n groupableField: GroupByClause @fieldCategory\n groupableDateField: GroupByDateFunction @fieldCategory\n groupableParentRelationship: Setup__SetupGroupBy @fieldCategory\n groupablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipGroupBy @fieldCategory\n type: GroupByType = GROUP_BY\n}\n\nunion Setup__SetupPolymorphicAggregateParentRelationship @generic = Setup__SetupRecordAggregate\n\ntype Setup__Setup {\n query: Setup__SetupQuery!\n aggregate: Setup__SetupQueryAggregate!\n objectInfos(apiNames: [String!], locale: String, objectInfoInputs: [ObjectInfoInput!]): [ObjectInfo]\n}\n\ninput Setup__SetupPolymorphicParentRelationshipGroupBy @generic {\n Setup__SetupGroupBy: Setup__SetupGroupBy @fieldCategory\n}\n\n\n# ============================================================\n# Source: ui-services-private/java/resources/graphql-schemas/uiapi.graphqls\n# ============================================================\nscalar BigDecimal\nscalar Byte\nscalar Char\nscalar BigInteger\nscalar Short\nscalar String\nscalar Currency\nscalar Longitude\nscalar Float\nscalar PhoneNumber\nscalar Email\nscalar TextArea\nscalar Latitude\nscalar RichTextArea\nscalar EncryptedString\nscalar Long\nscalar JSON\nscalar Time\nscalar Percent\nscalar LongTextArea\nscalar DateTime\nscalar ID\nscalar Boolean\nscalar MultiPicklist\nscalar Base64\nscalar Url\nscalar Picklist\nscalar Double\nscalar Int\nscalar IdOrRef\nscalar Date\n\ntype PercentAggregate implements FieldValue {\n value: Percent\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: PercentValue\n min: PercentValue\n sum: PercentValue\n}\n\ntype StringAggregate implements FieldValue {\n value: String\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: StringValue\n min: StringValue\n}\n\ntype Query {\n uiapi: UIAPI!\n setup: Setup__Setup! @fieldCategory\n analytics: Analytics__Analytics! @fieldCategory\n}\n\ninput EmailOperators {\n eq: Email\n ne: Email\n like: Email\n lt: Email\n gt: Email\n lte: Email\n gte: Email\n in: [Email]\n nin: [Email]\n}\n\ninput DoubleOperators {\n eq: Double\n ne: Double\n lt: Double\n gt: Double\n lte: Double\n gte: Double\n in: [Double]\n nin: [Double]\n}\n\ntype DateOnlyAggregation {\n value: Date\n format: String\n}\n\ntype DateAggregate implements FieldValue {\n value: Date\n displayValue: String\n calendarMonth: DateFunctionAggregation\n calendarQuarter: DateFunctionAggregation\n calendarYear: DateFunctionAggregation\n count: LongValue\n countDistinct: LongValue\n dayInMonth: DateFunctionAggregation\n dayInWeek: DateFunctionAggregation\n dayInYear: DateFunctionAggregation\n fiscalMonth: DateFunctionAggregation\n fiscalQuarter: DateFunctionAggregation\n fiscalYear: DateFunctionAggregation\n format: String\n grouping: IntValue\n max: DateValue\n min: DateValue\n weekInMonth: DateFunctionAggregation\n weekInYear: DateFunctionAggregation\n}\n\nenum GroupByFunction {\n DAY_IN_WEEK\n DAY_IN_MONTH\n DAY_IN_YEAR\n WEEK_IN_MONTH\n WEEK_IN_YEAR\n CALENDAR_MONTH\n CALENDAR_QUARTER\n CALENDAR_YEAR\n FISCAL_MONTH\n FISCAL_QUARTER\n FISCAL_YEAR\n DAY_ONLY\n HOUR_IN_DAY\n}\n\ntype RecordTypeInfo {\n available: Boolean!\n defaultRecordTypeMapping: Boolean!\n master: Boolean!\n name: String\n recordTypeId: ID\n}\n\ninput UIAPIMutationsInput {\n \"Determines whether or not all the operations should be rolled back in the event one or more operations fail.\"\n allOrNone: Boolean = true\n}\n\ntype ReferenceToInfo {\n ApiName: String!\n nameFields: [String]!\n objectInfo: ObjectInfo\n}\n\ninterface FieldValue {\n displayValue: String\n}\n\ntype LongitudeValue implements FieldValue {\n value: Longitude\n displayValue: String\n}\n\ntype IntValue implements FieldValue {\n value: Int\n displayValue: String\n format: String\n}\n\ntype UrlValue implements FieldValue {\n value: Url\n displayValue: String\n}\n\ntype LongAggregate implements FieldValue {\n value: Long\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n grouping: IntValue\n max: LongValue\n min: LongValue\n sum: LongValue\n}\n\ninput TimeOperators {\n eq: Time\n ne: Time\n lt: Time\n gt: Time\n lte: Time\n gte: Time\n in: [Time]\n nin: [Time]\n}\n\ntype PicklistValue implements FieldValue {\n value: Picklist\n displayValue: String\n label: String\n}\n\ntype RelatedListInfo @team(name: \"Lists Platform\") {\n childApiName: String!\n relatedListName: String!\n label: String!\n displayColumns: [ListColumn!]!\n orderedByInfo: [ListOrder!]!\n parentApiName: String!\n fieldApiName: String!\n}\n\ninput StringOperators {\n eq: String\n ne: String\n like: String\n lt: String\n gt: String\n lte: String\n gte: String\n in: [String]\n nin: [String]\n}\n\ntype UIAPI {\n query: RecordQuery!\n aggregate: RecordQueryAggregate!\n objectInfos(apiNames: [String!], locale: String, objectInfoInputs: [ObjectInfoInput!]): [ObjectInfo]\n relatedListByName(parentApiName: String!, relatedListName: String!): RelatedListInfo\n}\n\n\"Input for ObjectInfo and PickValues\"\ninput ObjectInfoInput {\n apiName: String!\n recordTypeIDs: [ID!]\n fieldNames: [String!]\n}\n\ninput MultiPicklistOperators {\n eq: MultiPicklist\n ne: MultiPicklist\n includes: [MultiPicklist]\n excludes: [MultiPicklist]\n}\n\ntype DateTimeAggregate implements FieldValue {\n value: DateTime\n displayValue: String\n calendarMonth: DateFunctionAggregation\n calendarQuarter: DateFunctionAggregation\n calendarYear: DateFunctionAggregation\n count: LongValue\n countDistinct: LongValue\n dayInMonth: DateFunctionAggregation\n dayInWeek: DateFunctionAggregation\n dayInYear: DateFunctionAggregation\n dayOnly: DateOnlyAggregation\n fiscalMonth: DateFunctionAggregation\n fiscalQuarter: DateFunctionAggregation\n fiscalYear: DateFunctionAggregation\n format: String\n hourInDay: DateFunctionAggregation\n max: DateTimeValue\n min: DateTimeValue\n weekInMonth: DateFunctionAggregation\n weekInYear: DateFunctionAggregation\n}\n\ntype EmailAggregate implements FieldValue {\n value: Email\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: EmailValue\n min: EmailValue\n}\n\ninput GroupByDateFunction {\n function: GroupByFunction\n}\n\ntype RichTextAreaValue implements FieldValue {\n value: RichTextArea\n displayValue: String\n label: String\n}\n\ninput DatePrimitiveOperators {\n eq: Date\n ne: Date\n lt: Date\n gt: Date\n lte: Date\n gte: Date\n in: [Date]\n nin: [Date]\n}\n\ntype TimeAggregate implements FieldValue {\n value: Time\n displayValue: String\n format: String\n hourInDay: DateFunctionAggregation\n}\n\ninput DistanceInput {\n latitude: Latitude!\n longitude: Longitude!\n}\n\nunion PolymorphicParentRelationship @generic = RecordRepresentation\n\nenum AggregateOrderByNumberFunction {\n AVG\n COUNT\n COUNT_DISTINCT\n MAX\n MIN\n SUM\n}\n\ntype LongTextAreaValue implements FieldValue {\n value: LongTextArea\n displayValue: String\n label: String\n}\n\ninput OrderByClause {\n order: ResultOrder\n nulls: NullOrder\n}\n\ntype SObject__Field {\n name: String!\n value: String\n}\n\ntype RecordAggregateConnection @generic {\n edges: [RecordAggregateEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ntype LongitudeAggregate implements FieldValue {\n value: Longitude\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n max: LongitudeValue\n min: LongitudeValue\n sum: DoubleValue\n}\n\ntype DateValue implements FieldValue {\n value: Date\n displayValue: String\n format: String\n}\n\ninput URLOperators {\n eq: Url\n ne: Url\n like: Url\n lt: Url\n gt: Url\n lte: Url\n gte: Url\n in: [Url]\n nin: [Url]\n}\n\ninput LongOperators {\n eq: Long\n ne: Long\n lt: Long\n gt: Long\n lte: Long\n gte: Long\n in: [Long]\n nin: [Long]\n}\n\nenum DataType {\n STRING\n TEXTAREA\n PHONE\n EMAIL\n URL\n ENCRYPTEDSTRING\n BOOLEAN\n CURRENCY\n INT\n LONG\n DOUBLE\n PERCENT\n DATETIME\n TIME\n DATE\n REFERENCE\n PICKLIST\n MULTIPICKLIST\n ADDRESS\n LOCATION\n BASE64\n COMPLEXVALUE\n COMBOBOX\n JSON\n JUNCTIONIDLIST\n ANYTYPE\n}\n\ntype DoubleAggregate implements FieldValue {\n value: Double\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: DoubleValue\n min: DoubleValue\n sum: DoubleValue\n}\n\ninput DateOperators {\n eq: DateInput\n ne: DateInput\n lt: DateInput\n gt: DateInput\n lte: DateInput\n gte: DateInput\n in: [DateInput]\n nin: [DateInput]\n DAY_IN_WEEK: DateFunctionInput\n DAY_IN_MONTH: DateFunctionInput\n DAY_IN_YEAR: DateFunctionInput\n WEEK_IN_MONTH: DateFunctionInput\n WEEK_IN_YEAR: DateFunctionInput\n CALENDAR_MONTH: DateFunctionInput\n CALENDAR_QUARTER: DateFunctionInput\n CALENDAR_YEAR: DateFunctionInput\n FISCAL_MONTH: DateFunctionInput\n FISCAL_QUARTER: DateFunctionInput\n FISCAL_YEAR: DateFunctionInput\n}\n\ninput GeolocationInput {\n latitude: Latitude!\n longitude: Longitude!\n radius: Float!\n unit: Unit!\n}\n\ninput JoinInput {\n Record: RecordFilter @fieldCategory\n ApiName: String\n}\n\ntype RecordUpdatePayload @generic {\n Record: RecordRepresentation\n success: Boolean @deprecated\n}\n\ninput PercentOperators {\n eq: Percent\n ne: Percent\n lt: Percent\n gt: Percent\n lte: Percent\n gte: Percent\n in: [Percent]\n nin: [Percent]\n}\n\ntype DoubleValue implements FieldValue {\n value: Double\n displayValue: String\n format: String\n}\n\ntype IDAggregate implements FieldValue {\n value: ID\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: IDValue\n min: IDValue\n}\n\ninput RecordCreateInput @generic {\n record: RecordCreateRepresentation! @fieldCategory\n}\n\ninput AggregateOrderByStringClause {\n function: AggregateOrderByStringFunction\n order: ResultsOrder\n nulls: NullsOrder\n}\n\n\"The return value for the mutation to delete a Record\"\ntype RecordDeletePayload {\n \"The ID of the deleted Record\"\n Id: ID\n}\n\nenum DateLiteral {\n YESTERDAY\n TODAY\n TOMORROW\n LAST_WEEK\n THIS_WEEK\n NEXT_WEEK\n LAST_MONTH\n THIS_MONTH\n NEXT_MONTH\n LAST_90_DAYS\n NEXT_90_DAYS\n LAST_QUARTER\n THIS_QUARTER\n NEXT_QUARTER\n LAST_FISCAL_QUARTER\n THIS_FISCAL_QUARTER\n NEXT_FISCAL_QUARTER\n LAST_YEAR\n THIS_YEAR\n NEXT_YEAR\n LAST_FISCAL_YEAR\n THIS_FISCAL_YEAR\n NEXT_FISCAL_YEAR\n}\n\ntype RecordRepresentation implements Record @generic {\n Id: ID!\n ApiName: String!\n WeakEtag: Long!\n DisplayValue: String\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n SystemModstamp: DateTimeValue\n RecordTypeId(fallback: Boolean): IDValue\n SetupUserSpecialField: BooleanValue @fieldCategory\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n AnyType: AnyType @fieldCategory\n parentRelationship: RecordRepresentation @fieldCategory\n polymorphicParentRelationship: PolymorphicParentRelationship @fieldCategory\n childRelationship(first: Int, after: String, where: RecordFilter, orderBy: RecordOrderBy, upperBound: Int): RecordConnection @fieldCategory\n CompoundField: CompoundField @fieldCategory\n}\n\ninput OrderByGeolocationClause {\n distance: DistanceInput\n order: ResultOrder\n nulls: NullOrder\n}\n\ntype TextAreaAggregate implements FieldValue {\n value: TextArea\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: TextAreaValue\n min: TextAreaValue\n}\n\nenum GroupByType {\n GROUP_BY\n ROLLUP\n CUBE\n}\n\nenum ResultsOrder {\n ASC\n DESC\n}\n\ntype PicklistAggregate implements FieldValue {\n value: Picklist\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: PicklistValue\n min: PicklistValue\n}\n\ninput RecordUpdateRepresentation @generic {\n Int: Int @fieldCategory\n String: String @fieldCategory\n Boolean: Boolean @fieldCategory\n ID: IdOrRef @fieldCategory\n DateTime: DateTime @fieldCategory\n Time: Time @fieldCategory\n Date: Date @fieldCategory\n TextArea: TextArea @fieldCategory\n LongTextArea: LongTextArea @fieldCategory\n RichTextArea: RichTextArea @fieldCategory\n PhoneNumber: PhoneNumber @fieldCategory\n Email: Email @fieldCategory\n Url: Url @fieldCategory\n EncryptedString: EncryptedString @fieldCategory\n Currency: Currency @fieldCategory\n Longitude: Longitude @fieldCategory\n Latitude: Latitude @fieldCategory\n Picklist: Picklist @fieldCategory\n MultiPicklist: MultiPicklist @fieldCategory\n Long: Long @fieldCategory\n Double: Double @fieldCategory\n Percent: Percent @fieldCategory\n Base64: Base64 @fieldCategory\n JSON: JSON @fieldCategory\n}\n\ntype DateTimeValue implements FieldValue {\n value: DateTime\n displayValue: String\n format: String\n}\n\n\"Input to the mutation to delete a Record\"\ninput RecordDeleteInput {\n \"The ID of the Record to delete\"\n Id: IdOrRef!\n}\n\ntype ListOrder @team(name: \"Lists Platform\") {\n fieldApiName: String!\n sortDirection: ResultOrder\n}\n\nenum AggregateOrderByStringFunction {\n COUNT\n COUNT_DISTINCT\n MAX\n MIN\n}\n\ntype LongValue implements FieldValue {\n value: Long\n displayValue: String\n format: String\n}\n\ntype DependentField {\n controllingField: String!\n dependentFields: [String]!\n}\n\ntype PercentValue implements FieldValue {\n value: Percent\n displayValue: String\n format: String\n}\n\ninput NoFunctionAggregateOrderByClause {\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ntype RecordConnection @generic {\n edges: [RecordEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n pageResultCount: Int!\n}\n\ntype FilteredLookupInfo {\n controllingFields: [String]!\n dependent: Boolean!\n optionalFilter: Boolean!\n}\n\ninput PhoneNumberOperators {\n eq: PhoneNumber\n ne: PhoneNumber\n like: PhoneNumber\n lt: PhoneNumber\n gt: PhoneNumber\n lte: PhoneNumber\n gte: PhoneNumber\n in: [PhoneNumber]\n nin: [PhoneNumber]\n}\n\ntype ObjectInfo {\n ApiName: String!\n childRelationships: [ChildRelationship]!\n createable: Boolean!\n custom: Boolean!\n defaultRecordTypeId: ID\n deletable: Boolean!\n dependentFields: [DependentField]!\n feedEnabled: Boolean!\n fields: [Field]!\n keyPrefix: String\n label: String\n labelPlural: String\n layoutable: Boolean!\n mruEnabled: Boolean!\n nameFields: [String]!\n queryable: Boolean!\n recordTypeInfos: [RecordTypeInfo]!\n searchable: Boolean!\n themeInfo: ThemeInfo\n updateable: Boolean!\n locale: String\n}\n\ninput LongitudeOperators {\n eq: Longitude\n ne: Longitude\n lt: Longitude\n gt: Longitude\n lte: Longitude\n gte: Longitude\n in: [Longitude]\n nin: [Longitude]\n}\n\ninterface Field {\n ApiName: String!\n calculated: Boolean!\n compound: Boolean!\n compoundComponentName: String\n compoundFieldName: String\n controllerName: String\n controllingFields: [String]!\n createable: Boolean!\n custom: Boolean!\n dataType: DataType\n extraTypeInfo: FieldExtraTypeInfo\n filterable: Boolean!\n filteredLookupInfo: FilteredLookupInfo\n highScaleNumber: Boolean!\n htmlFormatted: Boolean!\n inlineHelpText: String\n label: String\n nameField: Boolean!\n polymorphicForeignKey: Boolean!\n precision: Int\n reference: Boolean!\n referenceTargetField: String\n referenceToInfos: [ReferenceToInfo]!\n relationshipName: String\n required: Boolean!\n scale: Int\n searchPrefilterable: Boolean\n sortable: Boolean!\n updateable: Boolean!\n}\n\ntype StandardField implements Field {\n ApiName: String!\n calculated: Boolean!\n compound: Boolean!\n compoundComponentName: String\n compoundFieldName: String\n controllerName: String\n controllingFields: [String]!\n createable: Boolean!\n custom: Boolean!\n dataType: DataType\n extraTypeInfo: FieldExtraTypeInfo\n filterable: Boolean!\n filteredLookupInfo: FilteredLookupInfo\n highScaleNumber: Boolean!\n htmlFormatted: Boolean!\n inlineHelpText: String\n label: String\n nameField: Boolean!\n polymorphicForeignKey: Boolean!\n precision: Int\n reference: Boolean!\n referenceTargetField: String\n referenceToInfos: [ReferenceToInfo]!\n relationshipName: String\n required: Boolean!\n scale: Int\n searchPrefilterable: Boolean\n sortable: Boolean!\n updateable: Boolean!\n}\n\ntype PicklistField implements Field {\n ApiName: String!\n calculated: Boolean!\n compound: Boolean!\n compoundComponentName: String\n compoundFieldName: String\n controllerName: String\n controllingFields: [String]!\n createable: Boolean!\n custom: Boolean!\n dataType: DataType\n extraTypeInfo: FieldExtraTypeInfo\n filterable: Boolean!\n filteredLookupInfo: FilteredLookupInfo\n highScaleNumber: Boolean!\n htmlFormatted: Boolean!\n inlineHelpText: String\n label: String\n nameField: Boolean!\n polymorphicForeignKey: Boolean!\n picklistValuesByRecordTypeIDs: [PicklistValueByRecordTypeIDs]\n precision: Int\n reference: Boolean!\n referenceTargetField: String\n referenceToInfos: [ReferenceToInfo]!\n relationshipName: String\n required: Boolean!\n scale: Int\n searchPrefilterable: Boolean\n sortable: Boolean!\n updateable: Boolean!\n}\n\ntype PicklistValueByRecordTypeIDs {\n recordTypeID: String!\n controllerValues: [ControllerValues!]\n picklistValues: [PicklistValues!]\n defaultValue: PicklistValues\n}\n\ntype ControllerValues {\n value: String\n index: Int\n}\n\ntype PicklistValues {\n value: String\n label: String\n validFor: [Int]\n attributes: PicklistAttributes\n}\n\ntype PicklistAttributes {\n picklistAtrributesValueType: String\n connectDisplayName: String\n internalName: String\n}\n\ninput DateTimeFunctionInput {\n value: DatePrimitiveOperators\n convertTimezoneValue: DatePrimitiveOperators\n}\n\ntype Base64Value implements FieldValue {\n value: Base64\n displayValue: String\n}\n\ntype CompoundField @generic {\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n}\n\ninput RecordUpdateInput @generic {\n Id: IdOrRef!\n record: RecordUpdateRepresentation! @fieldCategory\n}\n\ninput DateTimeInput {\n value: DateTime\n literal: DateLiteral\n range: DateRange\n}\n\ntype ChildRelationship {\n childObjectApiName: String!\n fieldName: String\n junctionIdListNames: [String]!\n junctionReferenceTo: [String]!\n relationshipName: String\n objectInfo: ObjectInfo\n}\n\ntype RecordResult @generic {\n aggregate: RecordAggregate\n}\n\ntype PageInfo {\n hasNextPage: Boolean!\n hasPreviousPage: Boolean!\n startCursor: String\n endCursor: String\n}\n\ntype CurrencyValue implements FieldValue {\n value: Currency\n displayValue: String\n format: String\n convertCurrency: Currency\n}\n\ntype DateFunctionAggregation {\n value: Long\n format: String\n}\n\ninput PolymorphicParentRelationshipRecordOrderBy @generic {\n RecordOrderBy: RecordOrderBy @fieldCategory\n}\n\ntype RecordCreatePayload @generic {\n Record: RecordRepresentation\n}\n\ninput PolymorphicParentRelationshipGroupBy @generic {\n RecordGroupBy: RecordGroupBy @fieldCategory\n}\n\ntype BooleanValue implements FieldValue {\n value: Boolean\n displayValue: String\n}\n\ntype StringValue implements FieldValue {\n value: String\n displayValue: String\n label: String\n}\n\ninput IdOperators {\n eq: ID\n ne: ID\n lt: ID\n gt: ID\n lte: ID\n gte: ID\n in: [ID]\n nin: [ID]\n inq: JoinInput\n ninq: JoinInput\n}\n\ntype PhoneNumberAggregate implements FieldValue {\n value: PhoneNumber\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: PhoneNumberValue\n min: PhoneNumberValue\n}\n\ntype CurrencyAggregate implements FieldValue {\n value: Currency\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: CurrencyValue\n min: CurrencyValue\n sum: CurrencyValue\n}\n\ninput BooleanOperators {\n eq: Boolean\n ne: Boolean\n}\n\ntype MultiPicklistValue implements FieldValue {\n value: MultiPicklist\n displayValue: String\n label: String\n}\n\ntype ListColumn @team(name: \"Lists Platform\") {\n fieldApiName: String!\n label: String!\n lookupId: String\n sortable: Boolean\n}\n\ntype LatitudeAggregate implements FieldValue {\n value: Latitude\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n max: LatitudeValue\n min: LatitudeValue\n sum: DoubleValue\n}\n\ninput CurrencyOperators {\n eq: Currency\n ne: Currency\n lt: Currency\n gt: Currency\n lte: Currency\n gte: Currency\n in: [Currency]\n nin: [Currency]\n}\n\ntype LatitudeValue implements FieldValue {\n value: Latitude\n displayValue: String\n}\n\ninput GroupByClause {\n group: Boolean\n}\n\ntype RecordEdge @generic {\n node: RecordRepresentation\n cursor: String!\n}\n\nenum NullOrder {\n FIRST\n LAST\n}\n\ntype PhoneNumberValue implements FieldValue {\n value: PhoneNumber\n displayValue: String\n}\n\n# RecordScope is an empty enum\n# enum RecordScope @generic {\n# }\n\ninput TextAreaOperators {\n eq: TextArea\n ne: TextArea\n like: TextArea\n lt: TextArea\n gt: TextArea\n lte: TextArea\n gte: TextArea\n in: [TextArea]\n nin: [TextArea]\n}\n\ntype TextAreaValue implements FieldValue {\n value: TextArea\n displayValue: String\n label: String\n}\n\ntype RecordAggregateEdge @generic {\n node: RecordResult\n cursor: String!\n}\n\ntype ThemeInfo {\n color: String\n iconUrl: String\n}\n\ntype UrlAggregate implements FieldValue {\n value: Url\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: UrlValue\n min: UrlValue\n}\n\ntype IDValue implements FieldValue {\n value: ID\n displayValue: String\n}\n\nenum Unit {\n MI\n KM\n}\n\ninput PolymorphicParentRelationshipOrderBy @generic {\n RecordAggregateOrderBy: RecordAggregateOrderBy @fieldCategory\n}\n\nenum NullsOrder {\n FIRST\n LAST\n}\n\nenum ResultOrder {\n ASC\n DESC\n}\n\ninput RecordOrderBy @generic {\n orderableField: OrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: RecordOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipRecordOrderBy @fieldCategory\n}\n\ninput PicklistOperators {\n eq: Picklist\n ne: Picklist\n in: [Picklist]\n nin: [Picklist]\n like: Picklist\n lt: Picklist\n gt: Picklist\n lte: Picklist\n gte: Picklist\n}\n\ninput RecordFilter @generic {\n and: [RecordFilter]\n or: [RecordFilter]\n not: RecordFilter\n parentRelationshipRecordFilter: RecordFilter @fieldCategory\n polymorphicParentRelationshipRecordFilter: PolymorphicParentRelationshipRecordFilter @fieldCategory\n IntegerOperator: IntegerOperators @fieldCategory\n LongOperator: LongOperators @fieldCategory\n StringOperator: StringOperators @fieldCategory\n DoubleOperator: DoubleOperators @fieldCategory\n PercentOperator: PercentOperators @fieldCategory\n LongitudeOperator: LongitudeOperators @fieldCategory\n LatitudeOperator: LatitudeOperators @fieldCategory\n EmailOperator: EmailOperators @fieldCategory\n TextAreaOperator: TextAreaOperators @fieldCategory\n LongTextAreaOperator: LongTextAreaOperators @fieldCategory\n URLOperator: URLOperators @fieldCategory\n PhoneNumberOperator: PhoneNumberOperators @fieldCategory\n BooleanOperator: BooleanOperators @fieldCategory\n IdOperator: IdOperators @fieldCategory\n CurrencyOperator: CurrencyOperators @fieldCategory\n TimeOperator: TimeOperators @fieldCategory\n DateOperator: DateOperators @fieldCategory\n DateTimeOperator: DateTimeOperators @fieldCategory\n PicklistOperator: PicklistOperators @fieldCategory\n MultiPicklistOperator: MultiPicklistOperators @fieldCategory\n GeolocationOperator: GeolocationOperators @fieldCategory\n}\n\ntype TimeValue implements FieldValue {\n value: Time\n displayValue: String\n format: String\n}\n\ninput GeolocationOperators {\n lt: GeolocationInput\n gt: GeolocationInput\n}\n\ninput LatitudeOperators {\n eq: Latitude\n ne: Latitude\n lt: Latitude\n gt: Latitude\n lte: Latitude\n gte: Latitude\n in: [Latitude]\n nin: [Latitude]\n}\n\ntype IntAggregate implements FieldValue {\n value: Int\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n grouping: IntValue\n max: IntValue\n min: IntValue\n sum: LongValue\n}\n\ntype RecordAggregate @generic {\n ApiName: String!\n BooleanAggregate: BooleanAggregate @fieldCategory\n CurrencyAggregate: CurrencyAggregate @fieldCategory\n DateAggregate: DateAggregate @fieldCategory\n DoubleAggregate: DoubleAggregate @fieldCategory\n EmailAggregate: EmailAggregate @fieldCategory\n IDAggregate: IDAggregate @fieldCategory\n IntAggregate: IntAggregate @fieldCategory\n LatitudeAggregate: LatitudeAggregate @fieldCategory\n LongitudeAggregate: LongitudeAggregate @fieldCategory\n LongAggregate: LongAggregate @fieldCategory\n PercentAggregate: PercentAggregate @fieldCategory\n PhoneNumberAggregate: PhoneNumberAggregate @fieldCategory\n PicklistAggregate: PicklistAggregate @fieldCategory\n StringAggregate: StringAggregate @fieldCategory\n TextAreaAggregate: TextAreaAggregate @fieldCategory\n TimeAggregate: TimeAggregate @fieldCategory\n UrlAggregate: UrlAggregate @fieldCategory\n parentRelationship: RecordAggregate @fieldCategory\n polymorphicParentRelationship: PolymorphicAggregateParentRelationship @fieldCategory\n}\n\nenum SObject__FieldType {\n ALL\n STANDARD\n CUSTOM\n}\n\ntype JSONValue implements FieldValue {\n value: JSON\n displayValue: String\n}\n\ntype EmailValue implements FieldValue {\n value: Email\n displayValue: String\n}\n\ninput DateFunctionInput {\n value: LongOperators\n convertTimezoneValue: LongOperators\n}\n\n# Mutations are not supported by Luvio.\n# type Mutation {\n# uiapi(input: UIAPIMutationsInput): UIAPIMutations!\n# }\n\nunion PolymorphicAggregateParentRelationship @generic = RecordAggregate\n\ninput LongTextAreaOperators {\n eq: LongTextArea\n ne: LongTextArea\n like: LongTextArea\n lt: LongTextArea\n gt: LongTextArea\n lte: LongTextArea\n gte: LongTextArea\n in: [LongTextArea]\n nin: [LongTextArea]\n}\n\ninput DateTimeOperators {\n eq: DateTimeInput\n ne: DateTimeInput\n lt: DateTimeInput\n gt: DateTimeInput\n lte: DateTimeInput\n gte: DateTimeInput\n in: [DateTimeInput]\n nin: [DateTimeInput]\n DAY_IN_WEEK: DateFunctionInput\n DAY_IN_MONTH: DateFunctionInput\n DAY_IN_YEAR: DateFunctionInput\n WEEK_IN_MONTH: DateFunctionInput\n WEEK_IN_YEAR: DateFunctionInput\n CALENDAR_MONTH: DateFunctionInput\n CALENDAR_QUARTER: DateFunctionInput\n CALENDAR_YEAR: DateFunctionInput\n FISCAL_MONTH: DateFunctionInput\n FISCAL_QUARTER: DateFunctionInput\n FISCAL_YEAR: DateFunctionInput\n DAY_ONLY: DateTimeFunctionInput\n HOUR_IN_DAY: DateFunctionInput\n}\n\ntype BooleanAggregate implements FieldValue {\n value: Boolean\n displayValue: String\n grouping: IntValue\n}\n\ntype RecordQueryAggregate {\n # scope should be RecordScope, but it is an empty enum\n recordQueryAggregate(first: Int, after: String, where: RecordFilter, orderBy: RecordAggregateOrderBy, scope: String, groupBy: RecordGroupBy, upperBound: Int): RecordAggregateConnection @fieldCategory\n}\n\ninput RecordCreateRepresentation @generic {\n Int: Int @fieldCategory\n String: String @fieldCategory\n Boolean: Boolean @fieldCategory\n ID: IdOrRef @fieldCategory\n DateTime: DateTime @fieldCategory\n Time: Time @fieldCategory\n Date: Date @fieldCategory\n TextArea: TextArea @fieldCategory\n LongTextArea: LongTextArea @fieldCategory\n RichTextArea: RichTextArea @fieldCategory\n PhoneNumber: PhoneNumber @fieldCategory\n Email: Email @fieldCategory\n Url: Url @fieldCategory\n EncryptedString: EncryptedString @fieldCategory\n Currency: Currency @fieldCategory\n Longitude: Longitude @fieldCategory\n Latitude: Latitude @fieldCategory\n Picklist: Picklist @fieldCategory\n MultiPicklist: MultiPicklist @fieldCategory\n Long: Long @fieldCategory\n Double: Double @fieldCategory\n Percent: Percent @fieldCategory\n Base64: Base64 @fieldCategory\n JSON: JSON @fieldCategory\n}\n\nenum FieldExtraTypeInfo {\n IMAGE_URL\n EXTERNAL_LOOKUP\n INDIRECT_LOOKUP\n PERSONNAME\n SWITCHABLE_PERSONNAME\n PLAINTEXTAREA\n RICHTEXTAREA\n}\n\ntype RateLimit {\n cost: Long\n limit: Long\n remaining: Long\n resetAt: DateTime\n}\n\ninput DateRange {\n last_n_days: Int\n next_n_days: Int\n last_n_weeks: Int\n next_n_weeks: Int\n last_n_months: Int\n next_n_months: Int\n last_n_quarters: Int\n next_n_quarters: Int\n last_n_fiscal_quarters: Int\n next_n_fiscal_quarters: Int\n last_n_years: Int\n next_n_years: Int\n last_n_fiscal_years: Int\n next_n_fiscal_years: Int\n n_days_ago: Int\n n_weeks_ago: Int\n n_months_ago: Int\n n_quarters_ago: Int\n n_years_ago: Int\n n_fiscal_quarters_ago: Int\n n_fiscal_years_ago: Int\n}\n\ntype UIAPIMutations {\n recordCreate(input: RecordCreateInput!): RecordCreatePayload @fieldCategory\n recordDelete(input: RecordDeleteInput!): RecordDeletePayload @fieldCategory\n recordUpdate(input: RecordUpdateInput!): RecordUpdatePayload @fieldCategory\n}\n\ninput IntegerOperators {\n eq: Int\n ne: Int\n lt: Int\n gt: Int\n lte: Int\n gte: Int\n in: [Int]\n nin: [Int]\n}\n\ntype EncryptedStringValue implements FieldValue {\n value: EncryptedString\n displayValue: String\n}\n\ninterface Record {\n Id: ID!\n ApiName: String!\n WeakEtag: Long!\n DisplayValue: String\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n SystemModstamp: DateTimeValue\n RecordTypeId(fallback: Boolean): IDValue\n}\n\ninput PolymorphicParentRelationshipRecordFilter @generic {\n RecordFilter: RecordFilter @fieldCategory\n}\n\n\"\"\"\nA type that can contain any of the following types: Boolean, Date, DateTime, Double, String.\nFormat and Label are not supported by AnyType and displayValue is an unformatted string representation of the value.\n\"\"\"\nunion AnyType = BooleanValue | DateValue | DateTimeValue | DoubleValue | StringValue\n\ninput AggregateOrderByNumberClause {\n function: AggregateOrderByNumberFunction\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ninput DateInput {\n value: Date\n literal: DateLiteral\n range: DateRange\n}\n\ninput RecordGroupBy @generic {\n groupableField: GroupByClause @fieldCategory\n groupableDateField: GroupByDateFunction @fieldCategory\n groupableParentRelationship: RecordGroupBy @fieldCategory\n groupablePolymorphicParentRelationship: PolymorphicParentRelationshipGroupBy @fieldCategory\n type: GroupByType = GROUP_BY\n}\n\ntype RecordQuery {\n # scope should be RecordScope, but it is an empty enum\n recordQuery(first: Int, after: String, where: RecordFilter, orderBy: RecordOrderBy, scope: String, upperBound: Int, updateMRU: Boolean): RecordConnection @fieldCategory\n}\n\ninput RecordAggregateOrderBy @generic {\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: RecordAggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipOrderBy @fieldCategory\n}\n\ninput IgnoreRule {\n rule: String!\n teamName: String!\n justification: String!\n}\n\ndirective @generic on OBJECT | INTERFACE | UNION | ENUM | INPUT_OBJECT\ndirective @fieldCategory on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | ENUM_VALUE\ndirective @category(name: String!) on FIELD\n\"Specifies the team name for a type\"\ndirective @team(name: String!) on OBJECT | INPUT_OBJECT | INTERFACE | ENUM | UNION | SCALAR\n\"Specifies the validation rules to ignore for this element.\"\ndirective @ignoreRule(rules: [IgnoreRule!]!) on OBJECT\n | INPUT_OBJECT\n | INTERFACE\n | ENUM\n | UNION\n | SCALAR\n | FIELD_DEFINITION\n | INPUT_FIELD_DEFINITION\n | ARGUMENT_DEFINITION\n | ENUM_VALUE\ndirective @optional on FIELD\n\ntype __Type {\n kind: __TypeKind!\n name: String\n description: String\n fields(includeDeprecated: Boolean = false): [__Field!]\n interfaces: [__Type!]\n possibleTypes: [__Type!]\n enumValues(includeDeprecated: Boolean = false): [__EnumValue!]\n inputFields: [__InputValue!]\n ofType: __Type\n}";
47622
47704
 
47623
47705
  // Define additional schema that is missing from uiapi that we use in local evaluation
47624
47706
  const additionalSchemaDefinitions = /* GraphQL */ `
@@ -48848,6 +48930,10 @@ async function fetchObjectInfos(objectInfotree, pathToObjectApiNamesMap, objectI
48848
48930
  }
48849
48931
  // fetch 'ObjectInfo' before the next fields
48850
48932
  const objectInfosAtThisLevel = await objectInfoService.getObjectInfos(apiNames);
48933
+ if (keys$3(objectInfosAtThisLevel).length < apiNames.length) {
48934
+ // eslint-disable-next-line
48935
+ throw new Error(`Unable to resolve ObjectInfo(s) for ${apiNames.join(', ')}`);
48936
+ }
48851
48937
  updatedObjectInfoMap = { ...objectInfoMap, ...objectInfosAtThisLevel };
48852
48938
  }
48853
48939
  for (const nodeInfo of validObjectInfoNodes) {
@@ -49166,6 +49252,10 @@ function isPolymorphicFieldPath(path, pathToObjectApiNamesMap, objectInfos) {
49166
49252
  return false;
49167
49253
  }
49168
49254
  const parentObjectInfo = objectInfos[parentObjectApiNames[0]];
49255
+ // this should not be undefined, but lets catch it if we do end up in that state.
49256
+ if (parentObjectInfo === undefined) {
49257
+ throw new Error(`ObjectInfo is missing for ${parentObjectApiNames[0]} for ${parentApiPath}`);
49258
+ }
49169
49259
  const relationshipField = referenceIdFieldForRelationship(lastSegment);
49170
49260
  let fieldDefinition = parentObjectInfo.fields[relationshipField];
49171
49261
  if (fieldDefinition === undefined) {
@@ -54631,7 +54721,7 @@ function selectChildResourceParams(luvio, childResources, resourceParams) {
54631
54721
  reader.exitPath();
54632
54722
  }
54633
54723
  reader.assignNonScalar(sink, envelopePath, results);
54634
- deepFreeze(sink);
54724
+ deepFreeze$1(sink);
54635
54725
  reader.exitPath();
54636
54726
  return sink;
54637
54727
  },
@@ -54741,7 +54831,7 @@ function ingestSuccessChildResourceParams(luvio, childConfigs, childResourcePara
54741
54831
  const childSnapshotData = {
54742
54832
  results: childSnapshotDataResponses,
54743
54833
  };
54744
- deepFreeze(childSnapshotData);
54834
+ deepFreeze$1(childSnapshotData);
54745
54835
  return {
54746
54836
  childSnapshotData: childSnapshotData,
54747
54837
  seenRecords,
@@ -55764,6 +55854,7 @@ function createSfsSideEffectHooks(durableRecordStore) {
55764
55854
  const { create, freeze, keys, entries } = Object;
55765
55855
  const { isArray: isArray$1 } = Array;
55766
55856
  const { stringify: stringify$2, parse: parse$2 } = JSON;
55857
+ const WeakSetConstructor = WeakSet;
55767
55858
  const LogLevelMap = {
55768
55859
  TRACE: 4,
55769
55860
  DEBUG: 3,
@@ -55843,43 +55934,79 @@ function buildSubscribableResult$1(result, subscribe, refresh) {
55843
55934
  return err$1({ failure: result.error, subscribe, refresh });
55844
55935
  }
55845
55936
  }
55846
- function resolvedPromiseLike$3(result) {
55847
- if (isPromiseLike$3(result)) {
55937
+ function resolvedPromiseLike$2(result) {
55938
+ if (isPromiseLike$2(result)) {
55848
55939
  return result.then((nextResult) => nextResult);
55849
55940
  }
55850
55941
  return {
55851
55942
  then: (onFulfilled, _onRejected) => {
55852
55943
  try {
55853
- return resolvedPromiseLike$3(onFulfilled(result));
55944
+ return resolvedPromiseLike$2(onFulfilled(result));
55854
55945
  } catch (e) {
55855
55946
  if (onFulfilled === void 0) {
55856
- return resolvedPromiseLike$3(result);
55947
+ return resolvedPromiseLike$2(result);
55857
55948
  }
55858
- return rejectedPromiseLike$3(e);
55949
+ return rejectedPromiseLike$2(e);
55859
55950
  }
55860
55951
  }
55861
55952
  };
55862
55953
  }
55863
- function rejectedPromiseLike$3(reason) {
55864
- if (isPromiseLike$3(reason)) {
55954
+ function rejectedPromiseLike$2(reason) {
55955
+ if (isPromiseLike$2(reason)) {
55865
55956
  return reason.then((nextResult) => nextResult);
55866
55957
  }
55867
55958
  return {
55868
55959
  then: (_onFulfilled, onRejected) => {
55869
55960
  if (typeof onRejected === "function") {
55870
55961
  try {
55871
- return resolvedPromiseLike$3(onRejected(reason));
55962
+ return resolvedPromiseLike$2(onRejected(reason));
55872
55963
  } catch (e) {
55873
- return rejectedPromiseLike$3(e);
55964
+ return rejectedPromiseLike$2(e);
55874
55965
  }
55875
55966
  }
55876
- return rejectedPromiseLike$3(reason);
55967
+ return rejectedPromiseLike$2(reason);
55877
55968
  }
55878
55969
  };
55879
55970
  }
55880
- function isPromiseLike$3(x) {
55971
+ function isPromiseLike$2(x) {
55881
55972
  return typeof (x == null ? void 0 : x.then) === "function";
55882
55973
  }
55974
+ function deepEquals$1(x, y) {
55975
+ if (x === void 0) {
55976
+ return y === void 0;
55977
+ } else if (x === null) {
55978
+ return y === null;
55979
+ } else if (y === null) {
55980
+ return x === null;
55981
+ } else if (isArray$1(x)) {
55982
+ if (!isArray$1(y) || x.length !== y.length) {
55983
+ return false;
55984
+ }
55985
+ for (let i = 0; i < x.length; ++i) {
55986
+ if (!deepEquals$1(x[i], y[i])) {
55987
+ return false;
55988
+ }
55989
+ }
55990
+ return true;
55991
+ } else if (typeof x === "object") {
55992
+ if (typeof y !== "object") {
55993
+ return false;
55994
+ }
55995
+ const xkeys = Object.keys(x);
55996
+ const ykeys = Object.keys(y);
55997
+ if (xkeys.length !== ykeys.length) {
55998
+ return false;
55999
+ }
56000
+ for (let i = 0; i < xkeys.length; ++i) {
56001
+ const key = xkeys[i];
56002
+ if (!deepEquals$1(x[key], y[key])) {
56003
+ return false;
56004
+ }
56005
+ }
56006
+ return true;
56007
+ }
56008
+ return x === y;
56009
+ }
55883
56010
  function stableJSONStringify(node) {
55884
56011
  if (node && node.toJSON && typeof node.toJSON === "function") {
55885
56012
  node = node.toJSON();
@@ -55970,6 +56097,24 @@ class FetchResponse extends Error {
55970
56097
  this.statusText = getStatusText(status);
55971
56098
  }
55972
56099
  }
56100
+ const deeplyFrozen = new WeakSetConstructor();
56101
+ function deepFreeze(value) {
56102
+ if (typeof value !== "object" || value === null || deeplyFrozen.has(value)) {
56103
+ return;
56104
+ }
56105
+ deeplyFrozen.add(value);
56106
+ if (isArray$1(value)) {
56107
+ for (let i = 0, len = value.length; i < len; i += 1) {
56108
+ deepFreeze(value[i]);
56109
+ }
56110
+ } else {
56111
+ const keys$1 = keys(value);
56112
+ for (let i = 0, len = keys$1.length; i < len; i += 1) {
56113
+ deepFreeze(value[keys$1[i]]);
56114
+ }
56115
+ }
56116
+ freeze(value);
56117
+ }
55973
56118
  class InternalError extends Error {
55974
56119
  constructor(data) {
55975
56120
  super();
@@ -55984,6 +56129,15 @@ class UserVisibleError extends Error {
55984
56129
  this.type = "user-visible";
55985
56130
  }
55986
56131
  }
56132
+ function isUserVisibleError$1(error) {
56133
+ return error instanceof Error && "type" in error && error.type === "user-visible";
56134
+ }
56135
+ function logError$1(error) {
56136
+ if (isUserVisibleError$1(error)) {
56137
+ return;
56138
+ }
56139
+ console.error("OneStore Command threw an error that we did not expect", error);
56140
+ }
55987
56141
 
55988
56142
  /*!
55989
56143
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -56040,7 +56194,7 @@ let NetworkCommand$1 = class NetworkCommand extends BaseCommand {
56040
56194
  async afterRequestHooks(_options) {
56041
56195
  }
56042
56196
  };
56043
- function buildServiceDescriptor$h() {
56197
+ function buildServiceDescriptor$n() {
56044
56198
  return {
56045
56199
  type: "networkCommandBaseClass",
56046
56200
  version: "1.0",
@@ -56139,10 +56293,10 @@ class AuraNetworkCommand extends NetworkCommand$1 {
56139
56293
  } else if (this.shouldUseFetch()) {
56140
56294
  return this.convertFetchResponseToData(this.services.fetch(...this.fetchParams));
56141
56295
  }
56142
- return resolvedPromiseLike$3(err$1(toError("Aura/Fetch network services not found")));
56296
+ return resolvedPromiseLike$2(err$1(toError("Aura/Fetch network services not found")));
56143
56297
  }
56144
56298
  }
56145
- function buildServiceDescriptor$g() {
56299
+ function buildServiceDescriptor$m() {
56146
56300
  return {
56147
56301
  type: "auraNetworkCommandBaseClass",
56148
56302
  version: "1.0",
@@ -56192,41 +56346,41 @@ function buildSubscribableResult(result, subscribe, refresh) {
56192
56346
  return err({ failure: result.error, subscribe, refresh });
56193
56347
  }
56194
56348
  }
56195
- function resolvedPromiseLike$2(result) {
56196
- if (isPromiseLike$2(result)) {
56349
+ function resolvedPromiseLike$1(result) {
56350
+ if (isPromiseLike$1(result)) {
56197
56351
  return result.then((nextResult) => nextResult);
56198
56352
  }
56199
56353
  return {
56200
56354
  then: (onFulfilled, _onRejected) => {
56201
56355
  try {
56202
- return resolvedPromiseLike$2(onFulfilled(result));
56356
+ return resolvedPromiseLike$1(onFulfilled(result));
56203
56357
  } catch (e) {
56204
56358
  if (onFulfilled === void 0) {
56205
- return resolvedPromiseLike$2(result);
56359
+ return resolvedPromiseLike$1(result);
56206
56360
  }
56207
- return rejectedPromiseLike$2(e);
56361
+ return rejectedPromiseLike$1(e);
56208
56362
  }
56209
56363
  }
56210
56364
  };
56211
56365
  }
56212
- function rejectedPromiseLike$2(reason) {
56213
- if (isPromiseLike$2(reason)) {
56366
+ function rejectedPromiseLike$1(reason) {
56367
+ if (isPromiseLike$1(reason)) {
56214
56368
  return reason.then((nextResult) => nextResult);
56215
56369
  }
56216
56370
  return {
56217
56371
  then: (_onFulfilled, onRejected) => {
56218
56372
  if (typeof onRejected === "function") {
56219
56373
  try {
56220
- return resolvedPromiseLike$2(onRejected(reason));
56374
+ return resolvedPromiseLike$1(onRejected(reason));
56221
56375
  } catch (e) {
56222
- return rejectedPromiseLike$2(e);
56376
+ return rejectedPromiseLike$1(e);
56223
56377
  }
56224
56378
  }
56225
- return rejectedPromiseLike$2(reason);
56379
+ return rejectedPromiseLike$1(reason);
56226
56380
  }
56227
56381
  };
56228
56382
  }
56229
- function isPromiseLike$2(x) {
56383
+ function isPromiseLike$1(x) {
56230
56384
  return typeof (x == null ? void 0 : x.then) === "function";
56231
56385
  }
56232
56386
  function deepEquals(x, y) {
@@ -56461,7 +56615,7 @@ class CacheControlCommand extends BaseCommand {
56461
56615
  });
56462
56616
  }
56463
56617
  }
56464
- return resolvedPromiseLike$2(void 0);
56618
+ return resolvedPromiseLike$1(void 0);
56465
56619
  }
56466
56620
  get operationType() {
56467
56621
  return "query";
@@ -56737,7 +56891,7 @@ let AuraCacheControlCommand$1 = class AuraCacheControlCommand extends CacheContr
56737
56891
  } else if (this.shouldUseFetch()) {
56738
56892
  return this.convertFetchResponseToData(this.services.fetch(...this.fetchParams));
56739
56893
  }
56740
- return resolvedPromiseLike$3(err$1(toError("Aura/Fetch network services not found")));
56894
+ return resolvedPromiseLike$2(err$1(toError("Aura/Fetch network services not found")));
56741
56895
  }
56742
56896
  coerceAuraErrors(auraErrors) {
56743
56897
  return toError(auraErrors[0]);
@@ -56810,11 +56964,11 @@ class AuraNormalizedCacheControlCommand extends AuraCacheControlCommand$1 {
56810
56964
  readFromCache(cache) {
56811
56965
  const data = this.buildResultType().query(cache, this.buildQuery());
56812
56966
  if (data.isErr()) {
56813
- return resolvedPromiseLike$3(
56967
+ return resolvedPromiseLike$2(
56814
56968
  err$1(new Error(`Failed to build data from type: ${stringify$2(data.error)}`))
56815
56969
  );
56816
56970
  }
56817
- return resolvedPromiseLike$3(ok$1(data.value));
56971
+ return resolvedPromiseLike$2(ok$1(data.value));
56818
56972
  }
56819
56973
  writeToCache(cache, networkResult) {
56820
56974
  if (networkResult.isOk()) {
@@ -56823,10 +56977,10 @@ class AuraNormalizedCacheControlCommand extends AuraCacheControlCommand$1 {
56823
56977
  this.buildWriteInput(networkResult.value)
56824
56978
  );
56825
56979
  }
56826
- return resolvedPromiseLike$3(void 0);
56980
+ return resolvedPromiseLike$2(void 0);
56827
56981
  }
56828
56982
  }
56829
- function buildServiceDescriptor$f() {
56983
+ function buildServiceDescriptor$l() {
56830
56984
  return {
56831
56985
  type: "auraNormalizedCacheControlCommand",
56832
56986
  version: "1.0",
@@ -56876,7 +57030,7 @@ class AuraCacheControlCommand extends CacheControlCommand {
56876
57030
  } else if (this.shouldUseFetch()) {
56877
57031
  return this.convertFetchResponseToData(this.services.fetch(...this.fetchParams));
56878
57032
  }
56879
- return resolvedPromiseLike$3(err$1(toError("Aura/Fetch network services not found")));
57033
+ return resolvedPromiseLike$2(err$1(toError("Aura/Fetch network services not found")));
56880
57034
  }
56881
57035
  coerceAuraErrors(auraErrors) {
56882
57036
  return toError(auraErrors[0]);
@@ -56950,9 +57104,9 @@ class AuraResourceCacheControlCommand extends AuraCacheControlCommand {
56950
57104
  var _a;
56951
57105
  const data = (_a = cache.get(this.buildKey())) == null ? void 0 : _a.value;
56952
57106
  if (data === void 0) {
56953
- return resolvedPromiseLike$3(err$1(new Error("Failed to find data in cache")));
57107
+ return resolvedPromiseLike$2(err$1(new Error("Failed to find data in cache")));
56954
57108
  }
56955
- return resolvedPromiseLike$3(ok$1(data));
57109
+ return resolvedPromiseLike$2(ok$1(data));
56956
57110
  }
56957
57111
  writeToCache(cache, networkResult) {
56958
57112
  if (networkResult.isOk()) {
@@ -56963,13 +57117,13 @@ class AuraResourceCacheControlCommand extends AuraCacheControlCommand {
56963
57117
  }
56964
57118
  });
56965
57119
  }
56966
- return resolvedPromiseLike$3(void 0);
57120
+ return resolvedPromiseLike$2(void 0);
56967
57121
  }
56968
57122
  buildKey() {
56969
57123
  return `{"endpoint":${this.endpoint},"params":${stableJSONStringify(this.auraParams)}}`;
56970
57124
  }
56971
57125
  }
56972
- function buildServiceDescriptor$e() {
57126
+ function buildServiceDescriptor$k() {
56973
57127
  return {
56974
57128
  type: "auraResourceCacheControlCommand",
56975
57129
  version: "1.0",
@@ -57147,7 +57301,7 @@ _FetchNetworkCommand.availableDecorators = {
57147
57301
  abortable: createAbortableDecorator
57148
57302
  };
57149
57303
  let FetchNetworkCommand = _FetchNetworkCommand;
57150
- function buildServiceDescriptor$d() {
57304
+ function buildServiceDescriptor$j() {
57151
57305
  return {
57152
57306
  type: "fetchNetworkCommandBaseClass",
57153
57307
  version: "1.0",
@@ -57220,11 +57374,11 @@ class HttpNormalizedCacheControlCommand extends HttpCacheControlCommand {
57220
57374
  readFromCache(cache) {
57221
57375
  const data = this.buildResultType().query(cache, this.buildQuery());
57222
57376
  if (data.isErr()) {
57223
- return resolvedPromiseLike$3(
57377
+ return resolvedPromiseLike$2(
57224
57378
  err$1(new Error(`Failed to build data from type: ${stringify$2(data.error)}`))
57225
57379
  );
57226
57380
  }
57227
- return resolvedPromiseLike$3(ok$1(data.value));
57381
+ return resolvedPromiseLike$2(ok$1(data.value));
57228
57382
  }
57229
57383
  writeToCache(cache, networkResult) {
57230
57384
  if (networkResult.isOk()) {
@@ -57233,10 +57387,10 @@ class HttpNormalizedCacheControlCommand extends HttpCacheControlCommand {
57233
57387
  this.buildWriteInput(networkResult.value)
57234
57388
  );
57235
57389
  }
57236
- return resolvedPromiseLike$3(void 0);
57390
+ return resolvedPromiseLike$2(void 0);
57237
57391
  }
57238
57392
  }
57239
- function buildServiceDescriptor$c() {
57393
+ function buildServiceDescriptor$i() {
57240
57394
  return {
57241
57395
  type: "httpNormalizedCacheControlCommand",
57242
57396
  version: "1.0",
@@ -57489,7 +57643,7 @@ let DefaultCache$1 = class DefaultCache {
57489
57643
  return new FixedTimeWritableCache$1(this, generatedTime);
57490
57644
  }
57491
57645
  };
57492
- function buildServiceDescriptor$b() {
57646
+ function buildServiceDescriptor$h() {
57493
57647
  return {
57494
57648
  type: "cache",
57495
57649
  version: "1.0",
@@ -57712,7 +57866,7 @@ class CacheController {
57712
57866
  yield* this.services.cacheInclusionPolicy.findAndModify(query, cacheUpdate);
57713
57867
  }
57714
57868
  }
57715
- function buildServiceDescriptor$a(cache, cacheInclusionPolicy, instrumentation) {
57869
+ function buildServiceDescriptor$g(cache, cacheInclusionPolicy, instrumentation) {
57716
57870
  return {
57717
57871
  type: "cacheController",
57718
57872
  version: "1.0",
@@ -57763,7 +57917,7 @@ function buildInstrumentCommand(services) {
57763
57917
  };
57764
57918
  };
57765
57919
  }
57766
- function buildServiceDescriptor$9(instrumentation) {
57920
+ function buildServiceDescriptor$f(instrumentation) {
57767
57921
  return {
57768
57922
  type: "instrumentCommand",
57769
57923
  version: "1.0",
@@ -58033,7 +58187,7 @@ class O11yInstrumentation {
58033
58187
  this.metrics = new O11yOTelMetricsAPI(this.services);
58034
58188
  }
58035
58189
  }
58036
- function buildServiceDescriptor$8(logger) {
58190
+ function buildServiceDescriptor$e(logger) {
58037
58191
  return {
58038
58192
  type: "instrumentation",
58039
58193
  version: "1.0",
@@ -58046,48 +58200,6 @@ function buildServiceDescriptor$8(logger) {
58046
58200
  * All rights reserved.
58047
58201
  * For full license text, see the LICENSE.txt file
58048
58202
  */
58049
- /*!
58050
- * Copyright (c) 2022, Salesforce, Inc.,
58051
- * All rights reserved.
58052
- * For full license text, see the LICENSE.txt file
58053
- */
58054
- function resolvedPromiseLike$1(result) {
58055
- if (isPromiseLike$1(result)) {
58056
- return result.then((nextResult) => nextResult);
58057
- }
58058
- return {
58059
- then: (onFulfilled, _onRejected) => {
58060
- try {
58061
- return resolvedPromiseLike$1(onFulfilled(result));
58062
- } catch (e) {
58063
- if (onFulfilled === void 0) {
58064
- return resolvedPromiseLike$1(result);
58065
- }
58066
- return rejectedPromiseLike$1(e);
58067
- }
58068
- }
58069
- };
58070
- }
58071
- function rejectedPromiseLike$1(reason) {
58072
- if (isPromiseLike$1(reason)) {
58073
- return reason.then((nextResult) => nextResult);
58074
- }
58075
- return {
58076
- then: (_onFulfilled, onRejected) => {
58077
- if (typeof onRejected === "function") {
58078
- try {
58079
- return resolvedPromiseLike$1(onRejected(reason));
58080
- } catch (e) {
58081
- return rejectedPromiseLike$1(e);
58082
- }
58083
- }
58084
- return rejectedPromiseLike$1(reason);
58085
- }
58086
- };
58087
- }
58088
- function isPromiseLike$1(x) {
58089
- return typeof (x == null ? void 0 : x.then) === "function";
58090
- }
58091
58203
  const EventTypeWildcard = Symbol("EventTypeWildcard");
58092
58204
  class DefaultPubSubService {
58093
58205
  constructor() {
@@ -58115,14 +58227,14 @@ class DefaultPubSubService {
58115
58227
  return;
58116
58228
  }
58117
58229
  const returnVal = subscription.callback.call(subscription, event);
58118
- if (isPromiseLike$1(returnVal)) {
58230
+ if (isPromiseLike$2(returnVal)) {
58119
58231
  promises.push(returnVal);
58120
58232
  }
58121
58233
  });
58122
58234
  if (promises.length > 0) {
58123
58235
  return Promise.all(promises).then(() => void 0);
58124
58236
  }
58125
- return resolvedPromiseLike$1(void 0);
58237
+ return resolvedPromiseLike$2(void 0);
58126
58238
  }
58127
58239
  getSubscriptions(event) {
58128
58240
  const eventTypeSubscriptions = this.subscriptions.get(event.type);
@@ -58143,7 +58255,7 @@ class DefaultPubSubService {
58143
58255
  return matchingSubscriptions;
58144
58256
  }
58145
58257
  }
58146
- function buildServiceDescriptor$7() {
58258
+ function buildServiceDescriptor$d() {
58147
58259
  return {
58148
58260
  type: "pubSub",
58149
58261
  version: "1.0",
@@ -58167,7 +58279,7 @@ class FeatureFlagsService {
58167
58279
  return this.flags.get(flagName) || defaultValue;
58168
58280
  }
58169
58281
  }
58170
- function buildServiceDescriptor$6() {
58282
+ function buildServiceDescriptor$c() {
58171
58283
  return {
58172
58284
  version: "1.0",
58173
58285
  service: new FeatureFlagsService(),
@@ -58208,7 +58320,7 @@ function buildServiceDescriptor$6() {
58208
58320
  * };
58209
58321
  * ```
58210
58322
  */
58211
- function buildServiceDescriptor$5(luvio) {
58323
+ function buildServiceDescriptor$b(luvio) {
58212
58324
  return {
58213
58325
  type: 'luvio',
58214
58326
  version: '1.0',
@@ -58217,7 +58329,7 @@ function buildServiceDescriptor$5(luvio) {
58217
58329
  },
58218
58330
  };
58219
58331
  }
58220
- // version: 1.401.0-c620f9ffed
58332
+ // version: 1.403.0-5476a05446
58221
58333
 
58222
58334
  /**
58223
58335
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -58233,7 +58345,7 @@ function buildServiceDescriptor$5(luvio) {
58233
58345
  * *******************************************************************************************
58234
58346
  */
58235
58347
  /* proxy-compat-disable */
58236
- function buildServiceDescriptor$4(notifyRecordUpdateAvailable, getNormalizedLuvioRecord) {
58348
+ function buildServiceDescriptor$a(notifyRecordUpdateAvailable, getNormalizedLuvioRecord) {
58237
58349
  return {
58238
58350
  type: 'luvioUiapiRecords',
58239
58351
  version: '1.0',
@@ -58243,7 +58355,7 @@ function buildServiceDescriptor$4(notifyRecordUpdateAvailable, getNormalizedLuvi
58243
58355
  },
58244
58356
  };
58245
58357
  }
58246
- // version: 1.401.0-c620f9ffed
58358
+ // version: 1.403.0-5476a05446
58247
58359
 
58248
58360
  /*!
58249
58361
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -59084,6 +59196,62 @@ function hasMultilineItems(maybeArray) {
59084
59196
  var _maybeArray$some;
59085
59197
  return (_maybeArray$some = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.some((str) => str.includes("\n"))) !== null && _maybeArray$some !== void 0 ? _maybeArray$some : false;
59086
59198
  }
59199
+ const referenceMap = /* @__PURE__ */ new WeakMap();
59200
+ const astResolver = function(astReference) {
59201
+ return referenceMap.get(astReference);
59202
+ };
59203
+ function findExecutableOperation$1(document, operationName) {
59204
+ const operations = document.definitions.filter(
59205
+ (def) => def.kind === Kind.OPERATION_DEFINITION
59206
+ );
59207
+ if (operations.length === 0) {
59208
+ return void 0;
59209
+ }
59210
+ if (operations.length === 1 && !operationName) {
59211
+ return operations[0];
59212
+ }
59213
+ if (operationName) {
59214
+ return operations.find((op) => {
59215
+ var _a;
59216
+ return ((_a = op.name) == null ? void 0 : _a.value) === operationName;
59217
+ });
59218
+ }
59219
+ return void 0;
59220
+ }
59221
+ function validateGraphQLOperations(config, options) {
59222
+ const executableOperation = findExecutableOperation$1(config.query, config.operationName);
59223
+ if (executableOperation) {
59224
+ const operationType = executableOperation.operation;
59225
+ if (!options.acceptedOperations.includes(operationType)) {
59226
+ const operationTypeCapitalized = operationType.charAt(0).toUpperCase() + operationType.slice(1);
59227
+ throw new Error(
59228
+ `${operationTypeCapitalized} operations are not supported in this context`
59229
+ );
59230
+ }
59231
+ }
59232
+ }
59233
+ function resolveAst(ast) {
59234
+ if (ast === null || ast === void 0) {
59235
+ return;
59236
+ }
59237
+ const result = astResolver(ast);
59238
+ if (result === void 0) {
59239
+ throw new Error("Could not resolve AST. Did you parse the query with gql?");
59240
+ }
59241
+ return result;
59242
+ }
59243
+ function wrapConfigAndVerify(config, options) {
59244
+ if (config == null ? void 0 : config.query) {
59245
+ config = { ...config, query: resolveAst(config.query) };
59246
+ if (config.query === void 0) {
59247
+ throw new Error("Internal error in GraphQL adapter occurred: Unable to resolve query");
59248
+ }
59249
+ validateGraphQLOperations(config, {
59250
+ acceptedOperations: (options == null ? void 0 : options.acceptedOperations) ?? ["query"]
59251
+ });
59252
+ }
59253
+ return config;
59254
+ }
59087
59255
 
59088
59256
  /*!
59089
59257
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -59300,7 +59468,7 @@ class AuraGraphQLNormalizedCacheControlCommand extends AuraNormalizedCacheContro
59300
59468
  return buildSubscribableResult$1(result, this.buildSubscribe(), () => this.refresh());
59301
59469
  });
59302
59470
  }
59303
- return resolvedPromiseLike$3(
59471
+ return resolvedPromiseLike$2(
59304
59472
  buildSubscribableResult$1(
59305
59473
  err$1(toError("Aura/Fetch network services not found")),
59306
59474
  this.buildSubscribe(),
@@ -59342,7 +59510,7 @@ class AuraGraphQLNormalizedCacheControlCommand extends AuraNormalizedCacheContro
59342
59510
  });
59343
59511
  }
59344
59512
  }
59345
- function buildServiceDescriptor$3() {
59513
+ function buildServiceDescriptor$9() {
59346
59514
  return {
59347
59515
  type: "auraGraphQLNormalizedCacheControlCommand",
59348
59516
  version: "1.0",
@@ -59460,7 +59628,7 @@ class HttpGraphQLNormalizedCacheControlCommand extends HttpNormalizedCacheContro
59460
59628
  });
59461
59629
  }
59462
59630
  }
59463
- function buildServiceDescriptor$2() {
59631
+ function buildServiceDescriptor$8() {
59464
59632
  return {
59465
59633
  type: "httpGraphQLNormalizedCacheControlCommand",
59466
59634
  version: "1.0",
@@ -59473,26 +59641,1179 @@ function buildServiceDescriptor$2() {
59473
59641
  * All rights reserved.
59474
59642
  * For full license text, see the LICENSE.txt file
59475
59643
  */
59476
- function buildServiceDescriptor$1(interceptors = { request: [], response: [] }, retryService) {
59644
+ class JsonSchemaViolationError extends Error {
59645
+ constructor(message, validationErrors) {
59646
+ super(message);
59647
+ this.validationErrors = [];
59648
+ this.validationErrors = validationErrors || [];
59649
+ }
59650
+ }
59651
+ class MinItemsViolationError extends JsonSchemaViolationError {
59652
+ }
59653
+ class MaxItemsViolationError extends JsonSchemaViolationError {
59654
+ }
59655
+ class IncorrectTypeError extends JsonSchemaViolationError {
59656
+ }
59657
+ class AdditionalPropertiesError extends JsonSchemaViolationError {
59658
+ }
59659
+ class MissingRequiredPropertyError extends JsonSchemaViolationError {
59660
+ }
59661
+ class InvalidRefError extends JsonSchemaViolationError {
59662
+ }
59663
+ class JsonSchemaErrorCollector {
59664
+ constructor() {
59665
+ this.errors = [];
59666
+ }
59667
+ add(error) {
59668
+ this.errors.push(error);
59669
+ }
59670
+ append(response) {
59671
+ if (response.isErr()) {
59672
+ this.errors.push(...response.error);
59673
+ }
59674
+ }
59675
+ hasErrors() {
59676
+ return this.errors.length > 0;
59677
+ }
59678
+ prepend(error) {
59679
+ this.errors.unshift(error);
59680
+ }
59681
+ toValidationResponse() {
59682
+ return !this.hasErrors() ? ok$1(true) : err$1(this.errors);
59683
+ }
59684
+ }
59685
+ function createThrowableError(errors) {
59686
+ if (errors[0] instanceof MinItemsViolationError) {
59687
+ return new MinItemsViolationError(errors[0].message, errors);
59688
+ }
59689
+ if (errors[0] instanceof MaxItemsViolationError) {
59690
+ return new MaxItemsViolationError(errors[0].message, errors);
59691
+ }
59692
+ if (errors[0] instanceof IncorrectTypeError) {
59693
+ return new IncorrectTypeError(errors[0].message, errors);
59694
+ }
59695
+ if (errors[0] instanceof AdditionalPropertiesError) {
59696
+ return new AdditionalPropertiesError(errors[0].message, errors);
59697
+ }
59698
+ if (errors[0] instanceof MissingRequiredPropertyError) {
59699
+ return new MissingRequiredPropertyError(errors[0].message, errors);
59700
+ }
59701
+ if (errors[0] instanceof InvalidRefError) {
59702
+ return new InvalidRefError(errors[0].message, errors);
59703
+ }
59704
+ return new JsonSchemaViolationError(errors[0].message, errors);
59705
+ }
59706
+ function assertIsValid(data, schema) {
59707
+ const validationResponse = validateJsonSchema(data, schema);
59708
+ if (validationResponse.isErr()) {
59709
+ throw createThrowableError(validationResponse.error);
59710
+ }
59711
+ }
59712
+ function incorrectTypeError(expected, actual, path) {
59713
+ return new IncorrectTypeError(
59714
+ `Expected type ${expected} at path '${path}', found type ${actual}.`
59715
+ );
59716
+ }
59717
+ function validSchemaResponse() {
59718
+ return ok$1(true);
59719
+ }
59720
+ function invalidSchemaResponseWithError(error) {
59721
+ return err$1([error]);
59722
+ }
59723
+ function validateJsonSchema(data, schema, path = "$", document = schema) {
59724
+ if (schema === true) return validSchemaResponse();
59725
+ if (schema === false)
59726
+ return invalidSchemaResponseWithError(
59727
+ new JsonSchemaViolationError(`Data at ${path} has schema 'false'`)
59728
+ );
59729
+ const dataType = data === null ? "null" : Array.isArray(data) ? "array" : typeof data;
59730
+ const errorCollector = new JsonSchemaErrorCollector();
59731
+ if ("anyOf" in schema) {
59732
+ errorCollector.append(validateAnyOf(data, schema, path, document));
59733
+ } else if ("oneOf" in schema) {
59734
+ errorCollector.append(validateOneOf(data, schema, path, document));
59735
+ } else if ("allOf" in schema) {
59736
+ errorCollector.append(validateAllOf(data, schema, path, document));
59737
+ } else if ("not" in schema) {
59738
+ errorCollector.append(validateNot(data, schema, path, document));
59739
+ } else if ("$ref" in schema) {
59740
+ errorCollector.append(validateRef(data, schema, path, document));
59741
+ } else if ("type" in schema) {
59742
+ if (schema.type === "object") {
59743
+ if (dataType !== "object") {
59744
+ errorCollector.add(incorrectTypeError("object", dataType, path));
59745
+ } else {
59746
+ errorCollector.append(
59747
+ validateObject(data, schema, path, document)
59748
+ );
59749
+ }
59750
+ } else if (schema.type === "array") {
59751
+ if (dataType !== "array") {
59752
+ errorCollector.add(incorrectTypeError("array", dataType, path));
59753
+ } else {
59754
+ errorCollector.append(
59755
+ validateArray(data, schema, path, document)
59756
+ );
59757
+ }
59758
+ } else {
59759
+ errorCollector.append(
59760
+ validateScalar(data, schema, path)
59761
+ );
59762
+ }
59763
+ }
59764
+ if (schema.enum) {
59765
+ errorCollector.append(validateEnum(data, schema.enum, path));
59766
+ }
59767
+ if (schema.const) {
59768
+ errorCollector.append(validateConst(data, schema.const, path));
59769
+ }
59770
+ return errorCollector.toValidationResponse();
59771
+ }
59772
+ function validateAnyOf(data, schema, path, document) {
59773
+ let isValid = false;
59774
+ const errorCollector = new JsonSchemaErrorCollector();
59775
+ for (let i = 0, { length } = schema.anyOf; i < length; i++) {
59776
+ const element = schema.anyOf[i];
59777
+ const validationResponse = validateJsonSchema(
59778
+ data,
59779
+ element,
59780
+ `${path}.anyOf[${i}]`,
59781
+ document
59782
+ );
59783
+ if (validationResponse.isOk()) {
59784
+ isValid = true;
59785
+ break;
59786
+ } else {
59787
+ errorCollector.append(validationResponse);
59788
+ }
59789
+ }
59790
+ if (!isValid) {
59791
+ errorCollector.prepend(
59792
+ new JsonSchemaViolationError(`Data at ${path} did not match any subschema in anyOf.`)
59793
+ );
59794
+ return errorCollector.toValidationResponse();
59795
+ }
59796
+ return validSchemaResponse();
59797
+ }
59798
+ function validateOneOf(data, schema, path, document) {
59799
+ let validSubShemaPaths = [];
59800
+ const errorCollector = new JsonSchemaErrorCollector();
59801
+ for (let i = 0, { length } = schema.oneOf; i < length; i++) {
59802
+ const element = schema.oneOf[i];
59803
+ const oneOfPath = `${path}.oneOf[${i}]`;
59804
+ const validationResponse = validateJsonSchema(data, element, oneOfPath, document);
59805
+ if (validationResponse.isOk()) {
59806
+ validSubShemaPaths.push(oneOfPath);
59807
+ } else {
59808
+ errorCollector.append(validationResponse);
59809
+ }
59810
+ }
59811
+ if (validSubShemaPaths.length === 0) {
59812
+ errorCollector.prepend(
59813
+ new JsonSchemaViolationError(`Data at ${path} did not match any subschema in oneOf.`)
59814
+ );
59815
+ return errorCollector.toValidationResponse();
59816
+ } else if (validSubShemaPaths.length > 1) {
59817
+ errorCollector.prepend(
59818
+ new JsonSchemaViolationError(
59819
+ `Data at ${path} matched multiple subschemas: [${validSubShemaPaths.join(", ")}].`
59820
+ )
59821
+ );
59822
+ return errorCollector.toValidationResponse();
59823
+ }
59824
+ return validSchemaResponse();
59825
+ }
59826
+ function validateAllOf(data, schema, path, document) {
59827
+ let isValid = true;
59828
+ const errorCollector = new JsonSchemaErrorCollector();
59829
+ for (let i = 0, { length } = schema.allOf; i < length; i++) {
59830
+ const element = schema.allOf[i];
59831
+ const validationResponse = validateJsonSchema(
59832
+ data,
59833
+ element,
59834
+ `${path}.allOf[${i}]`,
59835
+ document
59836
+ );
59837
+ if (!validationResponse.isOk()) {
59838
+ errorCollector.append(validationResponse);
59839
+ isValid = false;
59840
+ }
59841
+ }
59842
+ if (!isValid) {
59843
+ errorCollector.prepend(
59844
+ new JsonSchemaViolationError(`Data at ${path} did not match some subschemas in allOf.`)
59845
+ );
59846
+ }
59847
+ return errorCollector.toValidationResponse();
59848
+ }
59849
+ function validateNot(data, schema, path, document) {
59850
+ const validationResponse = validateJsonSchema(data, schema.not, path, document);
59851
+ if (validationResponse.isOk()) {
59852
+ return invalidSchemaResponseWithError(
59853
+ new JsonSchemaViolationError(
59854
+ `Data at ${path} validated against the schema of a not clause.`
59855
+ )
59856
+ );
59857
+ }
59858
+ return validSchemaResponse();
59859
+ }
59860
+ function validateObject(data, schema, path, document) {
59861
+ const schemaKeys = Object.keys(schema.properties);
59862
+ const requiredKeys = new Set(schema.required);
59863
+ const schemaKeySet = new Set(schemaKeys);
59864
+ const errorCollector = new JsonSchemaErrorCollector();
59865
+ Object.keys(data).forEach((key) => {
59866
+ if (!schemaKeySet.has(key)) {
59867
+ errorCollector.append(
59868
+ validateJsonSchema(
59869
+ data[key],
59870
+ schema.additionalProperties,
59871
+ `${path}.additionalProperties[${key}]`,
59872
+ document
59873
+ )
59874
+ );
59875
+ }
59876
+ });
59877
+ for (let i = 0, length = schemaKeys.length; i < length; i++) {
59878
+ const key = schemaKeys[i];
59879
+ const keyInData = key in data && data[key] !== void 0;
59880
+ if (requiredKeys.has(key) && !keyInData) {
59881
+ errorCollector.add(
59882
+ new MissingRequiredPropertyError(
59883
+ `Object at path '${path}' is missing required property '${key}'.`
59884
+ )
59885
+ );
59886
+ }
59887
+ if (keyInData) {
59888
+ errorCollector.append(
59889
+ validateJsonSchema(
59890
+ data[key],
59891
+ schema.properties[key],
59892
+ `${path}.${key}`,
59893
+ document
59894
+ )
59895
+ );
59896
+ }
59897
+ }
59898
+ return errorCollector.toValidationResponse();
59899
+ }
59900
+ function validateArray(data, schema, path, document) {
59901
+ if (schema.minItems !== void 0 && data.length < schema.minItems) {
59902
+ return invalidSchemaResponseWithError(
59903
+ new MinItemsViolationError(
59904
+ `Array at path '${path}' fails minItems constraint. Has ${data.length} items, needs at least ${schema.minItems}.`
59905
+ )
59906
+ );
59907
+ }
59908
+ if (schema.maxItems !== void 0 && data.length > schema.maxItems) {
59909
+ return invalidSchemaResponseWithError(
59910
+ new MaxItemsViolationError(
59911
+ `Array at path '${path}' fails maxItems constraint. Has ${data.length} items, needs at most ${schema.maxItems}.`
59912
+ )
59913
+ );
59914
+ }
59915
+ const errorCollector = new JsonSchemaErrorCollector();
59916
+ data.forEach(
59917
+ (element, index) => errorCollector.append(
59918
+ validateJsonSchema(element, schema.items, `${path}[${index}]`, document)
59919
+ )
59920
+ );
59921
+ return errorCollector.toValidationResponse();
59922
+ }
59923
+ function validateScalar(data, schema, path) {
59924
+ const schemaDataType = schema.type;
59925
+ const dataType = typeof data;
59926
+ if (schemaDataType === "integer") {
59927
+ if (dataType !== "number" || !Number.isInteger(data)) {
59928
+ return invalidSchemaResponseWithError(incorrectTypeError("integer", dataType, path));
59929
+ }
59930
+ } else if (schemaDataType === "number") {
59931
+ if (dataType !== "number") {
59932
+ return invalidSchemaResponseWithError(incorrectTypeError("number", dataType, path));
59933
+ }
59934
+ } else if (schemaDataType === "string") {
59935
+ if (dataType !== "string") {
59936
+ return invalidSchemaResponseWithError(incorrectTypeError("string", dataType, path));
59937
+ }
59938
+ } else if (schemaDataType === "boolean") {
59939
+ if (dataType !== "boolean") {
59940
+ return invalidSchemaResponseWithError(incorrectTypeError("boolean", dataType, path));
59941
+ }
59942
+ } else if (schemaDataType === "null") {
59943
+ if (data !== null) {
59944
+ return invalidSchemaResponseWithError(incorrectTypeError("null", dataType, path));
59945
+ }
59946
+ } else {
59947
+ return invalidSchemaResponseWithError(
59948
+ new IncorrectTypeError(`Unknown schema data type: ${schemaDataType}.`)
59949
+ );
59950
+ }
59951
+ return validSchemaResponse();
59952
+ }
59953
+ function validateRef(data, schema, path, document) {
59954
+ if (!schema.$ref.startsWith("#")) {
59955
+ return invalidSchemaResponseWithError(
59956
+ new InvalidRefError(
59957
+ `$ref values that do not refer to the current document are unsupported (must start with '#')`
59958
+ )
59959
+ );
59960
+ }
59961
+ try {
59962
+ const schemaToValidate = findSchemaAtPath(document, schema.$ref);
59963
+ return validateJsonSchema(data, schemaToValidate, path, document);
59964
+ } catch (e) {
59965
+ return invalidSchemaResponseWithError(e);
59966
+ }
59967
+ }
59968
+ function validateEnum(data, enumValue, path) {
59969
+ if (!enumValue.some((value) => deepEquals$1(value, data))) {
59970
+ return invalidSchemaResponseWithError(
59971
+ new JsonSchemaViolationError(
59972
+ `Data at ${path} did not match any values in enum. Expected value in: [${enumValue.map((value) => stringify$2(value)).join()}]`
59973
+ )
59974
+ );
59975
+ }
59976
+ return validSchemaResponse();
59977
+ }
59978
+ function validateConst(data, constValue, path) {
59979
+ if (!deepEquals$1(constValue, data)) {
59980
+ return invalidSchemaResponseWithError(
59981
+ new JsonSchemaViolationError(
59982
+ `Data at ${path} did not match const. Expected: ${stringify$2(constValue)}`
59983
+ )
59984
+ );
59985
+ }
59986
+ return validSchemaResponse();
59987
+ }
59988
+ function findSchemaAtPath(document, ref) {
59989
+ if (ref === "#") return document;
59990
+ const keys = ref.replace(/^#\//, "").split("/");
59991
+ let current = document;
59992
+ let path = "#";
59993
+ for (const key of keys) {
59994
+ path = `${path}/${key}`;
59995
+ if (current[key] === void 0) {
59996
+ throw new InvalidRefError(
59997
+ `Invalid $ref value '${ref}'. Cannot find target schema at '${path}'`
59998
+ );
59999
+ }
60000
+ current = current[key];
60001
+ }
60002
+ return current;
60003
+ }
60004
+
60005
+ /*!
60006
+ * Copyright (c) 2022, Salesforce, Inc.,
60007
+ * All rights reserved.
60008
+ * For full license text, see the LICENSE.txt file
60009
+ */
60010
+ function isUserVisibleError(error) {
60011
+ return error instanceof Error && "type" in error && error.type === "user-visible";
60012
+ }
60013
+ function throwUserlandError(error) {
60014
+ logError(error);
60015
+ throw buildUserlandError(error);
60016
+ }
60017
+ function emitError(callback, error) {
60018
+ logError(error);
60019
+ callback({ data: void 0, error: buildUserlandError(error) });
60020
+ }
60021
+ function buildUserlandError(error) {
60022
+ if (isUserVisibleError(error)) {
60023
+ return error.data;
60024
+ }
60025
+ return new Error("Internal error in Lightning Data Service adapter occurred.");
60026
+ }
60027
+ function logError(error) {
60028
+ if (isUserVisibleError(error)) {
60029
+ return;
60030
+ }
60031
+ console.error("OneStore Command threw an error that we did not expect", error);
60032
+ }
60033
+
60034
+ /*!
60035
+ * Copyright (c) 2022, Salesforce, Inc.,
60036
+ * All rights reserved.
60037
+ * For full license text, see the LICENSE.txt file
60038
+ */
60039
+ function buildBaseImperativeInvoker(getCommand, transformResult) {
60040
+ return async (...params) => {
60041
+ const command = getCommand({ params, assertIsValid });
60042
+ try {
60043
+ return command.execute().then((result) => transformResult(result));
60044
+ } catch (error) {
60045
+ throwUserlandError(error);
60046
+ }
60047
+ };
60048
+ }
60049
+ const supportedCachePolicyTypes = ["no-cache", "only-if-cached"];
60050
+ function requestContextIsSupportedCachePolicy(requestContext) {
60051
+ return typeof requestContext === "object" && requestContext !== null && "cachePolicy" in requestContext && typeof requestContext.cachePolicy === "object" && requestContext.cachePolicy !== null && "type" in requestContext.cachePolicy && typeof requestContext.cachePolicy.type === "string" && supportedCachePolicyTypes.includes(
60052
+ requestContext.cachePolicy.type
60053
+ );
60054
+ }
60055
+ function getOverridesForLegacyRequestContext(requestContext) {
60056
+ if (requestContextIsSupportedCachePolicy(requestContext)) {
60057
+ return { cacheControlConfig: { type: requestContext.cachePolicy.type } };
60058
+ }
60059
+ return {};
60060
+ }
60061
+ function handleEmit(res, callback) {
60062
+ const consumerEmittedData = {
60063
+ data: void 0,
60064
+ errors: void 0
60065
+ };
60066
+ if (res.isOk()) {
60067
+ consumerEmittedData.data = res.value.data;
60068
+ } else {
60069
+ const { data, errors } = toGraphQLResponseFromFailure$1(res.error);
60070
+ consumerEmittedData.data = data;
60071
+ consumerEmittedData.errors = errors;
60072
+ }
60073
+ callback(consumerEmittedData);
60074
+ }
60075
+ function toGraphQLResponseFromFailure$1(failure) {
60076
+ if (isUserVisibleError$1(failure)) {
60077
+ return {
60078
+ data: failure.data.data,
60079
+ errors: failure.data.errors
60080
+ };
60081
+ }
60082
+ logError$1(failure);
60083
+ return {
60084
+ data: void 0,
60085
+ errors: [{ message: "Internal error in GraphQL adapter occurred", locations: [] }]
60086
+ };
60087
+ }
60088
+ class DefaultImperativeBindingsService {
60089
+ bind(getCommand) {
60090
+ return buildBaseImperativeInvoker(getCommand, (result) => {
60091
+ if (result.isOk()) {
60092
+ deepFreeze(result.value);
60093
+ return isSubscribableResult(result) ? result.value.data : result.value;
60094
+ }
60095
+ throw toError(isSubscribableResult(result) ? result.error.failure : result.error);
60096
+ });
60097
+ }
60098
+ }
60099
+ function buildServiceDescriptor$6() {
60100
+ return {
60101
+ type: "defaultImperativeBindings",
60102
+ version: "1.0",
60103
+ service: new DefaultImperativeBindingsService()
60104
+ };
60105
+ }
60106
+ class QueryImperativeBindingsService {
60107
+ bind(getCommand) {
60108
+ return buildBaseImperativeInvoker(getCommand, (result) => {
60109
+ if (result.isOk()) {
60110
+ deepFreeze(result.value);
60111
+ return isSubscribableResult(result) ? { data: result.value.data } : { data: result.value };
60112
+ }
60113
+ throw toError(isSubscribableResult(result) ? result.error.failure : result.error);
60114
+ });
60115
+ }
60116
+ }
60117
+ function buildServiceDescriptor$5() {
60118
+ return {
60119
+ type: "queryImperativeBindings",
60120
+ version: "1.0",
60121
+ service: new QueryImperativeBindingsService()
60122
+ };
60123
+ }
60124
+ class SubscribableImperativeBindingsService {
60125
+ bind(getCommand, exposeRefresh = false) {
60126
+ return buildBaseImperativeInvoker(
60127
+ getCommand,
60128
+ (result) => this.transformResult(result, exposeRefresh)
60129
+ );
60130
+ }
60131
+ transformResult(result, exposeRefresh = false) {
60132
+ if (!isSubscribableResult(result)) {
60133
+ console.error(
60134
+ "Non-subscribable result encountered - please use correct operation type"
60135
+ );
60136
+ throw new Error("Internal error in Lightning Data Service adapter occurred");
60137
+ }
60138
+ if (result.isOk()) {
60139
+ deepFreeze(result.value.data);
60140
+ const api = {
60141
+ data: result.value.data,
60142
+ subscribe: (cb) => {
60143
+ result.value.subscribe((result2) => {
60144
+ if (result2.isErr()) {
60145
+ return cb({ data: void 0, error: toError(result2.error) });
60146
+ }
60147
+ return cb({ data: result2.value, error: void 0 });
60148
+ });
60149
+ }
60150
+ };
60151
+ if (exposeRefresh) {
60152
+ return {
60153
+ ...api,
60154
+ refresh: () => {
60155
+ return result.value.refresh().then((res) => {
60156
+ if (res.isOk()) {
60157
+ return void 0;
60158
+ }
60159
+ throw res.error;
60160
+ });
60161
+ }
60162
+ };
60163
+ } else {
60164
+ return api;
60165
+ }
60166
+ } else {
60167
+ throw toError(result.error.failure);
60168
+ }
60169
+ }
60170
+ }
60171
+ function buildServiceDescriptor$4() {
60172
+ return {
60173
+ type: "subscribableImperativeBindings",
60174
+ version: "1.0",
60175
+ service: new SubscribableImperativeBindingsService()
60176
+ };
60177
+ }
60178
+ class LegacyImperativeBindingsService {
60179
+ bind(getCommand) {
60180
+ const invoke = async (config, requestContext, callback) => {
60181
+ const command = getCommand({ config, assertIsValid });
60182
+ try {
60183
+ const overrides = getOverridesForLegacyRequestContext(requestContext);
60184
+ const result = await command.execute(overrides);
60185
+ if (result.isOk()) {
60186
+ deepFreeze(result.value);
60187
+ callback({ data: result.value.data, error: void 0 });
60188
+ } else {
60189
+ callback({ data: void 0, error: toError(result.error.failure) });
60190
+ }
60191
+ } catch (error) {
60192
+ emitError(callback, error);
60193
+ }
60194
+ };
60195
+ const subscribe = (config, requestContext, callback) => {
60196
+ const command = getCommand({ config, assertIsValid });
60197
+ let unsubscribe = () => {
60198
+ };
60199
+ try {
60200
+ const overrides = getOverridesForLegacyRequestContext(requestContext);
60201
+ command.execute(overrides).then(
60202
+ (result) => {
60203
+ if (!result.isOk()) {
60204
+ callback({ data: void 0, error: toError(result.error.failure) });
60205
+ return;
60206
+ }
60207
+ unsubscribe = result.value.subscribe((res) => {
60208
+ if (res.isOk()) {
60209
+ callback({ data: res.value, error: void 0 });
60210
+ } else {
60211
+ callback({ data: void 0, error: toError(res.error) });
60212
+ }
60213
+ });
60214
+ callback({ data: result.value.data, error: void 0 });
60215
+ },
60216
+ (e) => {
60217
+ emitError(callback, e);
60218
+ }
60219
+ );
60220
+ } catch (e) {
60221
+ emitError(callback, e);
60222
+ }
60223
+ return () => {
60224
+ unsubscribe();
60225
+ };
60226
+ };
60227
+ return { invoke, subscribe };
60228
+ }
60229
+ }
60230
+ function buildServiceDescriptor$3() {
60231
+ return {
60232
+ type: "legacyImperativeBindings",
60233
+ version: "1.0",
60234
+ service: new LegacyImperativeBindingsService()
60235
+ };
60236
+ }
60237
+ class GraphQLImperativeBindingsService {
60238
+ bind(getCommand, exposeRefresh = false) {
60239
+ return async (...params) => {
60240
+ try {
60241
+ if (params.length) {
60242
+ params[0] = wrapConfigAndVerify(params[0]);
60243
+ }
60244
+ return await buildBaseImperativeInvoker(getCommand, (result) => this.transformResult(result, exposeRefresh))(...params);
60245
+ } catch (error) {
60246
+ logError$1(error);
60247
+ return {
60248
+ data: void 0,
60249
+ errors: [
60250
+ { message: "Internal error in GraphQL adapter occurred", locations: [] }
60251
+ ]
60252
+ };
60253
+ }
60254
+ };
60255
+ }
60256
+ transformResult(result, exposeRefresh = false) {
60257
+ const consumerEmittedData = {
60258
+ data: void 0,
60259
+ errors: void 0
60260
+ };
60261
+ if (result.isOk()) {
60262
+ deepFreeze(result.value);
60263
+ consumerEmittedData.data = result.value.data.data;
60264
+ consumerEmittedData.subscribe = (cb) => {
60265
+ result.value.subscribe((res) => {
60266
+ const consumerEmittedData2 = {
60267
+ data: void 0,
60268
+ errors: void 0
60269
+ };
60270
+ if (res.isOk()) {
60271
+ consumerEmittedData2.data = res.value.data;
60272
+ } else {
60273
+ if (isUserVisibleError$1(res.error)) {
60274
+ consumerEmittedData2.data = res.error.data.data;
60275
+ consumerEmittedData2.errors = res.error.data.errors;
60276
+ } else {
60277
+ logError$1(res.error);
60278
+ consumerEmittedData2.errors = [
60279
+ {
60280
+ message: "Internal error in GraphQL adapter occurred",
60281
+ locations: []
60282
+ }
60283
+ ];
60284
+ }
60285
+ }
60286
+ cb(consumerEmittedData2);
60287
+ });
60288
+ };
60289
+ if (exposeRefresh) {
60290
+ consumerEmittedData.refresh = () => {
60291
+ return new Promise((resolve, reject) => {
60292
+ try {
60293
+ result.value.refresh().then((res) => {
60294
+ if (res.isOk()) {
60295
+ resolve();
60296
+ } else {
60297
+ reject(
60298
+ new Error(
60299
+ "Internal error in GraphQL adapter occurred: Failed to refresh GraphQL data"
60300
+ )
60301
+ );
60302
+ }
60303
+ });
60304
+ } catch (error) {
60305
+ logError$1(error);
60306
+ reject(
60307
+ new Error(
60308
+ "Internal error in GraphQL adapter occurred: Failed to refresh GraphQL data"
60309
+ )
60310
+ );
60311
+ }
60312
+ });
60313
+ };
60314
+ }
60315
+ } else {
60316
+ const resp = toGraphQLResponseFromFailure$1(result.error.failure);
60317
+ consumerEmittedData.data = resp.data;
60318
+ consumerEmittedData.errors = resp.errors;
60319
+ }
60320
+ return consumerEmittedData;
60321
+ }
60322
+ }
60323
+ function buildServiceDescriptor$2$1() {
60324
+ return {
60325
+ type: "graphQLImperativeBindings",
60326
+ version: "1.0",
60327
+ service: new GraphQLImperativeBindingsService()
60328
+ };
60329
+ }
60330
+ class GraphQLLegacyImperativeBindingsService {
60331
+ bind(getCommand) {
60332
+ const invoke = async (config, requestContext, callback) => {
60333
+ config = wrapConfigAndVerify(config);
60334
+ const command = getCommand({ config, assertIsValid });
60335
+ try {
60336
+ const overrides = getOverridesForLegacyRequestContext(requestContext);
60337
+ const result = await command.execute(overrides);
60338
+ const consumerEmittedData = {
60339
+ data: void 0,
60340
+ errors: void 0
60341
+ };
60342
+ if (result.isOk()) {
60343
+ deepFreeze(result.value);
60344
+ consumerEmittedData.data = result.value.data.data;
60345
+ } else {
60346
+ const { data, errors } = toGraphQLResponseFromFailure$1(result.error.failure);
60347
+ consumerEmittedData.data = data;
60348
+ consumerEmittedData.errors = errors;
60349
+ }
60350
+ callback(consumerEmittedData);
60351
+ } catch (error) {
60352
+ logError$1(error);
60353
+ callback({
60354
+ data: void 0,
60355
+ errors: [
60356
+ { message: "Internal error in GraphQL adapter occurred", locations: [] }
60357
+ ]
60358
+ });
60359
+ }
60360
+ };
60361
+ const subscribe = (config, requestContext, callback) => {
60362
+ config = wrapConfigAndVerify(config);
60363
+ const command = getCommand({ config, assertIsValid });
60364
+ let unsubscribe = () => {
60365
+ };
60366
+ const overrides = getOverridesForLegacyRequestContext(requestContext);
60367
+ command.execute(overrides).then((result) => {
60368
+ const consumerEmittedData = {
60369
+ data: void 0,
60370
+ errors: void 0
60371
+ };
60372
+ if (result.isOk()) {
60373
+ deepFreeze(result.value);
60374
+ consumerEmittedData.data = result.value.data.data;
60375
+ unsubscribe = result.value.subscribe(
60376
+ (res) => {
60377
+ handleEmit(res, callback);
60378
+ }
60379
+ );
60380
+ } else {
60381
+ const { data, errors } = toGraphQLResponseFromFailure$1(result.error.failure);
60382
+ consumerEmittedData.data = data;
60383
+ consumerEmittedData.errors = errors;
60384
+ unsubscribe = result.error.subscribe(
60385
+ (res) => {
60386
+ handleEmit(res, callback);
60387
+ }
60388
+ );
60389
+ }
60390
+ callback(consumerEmittedData);
60391
+ });
60392
+ return () => {
60393
+ unsubscribe();
60394
+ };
60395
+ };
60396
+ return { invoke, subscribe };
60397
+ }
60398
+ }
60399
+ function buildServiceDescriptor$1$2() {
60400
+ return {
60401
+ type: "graphQLLegacyImperativeBindings",
60402
+ version: "1.0",
60403
+ service: new GraphQLLegacyImperativeBindingsService()
60404
+ };
60405
+ }
60406
+ class GraphQLMutationBindingsService {
60407
+ bind(getCommand) {
60408
+ return async (...params) => {
60409
+ try {
60410
+ if (params.length) {
60411
+ params[0] = wrapConfigAndVerify(params[0], {
60412
+ acceptedOperations: ["mutation"]
60413
+ });
60414
+ }
60415
+ const command = getCommand({ params, assertIsValid });
60416
+ const result = await command.execute({ cacheControlConfig: { type: "no-cache" } });
60417
+ if (result.isOk()) {
60418
+ deepFreeze(result.value);
60419
+ return result.value.data;
60420
+ } else {
60421
+ return toGraphQLResponseFromFailure$1(result.error.failure);
60422
+ }
60423
+ } catch (error) {
60424
+ logError$1(error);
60425
+ return {
60426
+ data: void 0,
60427
+ errors: [
60428
+ { message: "Internal error in GraphQL adapter occurred", locations: [] }
60429
+ ]
60430
+ };
60431
+ }
60432
+ };
60433
+ }
60434
+ }
60435
+ function buildServiceDescriptor$7() {
60436
+ return {
60437
+ type: "graphQLMutationBindings",
60438
+ version: "1.0",
60439
+ service: new GraphQLMutationBindingsService()
60440
+ };
60441
+ }
60442
+
60443
+ /*!
60444
+ * Copyright (c) 2022, Salesforce, Inc.,
60445
+ * All rights reserved.
60446
+ * For full license text, see the LICENSE.txt file
60447
+ */
60448
+ class Sanitizer {
60449
+ constructor(obj) {
60450
+ this.obj = obj;
60451
+ this.copy = {};
60452
+ this.currentPath = {
60453
+ key: "",
60454
+ value: obj,
60455
+ parent: null,
60456
+ data: this.copy
60457
+ };
60458
+ }
60459
+ sanitize() {
60460
+ const sanitizer = this;
60461
+ JSON.stringify(this.obj, function(key, value) {
60462
+ if (key === "") {
60463
+ return value;
60464
+ }
60465
+ const parent = this;
60466
+ if (parent !== sanitizer.currentPath.value) {
60467
+ sanitizer.exit(parent);
60468
+ }
60469
+ if (typeof value === "object" && value !== null) {
60470
+ sanitizer.enter(key, value);
60471
+ return value;
60472
+ }
60473
+ sanitizer.currentPath.data[key] = value;
60474
+ return value;
60475
+ });
60476
+ return this.copy;
60477
+ }
60478
+ enter(key, value) {
60479
+ const { currentPath: parentPath } = this;
60480
+ const data = parentPath.data[key] = Array.isArray(value) ? [] : {};
60481
+ this.currentPath = {
60482
+ key,
60483
+ value,
60484
+ parent: parentPath,
60485
+ data
60486
+ };
60487
+ }
60488
+ exit(parent) {
60489
+ while (this.currentPath.value !== parent) {
60490
+ this.currentPath = this.currentPath.parent || this.currentPath;
60491
+ }
60492
+ }
60493
+ }
60494
+ function sanitize(obj) {
60495
+ return new Sanitizer(obj).sanitize();
60496
+ }
60497
+ function isIncompleteConfigError(err) {
60498
+ return err instanceof MissingRequiredPropertyError || err instanceof JsonSchemaViolationError && err.validationErrors.find(
60499
+ (validationError) => validationError instanceof MissingRequiredPropertyError
60500
+ ) !== void 0;
60501
+ }
60502
+ class CommandWireAdapterConstructor {
60503
+ constructor(callback, sourceContext, options) {
60504
+ this.callback = callback;
60505
+ this.connected = false;
60506
+ this.exposeRefresh = false;
60507
+ if (!(options == null ? void 0 : options.skipEmptyEmit)) {
60508
+ this.emit();
60509
+ }
60510
+ }
60511
+ connect() {
60512
+ this.connected = true;
60513
+ this.invokeAdapter();
60514
+ }
60515
+ disconnect() {
60516
+ this.unsubscribe();
60517
+ this.connected = false;
60518
+ }
60519
+ update(config, _context) {
60520
+ this.unsubscribe();
60521
+ this.config = sanitize(config);
60522
+ this.invokeAdapter();
60523
+ }
60524
+ emit(result) {
60525
+ try {
60526
+ if (result === void 0) {
60527
+ this.callback({ data: void 0, error: void 0 });
60528
+ } else {
60529
+ const consumerEmittedRefresh = () => {
60530
+ if (!this.refresh) {
60531
+ return Promise.resolve();
60532
+ }
60533
+ return new Promise((resolve, reject) => {
60534
+ if (!this.refresh) {
60535
+ resolve();
60536
+ return;
60537
+ }
60538
+ this.refresh().then((res) => {
60539
+ if (res.isOk()) {
60540
+ resolve();
60541
+ } else {
60542
+ reject(
60543
+ new Error(
60544
+ "Internal error in Lightning Data Service adapter occurred: Failed to refresh data"
60545
+ )
60546
+ );
60547
+ }
60548
+ });
60549
+ });
60550
+ };
60551
+ let consumerEmittedData = {
60552
+ data: void 0,
60553
+ error: void 0
60554
+ };
60555
+ if (this.exposeRefresh && this.refresh) {
60556
+ consumerEmittedData.refresh = consumerEmittedRefresh;
60557
+ }
60558
+ if (result.isErr()) {
60559
+ if (isSubscribableResult(result)) {
60560
+ consumerEmittedData.error = result.error.failure;
60561
+ } else {
60562
+ consumerEmittedData.error = result.error;
60563
+ }
60564
+ } else {
60565
+ if (isSubscribableResult(result)) {
60566
+ deepFreeze(result.value.data);
60567
+ consumerEmittedData.data = result.value.data;
60568
+ } else {
60569
+ deepFreeze(result.value);
60570
+ consumerEmittedData.data = result.value;
60571
+ }
60572
+ }
60573
+ this.callback(consumerEmittedData);
60574
+ }
60575
+ } catch (e) {
60576
+ this.handleExecutionThrow(e);
60577
+ }
60578
+ }
60579
+ invokeAdapter() {
60580
+ if (!this.connected || this.config === void 0) {
60581
+ return;
60582
+ }
60583
+ if (this.configSchema) {
60584
+ try {
60585
+ assertIsValid(this.config, this.configSchema);
60586
+ } catch (err) {
60587
+ if (isIncompleteConfigError(err)) {
60588
+ return;
60589
+ }
60590
+ throw err;
60591
+ }
60592
+ }
60593
+ const initialConfig = this.config;
60594
+ const command = this.getCommand();
60595
+ try {
60596
+ command.execute().then((result) => {
60597
+ if (!this.connected || this.config !== initialConfig) {
60598
+ return;
60599
+ }
60600
+ this.refresh = void 0;
60601
+ if (result.isOk()) {
60602
+ if (isSubscribableResult(result)) {
60603
+ const value = result.value;
60604
+ this.unsubscriber = value.subscribe((updatedResult) => {
60605
+ if (!this.connected || this.config !== initialConfig) {
60606
+ this.unsubscribe();
60607
+ return;
60608
+ }
60609
+ this.emit(updatedResult);
60610
+ });
60611
+ this.refresh = value.refresh;
60612
+ this.emit(ok$1(value.data));
60613
+ } else {
60614
+ this.emit(result);
60615
+ }
60616
+ } else {
60617
+ if (isSubscribableResult(result)) {
60618
+ const value = result.error;
60619
+ this.unsubscriber = value.subscribe((updatedResult) => {
60620
+ if (!this.connected || this.config !== initialConfig) {
60621
+ this.unsubscribe();
60622
+ return;
60623
+ }
60624
+ this.emit(updatedResult);
60625
+ });
60626
+ this.refresh = value.refresh;
60627
+ this.emit(result);
60628
+ } else {
60629
+ this.unsubscriber = () => {
60630
+ };
60631
+ this.emit(result);
60632
+ }
60633
+ }
60634
+ });
60635
+ } catch (e) {
60636
+ this.handleExecutionThrow(e);
60637
+ }
60638
+ }
60639
+ handleExecutionThrow(error) {
60640
+ emitError(this.callback, error);
60641
+ }
60642
+ unsubscribe() {
60643
+ if (this.unsubscriber) {
60644
+ this.unsubscriber();
60645
+ delete this.unsubscriber;
60646
+ }
60647
+ }
60648
+ }
60649
+ function toGraphQLResponseFromFailure(failure) {
60650
+ if (isUserVisibleError$1(failure)) {
60651
+ return {
60652
+ data: failure.data.data,
60653
+ errors: failure.data.errors
60654
+ };
60655
+ }
60656
+ logError$1(failure);
60657
+ return {
60658
+ data: void 0,
60659
+ errors: [{ message: "Internal error in GraphQL adapter occurred", locations: [] }]
60660
+ };
60661
+ }
60662
+ class LWCWireBindingsService {
60663
+ bind(getCommand, configSchema, exposeRefresh = false) {
60664
+ return class extends CommandWireAdapterConstructor {
60665
+ constructor() {
60666
+ super(...arguments);
60667
+ this.configSchema = configSchema;
60668
+ this.exposeRefresh = exposeRefresh;
60669
+ }
60670
+ getCommand() {
60671
+ return getCommand(this.config);
60672
+ }
60673
+ };
60674
+ }
60675
+ }
60676
+ function buildServiceDescriptor$1$1() {
60677
+ return {
60678
+ type: "lwcWireBindings",
60679
+ version: "1.0",
60680
+ service: new LWCWireBindingsService()
60681
+ };
60682
+ }
60683
+ class GraphQLCommandWireAdapterConstructor extends CommandWireAdapterConstructor {
60684
+ emit(result) {
60685
+ try {
60686
+ if (result === void 0) {
60687
+ this.callback({ data: void 0, errors: void 0 });
60688
+ } else {
60689
+ const consumerEmittedRefresh = () => {
60690
+ if (!this.refresh) {
60691
+ return Promise.resolve();
60692
+ }
60693
+ return new Promise((resolve, reject) => {
60694
+ if (!this.refresh) {
60695
+ resolve();
60696
+ return;
60697
+ }
60698
+ this.refresh().then((res) => {
60699
+ if (res.isOk()) {
60700
+ resolve();
60701
+ } else {
60702
+ reject(
60703
+ new Error(
60704
+ "Internal error in GraphQL adapter occurred: Failed to refresh GraphQL data"
60705
+ )
60706
+ );
60707
+ }
60708
+ });
60709
+ });
60710
+ };
60711
+ let consumerEmittedData = {
60712
+ data: void 0,
60713
+ errors: void 0
60714
+ };
60715
+ if (this.exposeRefresh && this.refresh) {
60716
+ consumerEmittedData.refresh = consumerEmittedRefresh;
60717
+ }
60718
+ if (result.isErr()) {
60719
+ const failure = isSubscribableResult(result) ? result.error.failure : result.error;
60720
+ const resp = toGraphQLResponseFromFailure(failure);
60721
+ consumerEmittedData.data = resp.data;
60722
+ consumerEmittedData.errors = resp.errors;
60723
+ } else {
60724
+ consumerEmittedData.data = result.value.data;
60725
+ }
60726
+ deepFreeze(consumerEmittedData);
60727
+ this.callback(consumerEmittedData);
60728
+ }
60729
+ } catch (e) {
60730
+ logError$1(e);
60731
+ this.handleExecutionThrow(e);
60732
+ }
60733
+ }
60734
+ handleExecutionThrow(e) {
60735
+ logError$1(e);
60736
+ this.callback({
60737
+ data: void 0,
60738
+ errors: [{ message: "Internal error in GraphQL adapter occurred", locations: [] }]
60739
+ });
60740
+ }
60741
+ update(config, _context) {
60742
+ this.unsubscribe();
60743
+ const resolvedQuery = resolveAst(config.query);
60744
+ if (resolvedQuery) {
60745
+ validateGraphQLOperations(
60746
+ { query: resolvedQuery, operationName: config == null ? void 0 : config.operationName },
60747
+ { acceptedOperations: ["query"] }
60748
+ );
60749
+ }
60750
+ this.config = {
60751
+ ...sanitize(config),
60752
+ query: resolvedQuery
60753
+ };
60754
+ this.invokeAdapter();
60755
+ }
60756
+ }
60757
+ class LWCGraphQLWireBindingsService {
60758
+ bind(getCommand, configSchema, exposeRefresh = false) {
60759
+ return class extends GraphQLCommandWireAdapterConstructor {
60760
+ constructor() {
60761
+ super(...arguments);
60762
+ this.configSchema = configSchema;
60763
+ this.exposeRefresh = exposeRefresh;
60764
+ }
60765
+ getCommand() {
60766
+ return getCommand(this.config);
60767
+ }
60768
+ };
60769
+ }
60770
+ }
60771
+ function buildServiceDescriptor$2() {
60772
+ return {
60773
+ type: "lwcGraphQLWireBindings",
60774
+ version: "1.0",
60775
+ service: new LWCGraphQLWireBindingsService()
60776
+ };
60777
+ }
60778
+
60779
+ /*!
60780
+ * Copyright (c) 2022, Salesforce, Inc.,
60781
+ * All rights reserved.
60782
+ * For full license text, see the LICENSE.txt file
60783
+ */
60784
+ function buildServiceDescriptor$1(interceptors = { request: [], response: [], finally: [] }, retryService) {
59477
60785
  return {
59478
60786
  type: "fetch",
59479
60787
  version: "1.0",
59480
60788
  service: function(...args) {
59481
- const { request: requestInterceptors = [], response: responseInterceptors = [] } = interceptors;
60789
+ var _a;
60790
+ const context = (_a = interceptors.createContext) == null ? void 0 : _a.call(interceptors);
60791
+ const {
60792
+ request: requestInterceptors = [],
60793
+ response: responseInterceptors = [],
60794
+ finally: finallyInterceptors = []
60795
+ } = interceptors;
59482
60796
  const pending = requestInterceptors.reduce(
59483
- (previousPromise, interceptor) => previousPromise.then(interceptor),
59484
- resolvedPromiseLike$3(args)
60797
+ (previousPromise, interceptor) => previousPromise.then((args2) => interceptor(args2, context)),
60798
+ resolvedPromiseLike$2(args)
59485
60799
  );
59486
- return pending.then((args2) => {
60800
+ return Promise.resolve(pending).then((args2) => {
59487
60801
  if (retryService) {
59488
60802
  return retryService.applyRetry(() => fetch(...args2));
59489
60803
  }
59490
60804
  return fetch(...args2);
59491
60805
  }).then((response) => {
59492
60806
  return responseInterceptors.reduce(
59493
- (previousPromise, interceptor) => previousPromise.then(interceptor),
59494
- resolvedPromiseLike$3(response)
60807
+ (previousPromise, interceptor) => previousPromise.then((response2) => interceptor(response2, context)),
60808
+ resolvedPromiseLike$2(response)
59495
60809
  );
60810
+ }).finally(() => {
60811
+ if (finallyInterceptors.length > 0) {
60812
+ return finallyInterceptors.reduce(
60813
+ (previousPromise, interceptor) => previousPromise.then(() => interceptor(context)),
60814
+ Promise.resolve()
60815
+ );
60816
+ }
59496
60817
  });
59497
60818
  }
59498
60819
  };
@@ -60064,7 +61385,7 @@ class NimbusDurableCacheInclusionPolicy extends DurableCacheInclusionPolicy {
60064
61385
  return;
60065
61386
  entries.forEach(({ key, entry }) => {
60066
61387
  this.services.cache.set(key, entry);
60067
- return resolvedPromiseLike$3(ok$1(undefined));
61388
+ return resolvedPromiseLike$2(ok$1(undefined));
60068
61389
  });
60069
61390
  });
60070
61391
  }
@@ -60175,11 +61496,7 @@ class NimbusSqliteOneStoreCache {
60175
61496
  }
60176
61497
 
60177
61498
  const PURGE_CACHE_DAYS = 30;
60178
- // TODO[@W-18753648]: These services depend on WebApis that aren't available in the worker.
60179
- // import { buildServiceDescriptor as buildNdJsonServiceDescriptor } from '@conduit-client/command-ndjson/v1';
60180
- // import { buildServiceDescriptor as buildStreamingCommandServiceDescriptor } from '@conduit-client/command-streaming/v1';
60181
- // import { buildServiceDescriptor as buildSseCommandServiceDescriptor } from '@conduit-client/command-sse/v1';
60182
- function initializeOneStore(sqliteStore) {
61499
+ function initializeOneStore(sqliteStore, luvio) {
60183
61500
  if (!useOneStore.isOpen({ fallback: true })) {
60184
61501
  return;
60185
61502
  }
@@ -60188,35 +61505,60 @@ function initializeOneStore(sqliteStore) {
60188
61505
  globalThis.performance = { now: () => Date.now() };
60189
61506
  }
60190
61507
  const loggerService = new ConsoleLogger('ERROR');
60191
- const cacheServiceDescriptor = buildServiceDescriptor$b();
60192
- const instrumentationServiceDescriptor = buildServiceDescriptor$8(loggerService);
61508
+ const cacheServiceDescriptor = buildServiceDescriptor$h();
61509
+ const instrumentationServiceDescriptor = buildServiceDescriptor$e(loggerService);
60193
61510
  const nimbusSqliteOneStoreCacheServiceDescriptor = buildNimbusDurableCacheInclusionPolicyService(cacheServiceDescriptor.service, new NimbusSqliteOneStoreCache(sqliteStore));
60194
- const featureFlagsServiceDescriptor = buildServiceDescriptor$6();
61511
+ const featureFlagsServiceDescriptor = buildServiceDescriptor$c();
60195
61512
  const featureFlagsService = featureFlagsServiceDescriptor.service;
60196
- // This disables the OneStore GraphQL in this runtime
60197
- // We made the decision to continue using the Luvio based version in Mobile
60198
- // due to the fact that offline support depends on Luvio, and mobile
60199
- // does not want to migrate right now
61513
+ // This disables the GraphQL mapping from lightning/uiGraphQLApi to lightning/graphql in this runtime
61514
+ // The gate is likely NOT to rollout ever, but we keep it here for completeness
60200
61515
  featureFlagsService.set('useOneStoreGraphQL', false);
61516
+ const luvioUiapiRecordsServiceDescriptor = buildServiceDescriptor$a((configs) => {
61517
+ return notifyUpdateAvailableFactory(luvio)(configs);
61518
+ }, (recordId, reader) => {
61519
+ const recordKey = buildRecordRepKeyFromId(recordId);
61520
+ reader.markSeenId(recordKey);
61521
+ const linkedData = reader.read({
61522
+ recordId: recordKey,
61523
+ node: {
61524
+ kind: 'Fragment',
61525
+ private: [],
61526
+ opaque: true,
61527
+ version: VERSION$1v,
61528
+ },
61529
+ variables: {},
61530
+ });
61531
+ // we don't want anything to be marked missing, since this results in an unfulfilled snapshot
61532
+ reader.unMarkMissing();
61533
+ return linkedData.data;
61534
+ });
60201
61535
  const services = [
60202
61536
  instrumentationServiceDescriptor,
60203
61537
  buildNimbusFetchServiceDescriptor(),
60204
- buildServiceDescriptor$9(instrumentationServiceDescriptor.service),
61538
+ buildServiceDescriptor$f(instrumentationServiceDescriptor.service),
60205
61539
  // NOTE: These do not directly depend on Aura, and are necessary for HTTP fallback support.
60206
- buildServiceDescriptor$g(),
60207
- buildServiceDescriptor$f(),
60208
- buildServiceDescriptor$e(),
60209
- buildServiceDescriptor$a(cacheServiceDescriptor.service, nimbusSqliteOneStoreCacheServiceDescriptor.service, instrumentationServiceDescriptor.service),
61540
+ buildServiceDescriptor$m(),
61541
+ buildServiceDescriptor$l(),
61542
+ buildServiceDescriptor$k(),
61543
+ buildServiceDescriptor$g(cacheServiceDescriptor.service, nimbusSqliteOneStoreCacheServiceDescriptor.service, instrumentationServiceDescriptor.service),
61544
+ buildServiceDescriptor$j(),
61545
+ buildServiceDescriptor$n(),
61546
+ buildServiceDescriptor$i(),
60210
61547
  buildServiceDescriptor$d(),
60211
- buildServiceDescriptor$h(),
60212
- buildServiceDescriptor$c(),
60213
- buildServiceDescriptor$7(),
61548
+ buildServiceDescriptor$9(),
61549
+ buildServiceDescriptor$8(),
61550
+ featureFlagsServiceDescriptor,
61551
+ buildServiceDescriptor$b(luvio),
61552
+ luvioUiapiRecordsServiceDescriptor,
61553
+ buildServiceDescriptor$6(),
61554
+ buildServiceDescriptor$5(),
61555
+ buildServiceDescriptor$4(),
60214
61556
  buildServiceDescriptor$3(),
61557
+ buildServiceDescriptor$2$1(),
61558
+ buildServiceDescriptor$1$2(),
61559
+ buildServiceDescriptor$7(),
61560
+ buildServiceDescriptor$1$1(),
60215
61561
  buildServiceDescriptor$2(),
60216
- featureFlagsServiceDescriptor,
60217
- // Luvio service won't be used since we set the useOneStoreGraphQL flag to false
60218
- buildServiceDescriptor$5({}),
60219
- buildServiceDescriptor$4({}, {}),
60220
61562
  // TODO[@W-18753648]: See note above.
60221
61563
  // buildStreamingCommandServiceDescriptor(),
60222
61564
  // buildNdJsonServiceDescriptor(),
@@ -60405,7 +61747,7 @@ function getRuntime({ primeUser = false } = {}) {
60405
61747
  };
60406
61748
  const draftAwareCreateContentDocumentAndVersionAdapter = createContentDocumentAndVersionDraftAdapterFactory(lazyLuvio, NimbusBinaryStore, contentDocumentCompositeActionHandler, lazyDurableRecordStore);
60407
61749
  const draftAwareCreateRecord = createRecordDraftAdapterFactory(uiApiRecordHandler, lazyDurableRecordStore);
60408
- const draftAwareUpdateRecord = updateRecordDraftAdapterFactory(uiApiRecordHandler, lazyDurableRecordStore);
61750
+ const draftAwareUpdateRecord = updateRecordDraftAdapterFactory(uiApiRecordHandler, lazyDurableRecordStore, lazyObjectInfoService);
60409
61751
  const draftAwareDeleteRecord = deleteRecordDraftAdapterFactory(uiApiRecordHandler);
60410
61752
  const draftAwarePeformQuickAction = performQuickActionDraftAdapterFactory(quickActionHandler, userId);
60411
61753
  const draftAwarePerformUpdateRecordQuickActionAdapter = performUpdateRecordQuickActionDraftAdapterFactory(updateRecordQuickActionHandler, userId);
@@ -60438,7 +61780,7 @@ function getRuntime({ primeUser = false } = {}) {
60438
61780
  withRegistration('@salesforce/lds-adapters-uiapi/graphql', configureUIAPIGraphQL);
60439
61781
  }
60440
61782
  // onestore initialization
60441
- initializeOneStore(lazyDurableStore['plugin']);
61783
+ initializeOneStore(lazyDurableStore['plugin'], lazyLuvio);
60442
61784
  return {
60443
61785
  luvio: lazyLuvio,
60444
61786
  internalLuvio: lazyInternalLuvio,
@@ -60472,4 +61814,4 @@ register({
60472
61814
  });
60473
61815
 
60474
61816
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, ingest$1o as ingestDenormalizedRecordRepresentation, initializeOneStore, registerReportObserver, reportGraphqlQueryParseError };
60475
- // version: 1.401.0-b1adb82748
61817
+ // version: 1.403.0-bc09fbc54b