@salesforce/lds-runtime-mobile 1.401.0 → 1.402.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,7 +17,7 @@
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
22
  import { getInstrumentation, idleDetector } from 'o11y/client';
23
23
  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';
@@ -616,7 +616,7 @@ function publishDurableStoreEntries(durableRecords, put, publishMetadata) {
616
616
  }
617
617
  if (isStoreEntryError(data)) {
618
618
  // freeze errors on way into L1
619
- deepFreeze(data.error);
619
+ deepFreeze$1(data.error);
620
620
  }
621
621
  put(key, data);
622
622
  revivedKeys.add(key);
@@ -6611,6 +6611,20 @@ function equals$k(existing, incoming) {
6611
6611
  }
6612
6612
  return true;
6613
6613
  }
6614
+ const notifyUpdateAvailableFactory = (luvio) => {
6615
+ return function notifyRecordUpdateAvailable(configs) {
6616
+ if (process.env.NODE_ENV !== 'production') {
6617
+ const requiredKeyParams = ['recordId'];
6618
+ configs.forEach((config) => {
6619
+ if (false === requiredKeyParams.every((req) => req in config)) {
6620
+ throw new Error(`one of the configs did not contain all required parameters: ${JSONStringify(ObjectKeys(config))}`);
6621
+ }
6622
+ });
6623
+ }
6624
+ const keys = configs.map((c) => keyBuilder$1N(luvio, c));
6625
+ return luvio.notifyStoreUpdateAvailable(keys);
6626
+ };
6627
+ };
6614
6628
 
6615
6629
  /**
6616
6630
  * The master record type id.
@@ -7595,7 +7609,7 @@ function ingestSuccessChildResourceParams$2(luvio, childResourceParamsArray, chi
7595
7609
  const childSnapshotData = {
7596
7610
  results: childSnapshotDataResponses,
7597
7611
  };
7598
- deepFreeze(childSnapshotData);
7612
+ deepFreeze$1(childSnapshotData);
7599
7613
  return {
7600
7614
  childSnapshotData,
7601
7615
  seenRecords,
@@ -7714,7 +7728,7 @@ function selectChildResourceParams$2(luvio, childResources, resourceParams) {
7714
7728
  reader.exitPath();
7715
7729
  }
7716
7730
  reader.assignNonScalar(sink, envelopePath, results);
7717
- deepFreeze(sink);
7731
+ deepFreeze$1(sink);
7718
7732
  reader.exitPath();
7719
7733
  return sink;
7720
7734
  },
@@ -10647,7 +10661,7 @@ function ingestSuccess$6(luvio, resourceParams, response, snapshotRefresh) {
10647
10661
  throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
10648
10662
  }
10649
10663
  }
10650
- deepFreeze(snapshot.data);
10664
+ deepFreeze$1(snapshot.data);
10651
10665
  return snapshot;
10652
10666
  }
10653
10667
  function ingestError$8(luvio, params, error, snapshotRefresh) {
@@ -17954,7 +17968,7 @@ function ingestSuccessChildResourceParams$1(luvio, childResourceParamsArray, chi
17954
17968
  statusCode: 200,
17955
17969
  result: childSnapshot.data,
17956
17970
  };
17957
- deepFreeze(childValue);
17971
+ deepFreeze$1(childValue);
17958
17972
  ArrayPrototypePush.call(childSnapshotDataResponses, childValue);
17959
17973
  }
17960
17974
  else {
@@ -17973,7 +17987,7 @@ function ingestSuccessChildResourceParams$1(luvio, childResourceParamsArray, chi
17973
17987
  statusCode: childStatusCode,
17974
17988
  result: childBody,
17975
17989
  };
17976
- deepFreeze(childValue);
17990
+ deepFreeze$1(childValue);
17977
17991
  ArrayPrototypePush.call(childSnapshotDataResponses, childValue);
17978
17992
  }
17979
17993
  // track non-cached responses so rebuilds work properly
@@ -17991,7 +18005,7 @@ function ingestSuccessChildResourceParams$1(luvio, childResourceParamsArray, chi
17991
18005
  const childSnapshotData = {
17992
18006
  results: childSnapshotDataResponses,
17993
18007
  };
17994
- deepFreeze(childSnapshotData);
18008
+ deepFreeze$1(childSnapshotData);
17995
18009
  return { childSnapshotData: childSnapshotData, seenRecords, snapshotState };
17996
18010
  }
17997
18011
  function ingestSuccess$4(luvio, resourceParams, response, snapshotRefresh) {
@@ -19592,7 +19606,7 @@ function ingestSuccess$3(luvio, resourceParams, response, snapshotRefresh) {
19592
19606
  throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
19593
19607
  }
19594
19608
  }
19595
- deepFreeze(snapshot.data);
19609
+ deepFreeze$1(snapshot.data);
19596
19610
  return snapshot;
19597
19611
  }
19598
19612
  function ingestError$4(luvio, params, error, snapshotRefresh) {
@@ -19916,7 +19930,7 @@ function ingestSuccess$2(luvio, resourceParams, response, snapshotRefresh) {
19916
19930
  throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
19917
19931
  }
19918
19932
  }
19919
- deepFreeze(snapshot.data);
19933
+ deepFreeze$1(snapshot.data);
19920
19934
  return snapshot;
19921
19935
  }
19922
19936
  function ingestError$3(luvio, params, error, snapshotRefresh) {
@@ -20618,7 +20632,7 @@ function buildNetworkSnapshot$5(luvio, config, options) {
20618
20632
  .map((targetApiName) => body.lookupResults[targetApiName].records)
20619
20633
  .reduce((allRecords, records) => allRecords.concat(records), [])
20620
20634
  .forEach((record) => removeEtags(record));
20621
- deepFreeze(body);
20635
+ deepFreeze$1(body);
20622
20636
  return Promise.resolve({
20623
20637
  state: 'Fulfilled',
20624
20638
  recordId: key,
@@ -40405,7 +40419,7 @@ function ingestTypeWithStrategy(astNode, state, isCursorConnectionType, { key, i
40405
40419
  const fieldKey = getSerializedKeyForField(requestedField, variables, fieldType);
40406
40420
  if (fieldType === undefined) {
40407
40421
  console.warn(`Unknown Field: ${requestedField}. This field or nested fields cannot participate in normalization`);
40408
- deepFreeze(fieldData);
40422
+ deepFreeze$1(fieldData);
40409
40423
  sink[fieldKey] = fieldData;
40410
40424
  continue;
40411
40425
  }
@@ -41268,7 +41282,7 @@ function selectTypeLinkWithPagination(resolvedLink, sel, fieldData, reader, key,
41268
41282
  }
41269
41283
  }
41270
41284
  }
41271
- deepFreeze(trimmedEdges);
41285
+ deepFreeze$1(trimmedEdges);
41272
41286
  const paginatedData = {
41273
41287
  data: {
41274
41288
  ...source,
@@ -43704,7 +43718,7 @@ function performQuickActionDraftAdapterFactory(actionHandler, userId) {
43704
43718
  const request = createResourceRequest(config);
43705
43719
  const action = await actionHandler.enqueue(request).catch((err) => {
43706
43720
  const error = transformErrorToDraftSynthesisError(err);
43707
- deepFreeze(error);
43721
+ deepFreeze$1(error);
43708
43722
  throw error;
43709
43723
  });
43710
43724
  let contextId = action.data.body.contextId;
@@ -43740,7 +43754,7 @@ function performUpdateRecordQuickActionDraftAdapterFactory(actionHandler, userId
43740
43754
  const request = createResourceRequest(config);
43741
43755
  const action = await actionHandler.enqueue(request).catch((err) => {
43742
43756
  const error = transformErrorToDraftSynthesisError(err);
43743
- deepFreeze(error);
43757
+ deepFreeze$1(error);
43744
43758
  throw error;
43745
43759
  });
43746
43760
  let contextId = action.data.body.contextId;
@@ -47325,6 +47339,11 @@ function passThroughResolver(source) {
47325
47339
  function addResolversToSchema(schema, polyFields) {
47326
47340
  // Polymorphic field type is 'recordInterface'
47327
47341
  let recordInterface = undefined;
47342
+ // UIAPI ObjectInfo.fields uses the 'Field' interface with concrete implementations.
47343
+ // We need to resolve the concrete type at runtime when returning snapshot data.
47344
+ let fieldInterface = undefined;
47345
+ let picklistFieldType = undefined;
47346
+ let standardFieldType = undefined;
47328
47347
  let baseRecord = undefined;
47329
47348
  // Concrete types for Polymorphic field
47330
47349
  const polyTypes = [];
@@ -47332,6 +47351,9 @@ function addResolversToSchema(schema, polyFields) {
47332
47351
  if (type.name === 'Record') {
47333
47352
  recordInterface = type;
47334
47353
  }
47354
+ else if (type.name === 'Field') {
47355
+ fieldInterface = type;
47356
+ }
47335
47357
  else if (type.name === 'RecordRepresentation') {
47336
47358
  baseRecord = type;
47337
47359
  }
@@ -47341,6 +47363,13 @@ function addResolversToSchema(schema, polyFields) {
47341
47363
  if (polyFields.find((fieldTypeName) => fieldTypeName === type.name) !== undefined) {
47342
47364
  polyTypes.push(type);
47343
47365
  }
47366
+ // Cache concrete 'Field' implementors for resolveType below
47367
+ if (type.name === 'PicklistField') {
47368
+ picklistFieldType = type;
47369
+ }
47370
+ else if (type.name === 'StandardField') {
47371
+ standardFieldType = type;
47372
+ }
47344
47373
  const fields = values$1(type.getFields());
47345
47374
  // initialize the fields of current type with default behavior
47346
47375
  for (const field of fields) {
@@ -47578,6 +47607,20 @@ function addResolversToSchema(schema, polyFields) {
47578
47607
  return targetType === undefined ? baseRecord : targetType;
47579
47608
  };
47580
47609
  }
47610
+ // Resolve concrete UIAPI Field types when ObjectInfo.fields is read from a snapshot without __typename
47611
+ if (fieldInterface !== undefined &&
47612
+ (picklistFieldType !== undefined || standardFieldType !== undefined)) {
47613
+ fieldInterface.resolveType = function (value) {
47614
+ // Prefer explicit picklist discriminator if present
47615
+ const dataType = value && value.dataType;
47616
+ const isPicklistDataType = dataType === 'PICKLIST' || dataType === 'MULTIPICKLIST';
47617
+ const hasPicklistValues = value && value.picklistValuesByRecordTypeIDs !== undefined;
47618
+ if ((isPicklistDataType || hasPicklistValues) && picklistFieldType) {
47619
+ return picklistFieldType;
47620
+ }
47621
+ return standardFieldType ?? null;
47622
+ };
47623
+ }
47581
47624
  return schema;
47582
47625
  }
47583
47626
  /**
@@ -47618,7 +47661,7 @@ function isRecordType(type) {
47618
47661
  return Boolean(interfaces.find((iface) => iface.name === 'Record'));
47619
47662
  }
47620
47663
 
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";
47664
+ 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
47665
 
47623
47666
  // Define additional schema that is missing from uiapi that we use in local evaluation
47624
47667
  const additionalSchemaDefinitions = /* GraphQL */ `
@@ -48848,6 +48891,10 @@ async function fetchObjectInfos(objectInfotree, pathToObjectApiNamesMap, objectI
48848
48891
  }
48849
48892
  // fetch 'ObjectInfo' before the next fields
48850
48893
  const objectInfosAtThisLevel = await objectInfoService.getObjectInfos(apiNames);
48894
+ if (keys$3(objectInfosAtThisLevel).length < apiNames.length) {
48895
+ // eslint-disable-next-line
48896
+ throw new Error(`Unable to resolve ObjectInfo(s) for ${apiNames.join(', ')}`);
48897
+ }
48851
48898
  updatedObjectInfoMap = { ...objectInfoMap, ...objectInfosAtThisLevel };
48852
48899
  }
48853
48900
  for (const nodeInfo of validObjectInfoNodes) {
@@ -49166,6 +49213,10 @@ function isPolymorphicFieldPath(path, pathToObjectApiNamesMap, objectInfos) {
49166
49213
  return false;
49167
49214
  }
49168
49215
  const parentObjectInfo = objectInfos[parentObjectApiNames[0]];
49216
+ // this should not be undefined, but lets catch it if we do end up in that state.
49217
+ if (parentObjectInfo === undefined) {
49218
+ throw new Error(`ObjectInfo is missing for ${parentObjectApiNames[0]} for ${parentApiPath}`);
49219
+ }
49169
49220
  const relationshipField = referenceIdFieldForRelationship(lastSegment);
49170
49221
  let fieldDefinition = parentObjectInfo.fields[relationshipField];
49171
49222
  if (fieldDefinition === undefined) {
@@ -54631,7 +54682,7 @@ function selectChildResourceParams(luvio, childResources, resourceParams) {
54631
54682
  reader.exitPath();
54632
54683
  }
54633
54684
  reader.assignNonScalar(sink, envelopePath, results);
54634
- deepFreeze(sink);
54685
+ deepFreeze$1(sink);
54635
54686
  reader.exitPath();
54636
54687
  return sink;
54637
54688
  },
@@ -54741,7 +54792,7 @@ function ingestSuccessChildResourceParams(luvio, childConfigs, childResourcePara
54741
54792
  const childSnapshotData = {
54742
54793
  results: childSnapshotDataResponses,
54743
54794
  };
54744
- deepFreeze(childSnapshotData);
54795
+ deepFreeze$1(childSnapshotData);
54745
54796
  return {
54746
54797
  childSnapshotData: childSnapshotData,
54747
54798
  seenRecords,
@@ -55764,6 +55815,7 @@ function createSfsSideEffectHooks(durableRecordStore) {
55764
55815
  const { create, freeze, keys, entries } = Object;
55765
55816
  const { isArray: isArray$1 } = Array;
55766
55817
  const { stringify: stringify$2, parse: parse$2 } = JSON;
55818
+ const WeakSetConstructor = WeakSet;
55767
55819
  const LogLevelMap = {
55768
55820
  TRACE: 4,
55769
55821
  DEBUG: 3,
@@ -55843,43 +55895,79 @@ function buildSubscribableResult$1(result, subscribe, refresh) {
55843
55895
  return err$1({ failure: result.error, subscribe, refresh });
55844
55896
  }
55845
55897
  }
55846
- function resolvedPromiseLike$3(result) {
55847
- if (isPromiseLike$3(result)) {
55898
+ function resolvedPromiseLike$2(result) {
55899
+ if (isPromiseLike$2(result)) {
55848
55900
  return result.then((nextResult) => nextResult);
55849
55901
  }
55850
55902
  return {
55851
55903
  then: (onFulfilled, _onRejected) => {
55852
55904
  try {
55853
- return resolvedPromiseLike$3(onFulfilled(result));
55905
+ return resolvedPromiseLike$2(onFulfilled(result));
55854
55906
  } catch (e) {
55855
55907
  if (onFulfilled === void 0) {
55856
- return resolvedPromiseLike$3(result);
55908
+ return resolvedPromiseLike$2(result);
55857
55909
  }
55858
- return rejectedPromiseLike$3(e);
55910
+ return rejectedPromiseLike$2(e);
55859
55911
  }
55860
55912
  }
55861
55913
  };
55862
55914
  }
55863
- function rejectedPromiseLike$3(reason) {
55864
- if (isPromiseLike$3(reason)) {
55915
+ function rejectedPromiseLike$2(reason) {
55916
+ if (isPromiseLike$2(reason)) {
55865
55917
  return reason.then((nextResult) => nextResult);
55866
55918
  }
55867
55919
  return {
55868
55920
  then: (_onFulfilled, onRejected) => {
55869
55921
  if (typeof onRejected === "function") {
55870
55922
  try {
55871
- return resolvedPromiseLike$3(onRejected(reason));
55923
+ return resolvedPromiseLike$2(onRejected(reason));
55872
55924
  } catch (e) {
55873
- return rejectedPromiseLike$3(e);
55925
+ return rejectedPromiseLike$2(e);
55874
55926
  }
55875
55927
  }
55876
- return rejectedPromiseLike$3(reason);
55928
+ return rejectedPromiseLike$2(reason);
55877
55929
  }
55878
55930
  };
55879
55931
  }
55880
- function isPromiseLike$3(x) {
55932
+ function isPromiseLike$2(x) {
55881
55933
  return typeof (x == null ? void 0 : x.then) === "function";
55882
55934
  }
55935
+ function deepEquals$1(x, y) {
55936
+ if (x === void 0) {
55937
+ return y === void 0;
55938
+ } else if (x === null) {
55939
+ return y === null;
55940
+ } else if (y === null) {
55941
+ return x === null;
55942
+ } else if (isArray$1(x)) {
55943
+ if (!isArray$1(y) || x.length !== y.length) {
55944
+ return false;
55945
+ }
55946
+ for (let i = 0; i < x.length; ++i) {
55947
+ if (!deepEquals$1(x[i], y[i])) {
55948
+ return false;
55949
+ }
55950
+ }
55951
+ return true;
55952
+ } else if (typeof x === "object") {
55953
+ if (typeof y !== "object") {
55954
+ return false;
55955
+ }
55956
+ const xkeys = Object.keys(x);
55957
+ const ykeys = Object.keys(y);
55958
+ if (xkeys.length !== ykeys.length) {
55959
+ return false;
55960
+ }
55961
+ for (let i = 0; i < xkeys.length; ++i) {
55962
+ const key = xkeys[i];
55963
+ if (!deepEquals$1(x[key], y[key])) {
55964
+ return false;
55965
+ }
55966
+ }
55967
+ return true;
55968
+ }
55969
+ return x === y;
55970
+ }
55883
55971
  function stableJSONStringify(node) {
55884
55972
  if (node && node.toJSON && typeof node.toJSON === "function") {
55885
55973
  node = node.toJSON();
@@ -55970,6 +56058,24 @@ class FetchResponse extends Error {
55970
56058
  this.statusText = getStatusText(status);
55971
56059
  }
55972
56060
  }
56061
+ const deeplyFrozen = new WeakSetConstructor();
56062
+ function deepFreeze(value) {
56063
+ if (typeof value !== "object" || value === null || deeplyFrozen.has(value)) {
56064
+ return;
56065
+ }
56066
+ deeplyFrozen.add(value);
56067
+ if (isArray$1(value)) {
56068
+ for (let i = 0, len = value.length; i < len; i += 1) {
56069
+ deepFreeze(value[i]);
56070
+ }
56071
+ } else {
56072
+ const keys$1 = keys(value);
56073
+ for (let i = 0, len = keys$1.length; i < len; i += 1) {
56074
+ deepFreeze(value[keys$1[i]]);
56075
+ }
56076
+ }
56077
+ freeze(value);
56078
+ }
55973
56079
  class InternalError extends Error {
55974
56080
  constructor(data) {
55975
56081
  super();
@@ -55984,6 +56090,15 @@ class UserVisibleError extends Error {
55984
56090
  this.type = "user-visible";
55985
56091
  }
55986
56092
  }
56093
+ function isUserVisibleError$1(error) {
56094
+ return error instanceof Error && "type" in error && error.type === "user-visible";
56095
+ }
56096
+ function logError$1(error) {
56097
+ if (isUserVisibleError$1(error)) {
56098
+ return;
56099
+ }
56100
+ console.error("OneStore Command threw an error that we did not expect", error);
56101
+ }
55987
56102
 
55988
56103
  /*!
55989
56104
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -56040,7 +56155,7 @@ let NetworkCommand$1 = class NetworkCommand extends BaseCommand {
56040
56155
  async afterRequestHooks(_options) {
56041
56156
  }
56042
56157
  };
56043
- function buildServiceDescriptor$h() {
56158
+ function buildServiceDescriptor$n() {
56044
56159
  return {
56045
56160
  type: "networkCommandBaseClass",
56046
56161
  version: "1.0",
@@ -56139,10 +56254,10 @@ class AuraNetworkCommand extends NetworkCommand$1 {
56139
56254
  } else if (this.shouldUseFetch()) {
56140
56255
  return this.convertFetchResponseToData(this.services.fetch(...this.fetchParams));
56141
56256
  }
56142
- return resolvedPromiseLike$3(err$1(toError("Aura/Fetch network services not found")));
56257
+ return resolvedPromiseLike$2(err$1(toError("Aura/Fetch network services not found")));
56143
56258
  }
56144
56259
  }
56145
- function buildServiceDescriptor$g() {
56260
+ function buildServiceDescriptor$m() {
56146
56261
  return {
56147
56262
  type: "auraNetworkCommandBaseClass",
56148
56263
  version: "1.0",
@@ -56192,41 +56307,41 @@ function buildSubscribableResult(result, subscribe, refresh) {
56192
56307
  return err({ failure: result.error, subscribe, refresh });
56193
56308
  }
56194
56309
  }
56195
- function resolvedPromiseLike$2(result) {
56196
- if (isPromiseLike$2(result)) {
56310
+ function resolvedPromiseLike$1(result) {
56311
+ if (isPromiseLike$1(result)) {
56197
56312
  return result.then((nextResult) => nextResult);
56198
56313
  }
56199
56314
  return {
56200
56315
  then: (onFulfilled, _onRejected) => {
56201
56316
  try {
56202
- return resolvedPromiseLike$2(onFulfilled(result));
56317
+ return resolvedPromiseLike$1(onFulfilled(result));
56203
56318
  } catch (e) {
56204
56319
  if (onFulfilled === void 0) {
56205
- return resolvedPromiseLike$2(result);
56320
+ return resolvedPromiseLike$1(result);
56206
56321
  }
56207
- return rejectedPromiseLike$2(e);
56322
+ return rejectedPromiseLike$1(e);
56208
56323
  }
56209
56324
  }
56210
56325
  };
56211
56326
  }
56212
- function rejectedPromiseLike$2(reason) {
56213
- if (isPromiseLike$2(reason)) {
56327
+ function rejectedPromiseLike$1(reason) {
56328
+ if (isPromiseLike$1(reason)) {
56214
56329
  return reason.then((nextResult) => nextResult);
56215
56330
  }
56216
56331
  return {
56217
56332
  then: (_onFulfilled, onRejected) => {
56218
56333
  if (typeof onRejected === "function") {
56219
56334
  try {
56220
- return resolvedPromiseLike$2(onRejected(reason));
56335
+ return resolvedPromiseLike$1(onRejected(reason));
56221
56336
  } catch (e) {
56222
- return rejectedPromiseLike$2(e);
56337
+ return rejectedPromiseLike$1(e);
56223
56338
  }
56224
56339
  }
56225
- return rejectedPromiseLike$2(reason);
56340
+ return rejectedPromiseLike$1(reason);
56226
56341
  }
56227
56342
  };
56228
56343
  }
56229
- function isPromiseLike$2(x) {
56344
+ function isPromiseLike$1(x) {
56230
56345
  return typeof (x == null ? void 0 : x.then) === "function";
56231
56346
  }
56232
56347
  function deepEquals(x, y) {
@@ -56461,7 +56576,7 @@ class CacheControlCommand extends BaseCommand {
56461
56576
  });
56462
56577
  }
56463
56578
  }
56464
- return resolvedPromiseLike$2(void 0);
56579
+ return resolvedPromiseLike$1(void 0);
56465
56580
  }
56466
56581
  get operationType() {
56467
56582
  return "query";
@@ -56737,7 +56852,7 @@ let AuraCacheControlCommand$1 = class AuraCacheControlCommand extends CacheContr
56737
56852
  } else if (this.shouldUseFetch()) {
56738
56853
  return this.convertFetchResponseToData(this.services.fetch(...this.fetchParams));
56739
56854
  }
56740
- return resolvedPromiseLike$3(err$1(toError("Aura/Fetch network services not found")));
56855
+ return resolvedPromiseLike$2(err$1(toError("Aura/Fetch network services not found")));
56741
56856
  }
56742
56857
  coerceAuraErrors(auraErrors) {
56743
56858
  return toError(auraErrors[0]);
@@ -56810,11 +56925,11 @@ class AuraNormalizedCacheControlCommand extends AuraCacheControlCommand$1 {
56810
56925
  readFromCache(cache) {
56811
56926
  const data = this.buildResultType().query(cache, this.buildQuery());
56812
56927
  if (data.isErr()) {
56813
- return resolvedPromiseLike$3(
56928
+ return resolvedPromiseLike$2(
56814
56929
  err$1(new Error(`Failed to build data from type: ${stringify$2(data.error)}`))
56815
56930
  );
56816
56931
  }
56817
- return resolvedPromiseLike$3(ok$1(data.value));
56932
+ return resolvedPromiseLike$2(ok$1(data.value));
56818
56933
  }
56819
56934
  writeToCache(cache, networkResult) {
56820
56935
  if (networkResult.isOk()) {
@@ -56823,10 +56938,10 @@ class AuraNormalizedCacheControlCommand extends AuraCacheControlCommand$1 {
56823
56938
  this.buildWriteInput(networkResult.value)
56824
56939
  );
56825
56940
  }
56826
- return resolvedPromiseLike$3(void 0);
56941
+ return resolvedPromiseLike$2(void 0);
56827
56942
  }
56828
56943
  }
56829
- function buildServiceDescriptor$f() {
56944
+ function buildServiceDescriptor$l() {
56830
56945
  return {
56831
56946
  type: "auraNormalizedCacheControlCommand",
56832
56947
  version: "1.0",
@@ -56876,7 +56991,7 @@ class AuraCacheControlCommand extends CacheControlCommand {
56876
56991
  } else if (this.shouldUseFetch()) {
56877
56992
  return this.convertFetchResponseToData(this.services.fetch(...this.fetchParams));
56878
56993
  }
56879
- return resolvedPromiseLike$3(err$1(toError("Aura/Fetch network services not found")));
56994
+ return resolvedPromiseLike$2(err$1(toError("Aura/Fetch network services not found")));
56880
56995
  }
56881
56996
  coerceAuraErrors(auraErrors) {
56882
56997
  return toError(auraErrors[0]);
@@ -56950,9 +57065,9 @@ class AuraResourceCacheControlCommand extends AuraCacheControlCommand {
56950
57065
  var _a;
56951
57066
  const data = (_a = cache.get(this.buildKey())) == null ? void 0 : _a.value;
56952
57067
  if (data === void 0) {
56953
- return resolvedPromiseLike$3(err$1(new Error("Failed to find data in cache")));
57068
+ return resolvedPromiseLike$2(err$1(new Error("Failed to find data in cache")));
56954
57069
  }
56955
- return resolvedPromiseLike$3(ok$1(data));
57070
+ return resolvedPromiseLike$2(ok$1(data));
56956
57071
  }
56957
57072
  writeToCache(cache, networkResult) {
56958
57073
  if (networkResult.isOk()) {
@@ -56963,13 +57078,13 @@ class AuraResourceCacheControlCommand extends AuraCacheControlCommand {
56963
57078
  }
56964
57079
  });
56965
57080
  }
56966
- return resolvedPromiseLike$3(void 0);
57081
+ return resolvedPromiseLike$2(void 0);
56967
57082
  }
56968
57083
  buildKey() {
56969
57084
  return `{"endpoint":${this.endpoint},"params":${stableJSONStringify(this.auraParams)}}`;
56970
57085
  }
56971
57086
  }
56972
- function buildServiceDescriptor$e() {
57087
+ function buildServiceDescriptor$k() {
56973
57088
  return {
56974
57089
  type: "auraResourceCacheControlCommand",
56975
57090
  version: "1.0",
@@ -57147,7 +57262,7 @@ _FetchNetworkCommand.availableDecorators = {
57147
57262
  abortable: createAbortableDecorator
57148
57263
  };
57149
57264
  let FetchNetworkCommand = _FetchNetworkCommand;
57150
- function buildServiceDescriptor$d() {
57265
+ function buildServiceDescriptor$j() {
57151
57266
  return {
57152
57267
  type: "fetchNetworkCommandBaseClass",
57153
57268
  version: "1.0",
@@ -57220,11 +57335,11 @@ class HttpNormalizedCacheControlCommand extends HttpCacheControlCommand {
57220
57335
  readFromCache(cache) {
57221
57336
  const data = this.buildResultType().query(cache, this.buildQuery());
57222
57337
  if (data.isErr()) {
57223
- return resolvedPromiseLike$3(
57338
+ return resolvedPromiseLike$2(
57224
57339
  err$1(new Error(`Failed to build data from type: ${stringify$2(data.error)}`))
57225
57340
  );
57226
57341
  }
57227
- return resolvedPromiseLike$3(ok$1(data.value));
57342
+ return resolvedPromiseLike$2(ok$1(data.value));
57228
57343
  }
57229
57344
  writeToCache(cache, networkResult) {
57230
57345
  if (networkResult.isOk()) {
@@ -57233,10 +57348,10 @@ class HttpNormalizedCacheControlCommand extends HttpCacheControlCommand {
57233
57348
  this.buildWriteInput(networkResult.value)
57234
57349
  );
57235
57350
  }
57236
- return resolvedPromiseLike$3(void 0);
57351
+ return resolvedPromiseLike$2(void 0);
57237
57352
  }
57238
57353
  }
57239
- function buildServiceDescriptor$c() {
57354
+ function buildServiceDescriptor$i() {
57240
57355
  return {
57241
57356
  type: "httpNormalizedCacheControlCommand",
57242
57357
  version: "1.0",
@@ -57489,7 +57604,7 @@ let DefaultCache$1 = class DefaultCache {
57489
57604
  return new FixedTimeWritableCache$1(this, generatedTime);
57490
57605
  }
57491
57606
  };
57492
- function buildServiceDescriptor$b() {
57607
+ function buildServiceDescriptor$h() {
57493
57608
  return {
57494
57609
  type: "cache",
57495
57610
  version: "1.0",
@@ -57712,7 +57827,7 @@ class CacheController {
57712
57827
  yield* this.services.cacheInclusionPolicy.findAndModify(query, cacheUpdate);
57713
57828
  }
57714
57829
  }
57715
- function buildServiceDescriptor$a(cache, cacheInclusionPolicy, instrumentation) {
57830
+ function buildServiceDescriptor$g(cache, cacheInclusionPolicy, instrumentation) {
57716
57831
  return {
57717
57832
  type: "cacheController",
57718
57833
  version: "1.0",
@@ -57763,7 +57878,7 @@ function buildInstrumentCommand(services) {
57763
57878
  };
57764
57879
  };
57765
57880
  }
57766
- function buildServiceDescriptor$9(instrumentation) {
57881
+ function buildServiceDescriptor$f(instrumentation) {
57767
57882
  return {
57768
57883
  type: "instrumentCommand",
57769
57884
  version: "1.0",
@@ -58033,7 +58148,7 @@ class O11yInstrumentation {
58033
58148
  this.metrics = new O11yOTelMetricsAPI(this.services);
58034
58149
  }
58035
58150
  }
58036
- function buildServiceDescriptor$8(logger) {
58151
+ function buildServiceDescriptor$e(logger) {
58037
58152
  return {
58038
58153
  type: "instrumentation",
58039
58154
  version: "1.0",
@@ -58046,48 +58161,6 @@ function buildServiceDescriptor$8(logger) {
58046
58161
  * All rights reserved.
58047
58162
  * For full license text, see the LICENSE.txt file
58048
58163
  */
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
58164
  const EventTypeWildcard = Symbol("EventTypeWildcard");
58092
58165
  class DefaultPubSubService {
58093
58166
  constructor() {
@@ -58115,14 +58188,14 @@ class DefaultPubSubService {
58115
58188
  return;
58116
58189
  }
58117
58190
  const returnVal = subscription.callback.call(subscription, event);
58118
- if (isPromiseLike$1(returnVal)) {
58191
+ if (isPromiseLike$2(returnVal)) {
58119
58192
  promises.push(returnVal);
58120
58193
  }
58121
58194
  });
58122
58195
  if (promises.length > 0) {
58123
58196
  return Promise.all(promises).then(() => void 0);
58124
58197
  }
58125
- return resolvedPromiseLike$1(void 0);
58198
+ return resolvedPromiseLike$2(void 0);
58126
58199
  }
58127
58200
  getSubscriptions(event) {
58128
58201
  const eventTypeSubscriptions = this.subscriptions.get(event.type);
@@ -58143,7 +58216,7 @@ class DefaultPubSubService {
58143
58216
  return matchingSubscriptions;
58144
58217
  }
58145
58218
  }
58146
- function buildServiceDescriptor$7() {
58219
+ function buildServiceDescriptor$d() {
58147
58220
  return {
58148
58221
  type: "pubSub",
58149
58222
  version: "1.0",
@@ -58167,7 +58240,7 @@ class FeatureFlagsService {
58167
58240
  return this.flags.get(flagName) || defaultValue;
58168
58241
  }
58169
58242
  }
58170
- function buildServiceDescriptor$6() {
58243
+ function buildServiceDescriptor$c() {
58171
58244
  return {
58172
58245
  version: "1.0",
58173
58246
  service: new FeatureFlagsService(),
@@ -58208,7 +58281,7 @@ function buildServiceDescriptor$6() {
58208
58281
  * };
58209
58282
  * ```
58210
58283
  */
58211
- function buildServiceDescriptor$5(luvio) {
58284
+ function buildServiceDescriptor$b(luvio) {
58212
58285
  return {
58213
58286
  type: 'luvio',
58214
58287
  version: '1.0',
@@ -58217,7 +58290,7 @@ function buildServiceDescriptor$5(luvio) {
58217
58290
  },
58218
58291
  };
58219
58292
  }
58220
- // version: 1.401.0-c620f9ffed
58293
+ // version: 1.402.0-566b6c5389
58221
58294
 
58222
58295
  /**
58223
58296
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -58233,7 +58306,7 @@ function buildServiceDescriptor$5(luvio) {
58233
58306
  * *******************************************************************************************
58234
58307
  */
58235
58308
  /* proxy-compat-disable */
58236
- function buildServiceDescriptor$4(notifyRecordUpdateAvailable, getNormalizedLuvioRecord) {
58309
+ function buildServiceDescriptor$a(notifyRecordUpdateAvailable, getNormalizedLuvioRecord) {
58237
58310
  return {
58238
58311
  type: 'luvioUiapiRecords',
58239
58312
  version: '1.0',
@@ -58243,7 +58316,7 @@ function buildServiceDescriptor$4(notifyRecordUpdateAvailable, getNormalizedLuvi
58243
58316
  },
58244
58317
  };
58245
58318
  }
58246
- // version: 1.401.0-c620f9ffed
58319
+ // version: 1.402.0-566b6c5389
58247
58320
 
58248
58321
  /*!
58249
58322
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -59084,6 +59157,62 @@ function hasMultilineItems(maybeArray) {
59084
59157
  var _maybeArray$some;
59085
59158
  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
59159
  }
59160
+ const referenceMap = /* @__PURE__ */ new WeakMap();
59161
+ const astResolver = function(astReference) {
59162
+ return referenceMap.get(astReference);
59163
+ };
59164
+ function findExecutableOperation$1(document, operationName) {
59165
+ const operations = document.definitions.filter(
59166
+ (def) => def.kind === Kind.OPERATION_DEFINITION
59167
+ );
59168
+ if (operations.length === 0) {
59169
+ return void 0;
59170
+ }
59171
+ if (operations.length === 1 && !operationName) {
59172
+ return operations[0];
59173
+ }
59174
+ if (operationName) {
59175
+ return operations.find((op) => {
59176
+ var _a;
59177
+ return ((_a = op.name) == null ? void 0 : _a.value) === operationName;
59178
+ });
59179
+ }
59180
+ return void 0;
59181
+ }
59182
+ function validateGraphQLOperations(config, options) {
59183
+ const executableOperation = findExecutableOperation$1(config.query, config.operationName);
59184
+ if (executableOperation) {
59185
+ const operationType = executableOperation.operation;
59186
+ if (!options.acceptedOperations.includes(operationType)) {
59187
+ const operationTypeCapitalized = operationType.charAt(0).toUpperCase() + operationType.slice(1);
59188
+ throw new Error(
59189
+ `${operationTypeCapitalized} operations are not supported in this context`
59190
+ );
59191
+ }
59192
+ }
59193
+ }
59194
+ function resolveAst(ast) {
59195
+ if (ast === null || ast === void 0) {
59196
+ return;
59197
+ }
59198
+ const result = astResolver(ast);
59199
+ if (result === void 0) {
59200
+ throw new Error("Could not resolve AST. Did you parse the query with gql?");
59201
+ }
59202
+ return result;
59203
+ }
59204
+ function wrapConfigAndVerify(config, options) {
59205
+ if (config == null ? void 0 : config.query) {
59206
+ config = { ...config, query: resolveAst(config.query) };
59207
+ if (config.query === void 0) {
59208
+ throw new Error("Internal error in GraphQL adapter occurred: Unable to resolve query");
59209
+ }
59210
+ validateGraphQLOperations(config, {
59211
+ acceptedOperations: (options == null ? void 0 : options.acceptedOperations) ?? ["query"]
59212
+ });
59213
+ }
59214
+ return config;
59215
+ }
59087
59216
 
59088
59217
  /*!
59089
59218
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -59300,7 +59429,7 @@ class AuraGraphQLNormalizedCacheControlCommand extends AuraNormalizedCacheContro
59300
59429
  return buildSubscribableResult$1(result, this.buildSubscribe(), () => this.refresh());
59301
59430
  });
59302
59431
  }
59303
- return resolvedPromiseLike$3(
59432
+ return resolvedPromiseLike$2(
59304
59433
  buildSubscribableResult$1(
59305
59434
  err$1(toError("Aura/Fetch network services not found")),
59306
59435
  this.buildSubscribe(),
@@ -59342,7 +59471,7 @@ class AuraGraphQLNormalizedCacheControlCommand extends AuraNormalizedCacheContro
59342
59471
  });
59343
59472
  }
59344
59473
  }
59345
- function buildServiceDescriptor$3() {
59474
+ function buildServiceDescriptor$9() {
59346
59475
  return {
59347
59476
  type: "auraGraphQLNormalizedCacheControlCommand",
59348
59477
  version: "1.0",
@@ -59460,7 +59589,7 @@ class HttpGraphQLNormalizedCacheControlCommand extends HttpNormalizedCacheContro
59460
59589
  });
59461
59590
  }
59462
59591
  }
59463
- function buildServiceDescriptor$2() {
59592
+ function buildServiceDescriptor$8() {
59464
59593
  return {
59465
59594
  type: "httpGraphQLNormalizedCacheControlCommand",
59466
59595
  version: "1.0",
@@ -59473,26 +59602,1179 @@ function buildServiceDescriptor$2() {
59473
59602
  * All rights reserved.
59474
59603
  * For full license text, see the LICENSE.txt file
59475
59604
  */
59476
- function buildServiceDescriptor$1(interceptors = { request: [], response: [] }, retryService) {
59605
+ class JsonSchemaViolationError extends Error {
59606
+ constructor(message, validationErrors) {
59607
+ super(message);
59608
+ this.validationErrors = [];
59609
+ this.validationErrors = validationErrors || [];
59610
+ }
59611
+ }
59612
+ class MinItemsViolationError extends JsonSchemaViolationError {
59613
+ }
59614
+ class MaxItemsViolationError extends JsonSchemaViolationError {
59615
+ }
59616
+ class IncorrectTypeError extends JsonSchemaViolationError {
59617
+ }
59618
+ class AdditionalPropertiesError extends JsonSchemaViolationError {
59619
+ }
59620
+ class MissingRequiredPropertyError extends JsonSchemaViolationError {
59621
+ }
59622
+ class InvalidRefError extends JsonSchemaViolationError {
59623
+ }
59624
+ class JsonSchemaErrorCollector {
59625
+ constructor() {
59626
+ this.errors = [];
59627
+ }
59628
+ add(error) {
59629
+ this.errors.push(error);
59630
+ }
59631
+ append(response) {
59632
+ if (response.isErr()) {
59633
+ this.errors.push(...response.error);
59634
+ }
59635
+ }
59636
+ hasErrors() {
59637
+ return this.errors.length > 0;
59638
+ }
59639
+ prepend(error) {
59640
+ this.errors.unshift(error);
59641
+ }
59642
+ toValidationResponse() {
59643
+ return !this.hasErrors() ? ok$1(true) : err$1(this.errors);
59644
+ }
59645
+ }
59646
+ function createThrowableError(errors) {
59647
+ if (errors[0] instanceof MinItemsViolationError) {
59648
+ return new MinItemsViolationError(errors[0].message, errors);
59649
+ }
59650
+ if (errors[0] instanceof MaxItemsViolationError) {
59651
+ return new MaxItemsViolationError(errors[0].message, errors);
59652
+ }
59653
+ if (errors[0] instanceof IncorrectTypeError) {
59654
+ return new IncorrectTypeError(errors[0].message, errors);
59655
+ }
59656
+ if (errors[0] instanceof AdditionalPropertiesError) {
59657
+ return new AdditionalPropertiesError(errors[0].message, errors);
59658
+ }
59659
+ if (errors[0] instanceof MissingRequiredPropertyError) {
59660
+ return new MissingRequiredPropertyError(errors[0].message, errors);
59661
+ }
59662
+ if (errors[0] instanceof InvalidRefError) {
59663
+ return new InvalidRefError(errors[0].message, errors);
59664
+ }
59665
+ return new JsonSchemaViolationError(errors[0].message, errors);
59666
+ }
59667
+ function assertIsValid(data, schema) {
59668
+ const validationResponse = validateJsonSchema(data, schema);
59669
+ if (validationResponse.isErr()) {
59670
+ throw createThrowableError(validationResponse.error);
59671
+ }
59672
+ }
59673
+ function incorrectTypeError(expected, actual, path) {
59674
+ return new IncorrectTypeError(
59675
+ `Expected type ${expected} at path '${path}', found type ${actual}.`
59676
+ );
59677
+ }
59678
+ function validSchemaResponse() {
59679
+ return ok$1(true);
59680
+ }
59681
+ function invalidSchemaResponseWithError(error) {
59682
+ return err$1([error]);
59683
+ }
59684
+ function validateJsonSchema(data, schema, path = "$", document = schema) {
59685
+ if (schema === true) return validSchemaResponse();
59686
+ if (schema === false)
59687
+ return invalidSchemaResponseWithError(
59688
+ new JsonSchemaViolationError(`Data at ${path} has schema 'false'`)
59689
+ );
59690
+ const dataType = data === null ? "null" : Array.isArray(data) ? "array" : typeof data;
59691
+ const errorCollector = new JsonSchemaErrorCollector();
59692
+ if ("anyOf" in schema) {
59693
+ errorCollector.append(validateAnyOf(data, schema, path, document));
59694
+ } else if ("oneOf" in schema) {
59695
+ errorCollector.append(validateOneOf(data, schema, path, document));
59696
+ } else if ("allOf" in schema) {
59697
+ errorCollector.append(validateAllOf(data, schema, path, document));
59698
+ } else if ("not" in schema) {
59699
+ errorCollector.append(validateNot(data, schema, path, document));
59700
+ } else if ("$ref" in schema) {
59701
+ errorCollector.append(validateRef(data, schema, path, document));
59702
+ } else if ("type" in schema) {
59703
+ if (schema.type === "object") {
59704
+ if (dataType !== "object") {
59705
+ errorCollector.add(incorrectTypeError("object", dataType, path));
59706
+ } else {
59707
+ errorCollector.append(
59708
+ validateObject(data, schema, path, document)
59709
+ );
59710
+ }
59711
+ } else if (schema.type === "array") {
59712
+ if (dataType !== "array") {
59713
+ errorCollector.add(incorrectTypeError("array", dataType, path));
59714
+ } else {
59715
+ errorCollector.append(
59716
+ validateArray(data, schema, path, document)
59717
+ );
59718
+ }
59719
+ } else {
59720
+ errorCollector.append(
59721
+ validateScalar(data, schema, path)
59722
+ );
59723
+ }
59724
+ }
59725
+ if (schema.enum) {
59726
+ errorCollector.append(validateEnum(data, schema.enum, path));
59727
+ }
59728
+ if (schema.const) {
59729
+ errorCollector.append(validateConst(data, schema.const, path));
59730
+ }
59731
+ return errorCollector.toValidationResponse();
59732
+ }
59733
+ function validateAnyOf(data, schema, path, document) {
59734
+ let isValid = false;
59735
+ const errorCollector = new JsonSchemaErrorCollector();
59736
+ for (let i = 0, { length } = schema.anyOf; i < length; i++) {
59737
+ const element = schema.anyOf[i];
59738
+ const validationResponse = validateJsonSchema(
59739
+ data,
59740
+ element,
59741
+ `${path}.anyOf[${i}]`,
59742
+ document
59743
+ );
59744
+ if (validationResponse.isOk()) {
59745
+ isValid = true;
59746
+ break;
59747
+ } else {
59748
+ errorCollector.append(validationResponse);
59749
+ }
59750
+ }
59751
+ if (!isValid) {
59752
+ errorCollector.prepend(
59753
+ new JsonSchemaViolationError(`Data at ${path} did not match any subschema in anyOf.`)
59754
+ );
59755
+ return errorCollector.toValidationResponse();
59756
+ }
59757
+ return validSchemaResponse();
59758
+ }
59759
+ function validateOneOf(data, schema, path, document) {
59760
+ let validSubShemaPaths = [];
59761
+ const errorCollector = new JsonSchemaErrorCollector();
59762
+ for (let i = 0, { length } = schema.oneOf; i < length; i++) {
59763
+ const element = schema.oneOf[i];
59764
+ const oneOfPath = `${path}.oneOf[${i}]`;
59765
+ const validationResponse = validateJsonSchema(data, element, oneOfPath, document);
59766
+ if (validationResponse.isOk()) {
59767
+ validSubShemaPaths.push(oneOfPath);
59768
+ } else {
59769
+ errorCollector.append(validationResponse);
59770
+ }
59771
+ }
59772
+ if (validSubShemaPaths.length === 0) {
59773
+ errorCollector.prepend(
59774
+ new JsonSchemaViolationError(`Data at ${path} did not match any subschema in oneOf.`)
59775
+ );
59776
+ return errorCollector.toValidationResponse();
59777
+ } else if (validSubShemaPaths.length > 1) {
59778
+ errorCollector.prepend(
59779
+ new JsonSchemaViolationError(
59780
+ `Data at ${path} matched multiple subschemas: [${validSubShemaPaths.join(", ")}].`
59781
+ )
59782
+ );
59783
+ return errorCollector.toValidationResponse();
59784
+ }
59785
+ return validSchemaResponse();
59786
+ }
59787
+ function validateAllOf(data, schema, path, document) {
59788
+ let isValid = true;
59789
+ const errorCollector = new JsonSchemaErrorCollector();
59790
+ for (let i = 0, { length } = schema.allOf; i < length; i++) {
59791
+ const element = schema.allOf[i];
59792
+ const validationResponse = validateJsonSchema(
59793
+ data,
59794
+ element,
59795
+ `${path}.allOf[${i}]`,
59796
+ document
59797
+ );
59798
+ if (!validationResponse.isOk()) {
59799
+ errorCollector.append(validationResponse);
59800
+ isValid = false;
59801
+ }
59802
+ }
59803
+ if (!isValid) {
59804
+ errorCollector.prepend(
59805
+ new JsonSchemaViolationError(`Data at ${path} did not match some subschemas in allOf.`)
59806
+ );
59807
+ }
59808
+ return errorCollector.toValidationResponse();
59809
+ }
59810
+ function validateNot(data, schema, path, document) {
59811
+ const validationResponse = validateJsonSchema(data, schema.not, path, document);
59812
+ if (validationResponse.isOk()) {
59813
+ return invalidSchemaResponseWithError(
59814
+ new JsonSchemaViolationError(
59815
+ `Data at ${path} validated against the schema of a not clause.`
59816
+ )
59817
+ );
59818
+ }
59819
+ return validSchemaResponse();
59820
+ }
59821
+ function validateObject(data, schema, path, document) {
59822
+ const schemaKeys = Object.keys(schema.properties);
59823
+ const requiredKeys = new Set(schema.required);
59824
+ const schemaKeySet = new Set(schemaKeys);
59825
+ const errorCollector = new JsonSchemaErrorCollector();
59826
+ Object.keys(data).forEach((key) => {
59827
+ if (!schemaKeySet.has(key)) {
59828
+ errorCollector.append(
59829
+ validateJsonSchema(
59830
+ data[key],
59831
+ schema.additionalProperties,
59832
+ `${path}.additionalProperties[${key}]`,
59833
+ document
59834
+ )
59835
+ );
59836
+ }
59837
+ });
59838
+ for (let i = 0, length = schemaKeys.length; i < length; i++) {
59839
+ const key = schemaKeys[i];
59840
+ const keyInData = key in data && data[key] !== void 0;
59841
+ if (requiredKeys.has(key) && !keyInData) {
59842
+ errorCollector.add(
59843
+ new MissingRequiredPropertyError(
59844
+ `Object at path '${path}' is missing required property '${key}'.`
59845
+ )
59846
+ );
59847
+ }
59848
+ if (keyInData) {
59849
+ errorCollector.append(
59850
+ validateJsonSchema(
59851
+ data[key],
59852
+ schema.properties[key],
59853
+ `${path}.${key}`,
59854
+ document
59855
+ )
59856
+ );
59857
+ }
59858
+ }
59859
+ return errorCollector.toValidationResponse();
59860
+ }
59861
+ function validateArray(data, schema, path, document) {
59862
+ if (schema.minItems !== void 0 && data.length < schema.minItems) {
59863
+ return invalidSchemaResponseWithError(
59864
+ new MinItemsViolationError(
59865
+ `Array at path '${path}' fails minItems constraint. Has ${data.length} items, needs at least ${schema.minItems}.`
59866
+ )
59867
+ );
59868
+ }
59869
+ if (schema.maxItems !== void 0 && data.length > schema.maxItems) {
59870
+ return invalidSchemaResponseWithError(
59871
+ new MaxItemsViolationError(
59872
+ `Array at path '${path}' fails maxItems constraint. Has ${data.length} items, needs at most ${schema.maxItems}.`
59873
+ )
59874
+ );
59875
+ }
59876
+ const errorCollector = new JsonSchemaErrorCollector();
59877
+ data.forEach(
59878
+ (element, index) => errorCollector.append(
59879
+ validateJsonSchema(element, schema.items, `${path}[${index}]`, document)
59880
+ )
59881
+ );
59882
+ return errorCollector.toValidationResponse();
59883
+ }
59884
+ function validateScalar(data, schema, path) {
59885
+ const schemaDataType = schema.type;
59886
+ const dataType = typeof data;
59887
+ if (schemaDataType === "integer") {
59888
+ if (dataType !== "number" || !Number.isInteger(data)) {
59889
+ return invalidSchemaResponseWithError(incorrectTypeError("integer", dataType, path));
59890
+ }
59891
+ } else if (schemaDataType === "number") {
59892
+ if (dataType !== "number") {
59893
+ return invalidSchemaResponseWithError(incorrectTypeError("number", dataType, path));
59894
+ }
59895
+ } else if (schemaDataType === "string") {
59896
+ if (dataType !== "string") {
59897
+ return invalidSchemaResponseWithError(incorrectTypeError("string", dataType, path));
59898
+ }
59899
+ } else if (schemaDataType === "boolean") {
59900
+ if (dataType !== "boolean") {
59901
+ return invalidSchemaResponseWithError(incorrectTypeError("boolean", dataType, path));
59902
+ }
59903
+ } else if (schemaDataType === "null") {
59904
+ if (data !== null) {
59905
+ return invalidSchemaResponseWithError(incorrectTypeError("null", dataType, path));
59906
+ }
59907
+ } else {
59908
+ return invalidSchemaResponseWithError(
59909
+ new IncorrectTypeError(`Unknown schema data type: ${schemaDataType}.`)
59910
+ );
59911
+ }
59912
+ return validSchemaResponse();
59913
+ }
59914
+ function validateRef(data, schema, path, document) {
59915
+ if (!schema.$ref.startsWith("#")) {
59916
+ return invalidSchemaResponseWithError(
59917
+ new InvalidRefError(
59918
+ `$ref values that do not refer to the current document are unsupported (must start with '#')`
59919
+ )
59920
+ );
59921
+ }
59922
+ try {
59923
+ const schemaToValidate = findSchemaAtPath(document, schema.$ref);
59924
+ return validateJsonSchema(data, schemaToValidate, path, document);
59925
+ } catch (e) {
59926
+ return invalidSchemaResponseWithError(e);
59927
+ }
59928
+ }
59929
+ function validateEnum(data, enumValue, path) {
59930
+ if (!enumValue.some((value) => deepEquals$1(value, data))) {
59931
+ return invalidSchemaResponseWithError(
59932
+ new JsonSchemaViolationError(
59933
+ `Data at ${path} did not match any values in enum. Expected value in: [${enumValue.map((value) => stringify$2(value)).join()}]`
59934
+ )
59935
+ );
59936
+ }
59937
+ return validSchemaResponse();
59938
+ }
59939
+ function validateConst(data, constValue, path) {
59940
+ if (!deepEquals$1(constValue, data)) {
59941
+ return invalidSchemaResponseWithError(
59942
+ new JsonSchemaViolationError(
59943
+ `Data at ${path} did not match const. Expected: ${stringify$2(constValue)}`
59944
+ )
59945
+ );
59946
+ }
59947
+ return validSchemaResponse();
59948
+ }
59949
+ function findSchemaAtPath(document, ref) {
59950
+ if (ref === "#") return document;
59951
+ const keys = ref.replace(/^#\//, "").split("/");
59952
+ let current = document;
59953
+ let path = "#";
59954
+ for (const key of keys) {
59955
+ path = `${path}/${key}`;
59956
+ if (current[key] === void 0) {
59957
+ throw new InvalidRefError(
59958
+ `Invalid $ref value '${ref}'. Cannot find target schema at '${path}'`
59959
+ );
59960
+ }
59961
+ current = current[key];
59962
+ }
59963
+ return current;
59964
+ }
59965
+
59966
+ /*!
59967
+ * Copyright (c) 2022, Salesforce, Inc.,
59968
+ * All rights reserved.
59969
+ * For full license text, see the LICENSE.txt file
59970
+ */
59971
+ function isUserVisibleError(error) {
59972
+ return error instanceof Error && "type" in error && error.type === "user-visible";
59973
+ }
59974
+ function throwUserlandError(error) {
59975
+ logError(error);
59976
+ throw buildUserlandError(error);
59977
+ }
59978
+ function emitError(callback, error) {
59979
+ logError(error);
59980
+ callback({ data: void 0, error: buildUserlandError(error) });
59981
+ }
59982
+ function buildUserlandError(error) {
59983
+ if (isUserVisibleError(error)) {
59984
+ return error.data;
59985
+ }
59986
+ return new Error("Internal error in Lightning Data Service adapter occurred.");
59987
+ }
59988
+ function logError(error) {
59989
+ if (isUserVisibleError(error)) {
59990
+ return;
59991
+ }
59992
+ console.error("OneStore Command threw an error that we did not expect", error);
59993
+ }
59994
+
59995
+ /*!
59996
+ * Copyright (c) 2022, Salesforce, Inc.,
59997
+ * All rights reserved.
59998
+ * For full license text, see the LICENSE.txt file
59999
+ */
60000
+ function buildBaseImperativeInvoker(getCommand, transformResult) {
60001
+ return async (...params) => {
60002
+ const command = getCommand({ params, assertIsValid });
60003
+ try {
60004
+ return command.execute().then((result) => transformResult(result));
60005
+ } catch (error) {
60006
+ throwUserlandError(error);
60007
+ }
60008
+ };
60009
+ }
60010
+ const supportedCachePolicyTypes = ["no-cache", "only-if-cached"];
60011
+ function requestContextIsSupportedCachePolicy(requestContext) {
60012
+ 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(
60013
+ requestContext.cachePolicy.type
60014
+ );
60015
+ }
60016
+ function getOverridesForLegacyRequestContext(requestContext) {
60017
+ if (requestContextIsSupportedCachePolicy(requestContext)) {
60018
+ return { cacheControlConfig: { type: requestContext.cachePolicy.type } };
60019
+ }
60020
+ return {};
60021
+ }
60022
+ function handleEmit(res, callback) {
60023
+ const consumerEmittedData = {
60024
+ data: void 0,
60025
+ errors: void 0
60026
+ };
60027
+ if (res.isOk()) {
60028
+ consumerEmittedData.data = res.value.data;
60029
+ } else {
60030
+ const { data, errors } = toGraphQLResponseFromFailure$1(res.error);
60031
+ consumerEmittedData.data = data;
60032
+ consumerEmittedData.errors = errors;
60033
+ }
60034
+ callback(consumerEmittedData);
60035
+ }
60036
+ function toGraphQLResponseFromFailure$1(failure) {
60037
+ if (isUserVisibleError$1(failure)) {
60038
+ return {
60039
+ data: failure.data.data,
60040
+ errors: failure.data.errors
60041
+ };
60042
+ }
60043
+ logError$1(failure);
60044
+ return {
60045
+ data: void 0,
60046
+ errors: [{ message: "Internal error in GraphQL adapter occurred", locations: [] }]
60047
+ };
60048
+ }
60049
+ class DefaultImperativeBindingsService {
60050
+ bind(getCommand) {
60051
+ return buildBaseImperativeInvoker(getCommand, (result) => {
60052
+ if (result.isOk()) {
60053
+ deepFreeze(result.value);
60054
+ return isSubscribableResult(result) ? result.value.data : result.value;
60055
+ }
60056
+ throw toError(isSubscribableResult(result) ? result.error.failure : result.error);
60057
+ });
60058
+ }
60059
+ }
60060
+ function buildServiceDescriptor$6() {
60061
+ return {
60062
+ type: "defaultImperativeBindings",
60063
+ version: "1.0",
60064
+ service: new DefaultImperativeBindingsService()
60065
+ };
60066
+ }
60067
+ class QueryImperativeBindingsService {
60068
+ bind(getCommand) {
60069
+ return buildBaseImperativeInvoker(getCommand, (result) => {
60070
+ if (result.isOk()) {
60071
+ deepFreeze(result.value);
60072
+ return isSubscribableResult(result) ? { data: result.value.data } : { data: result.value };
60073
+ }
60074
+ throw toError(isSubscribableResult(result) ? result.error.failure : result.error);
60075
+ });
60076
+ }
60077
+ }
60078
+ function buildServiceDescriptor$5() {
60079
+ return {
60080
+ type: "queryImperativeBindings",
60081
+ version: "1.0",
60082
+ service: new QueryImperativeBindingsService()
60083
+ };
60084
+ }
60085
+ class SubscribableImperativeBindingsService {
60086
+ bind(getCommand, exposeRefresh = false) {
60087
+ return buildBaseImperativeInvoker(
60088
+ getCommand,
60089
+ (result) => this.transformResult(result, exposeRefresh)
60090
+ );
60091
+ }
60092
+ transformResult(result, exposeRefresh = false) {
60093
+ if (!isSubscribableResult(result)) {
60094
+ console.error(
60095
+ "Non-subscribable result encountered - please use correct operation type"
60096
+ );
60097
+ throw new Error("Internal error in Lightning Data Service adapter occurred");
60098
+ }
60099
+ if (result.isOk()) {
60100
+ deepFreeze(result.value.data);
60101
+ const api = {
60102
+ data: result.value.data,
60103
+ subscribe: (cb) => {
60104
+ result.value.subscribe((result2) => {
60105
+ if (result2.isErr()) {
60106
+ return cb({ data: void 0, error: toError(result2.error) });
60107
+ }
60108
+ return cb({ data: result2.value, error: void 0 });
60109
+ });
60110
+ }
60111
+ };
60112
+ if (exposeRefresh) {
60113
+ return {
60114
+ ...api,
60115
+ refresh: () => {
60116
+ return result.value.refresh().then((res) => {
60117
+ if (res.isOk()) {
60118
+ return void 0;
60119
+ }
60120
+ throw res.error;
60121
+ });
60122
+ }
60123
+ };
60124
+ } else {
60125
+ return api;
60126
+ }
60127
+ } else {
60128
+ throw toError(result.error.failure);
60129
+ }
60130
+ }
60131
+ }
60132
+ function buildServiceDescriptor$4() {
60133
+ return {
60134
+ type: "subscribableImperativeBindings",
60135
+ version: "1.0",
60136
+ service: new SubscribableImperativeBindingsService()
60137
+ };
60138
+ }
60139
+ class LegacyImperativeBindingsService {
60140
+ bind(getCommand) {
60141
+ const invoke = async (config, requestContext, callback) => {
60142
+ const command = getCommand({ config, assertIsValid });
60143
+ try {
60144
+ const overrides = getOverridesForLegacyRequestContext(requestContext);
60145
+ const result = await command.execute(overrides);
60146
+ if (result.isOk()) {
60147
+ deepFreeze(result.value);
60148
+ callback({ data: result.value.data, error: void 0 });
60149
+ } else {
60150
+ callback({ data: void 0, error: toError(result.error.failure) });
60151
+ }
60152
+ } catch (error) {
60153
+ emitError(callback, error);
60154
+ }
60155
+ };
60156
+ const subscribe = (config, requestContext, callback) => {
60157
+ const command = getCommand({ config, assertIsValid });
60158
+ let unsubscribe = () => {
60159
+ };
60160
+ try {
60161
+ const overrides = getOverridesForLegacyRequestContext(requestContext);
60162
+ command.execute(overrides).then(
60163
+ (result) => {
60164
+ if (!result.isOk()) {
60165
+ callback({ data: void 0, error: toError(result.error.failure) });
60166
+ return;
60167
+ }
60168
+ unsubscribe = result.value.subscribe((res) => {
60169
+ if (res.isOk()) {
60170
+ callback({ data: res.value, error: void 0 });
60171
+ } else {
60172
+ callback({ data: void 0, error: toError(res.error) });
60173
+ }
60174
+ });
60175
+ callback({ data: result.value.data, error: void 0 });
60176
+ },
60177
+ (e) => {
60178
+ emitError(callback, e);
60179
+ }
60180
+ );
60181
+ } catch (e) {
60182
+ emitError(callback, e);
60183
+ }
60184
+ return () => {
60185
+ unsubscribe();
60186
+ };
60187
+ };
60188
+ return { invoke, subscribe };
60189
+ }
60190
+ }
60191
+ function buildServiceDescriptor$3() {
60192
+ return {
60193
+ type: "legacyImperativeBindings",
60194
+ version: "1.0",
60195
+ service: new LegacyImperativeBindingsService()
60196
+ };
60197
+ }
60198
+ class GraphQLImperativeBindingsService {
60199
+ bind(getCommand, exposeRefresh = false) {
60200
+ return async (...params) => {
60201
+ try {
60202
+ if (params.length) {
60203
+ params[0] = wrapConfigAndVerify(params[0]);
60204
+ }
60205
+ return await buildBaseImperativeInvoker(getCommand, (result) => this.transformResult(result, exposeRefresh))(...params);
60206
+ } catch (error) {
60207
+ logError$1(error);
60208
+ return {
60209
+ data: void 0,
60210
+ errors: [
60211
+ { message: "Internal error in GraphQL adapter occurred", locations: [] }
60212
+ ]
60213
+ };
60214
+ }
60215
+ };
60216
+ }
60217
+ transformResult(result, exposeRefresh = false) {
60218
+ const consumerEmittedData = {
60219
+ data: void 0,
60220
+ errors: void 0
60221
+ };
60222
+ if (result.isOk()) {
60223
+ deepFreeze(result.value);
60224
+ consumerEmittedData.data = result.value.data.data;
60225
+ consumerEmittedData.subscribe = (cb) => {
60226
+ result.value.subscribe((res) => {
60227
+ const consumerEmittedData2 = {
60228
+ data: void 0,
60229
+ errors: void 0
60230
+ };
60231
+ if (res.isOk()) {
60232
+ consumerEmittedData2.data = res.value.data;
60233
+ } else {
60234
+ if (isUserVisibleError$1(res.error)) {
60235
+ consumerEmittedData2.data = res.error.data.data;
60236
+ consumerEmittedData2.errors = res.error.data.errors;
60237
+ } else {
60238
+ logError$1(res.error);
60239
+ consumerEmittedData2.errors = [
60240
+ {
60241
+ message: "Internal error in GraphQL adapter occurred",
60242
+ locations: []
60243
+ }
60244
+ ];
60245
+ }
60246
+ }
60247
+ cb(consumerEmittedData2);
60248
+ });
60249
+ };
60250
+ if (exposeRefresh) {
60251
+ consumerEmittedData.refresh = () => {
60252
+ return new Promise((resolve, reject) => {
60253
+ try {
60254
+ result.value.refresh().then((res) => {
60255
+ if (res.isOk()) {
60256
+ resolve();
60257
+ } else {
60258
+ reject(
60259
+ new Error(
60260
+ "Internal error in GraphQL adapter occurred: Failed to refresh GraphQL data"
60261
+ )
60262
+ );
60263
+ }
60264
+ });
60265
+ } catch (error) {
60266
+ logError$1(error);
60267
+ reject(
60268
+ new Error(
60269
+ "Internal error in GraphQL adapter occurred: Failed to refresh GraphQL data"
60270
+ )
60271
+ );
60272
+ }
60273
+ });
60274
+ };
60275
+ }
60276
+ } else {
60277
+ const resp = toGraphQLResponseFromFailure$1(result.error.failure);
60278
+ consumerEmittedData.data = resp.data;
60279
+ consumerEmittedData.errors = resp.errors;
60280
+ }
60281
+ return consumerEmittedData;
60282
+ }
60283
+ }
60284
+ function buildServiceDescriptor$2$1() {
60285
+ return {
60286
+ type: "graphQLImperativeBindings",
60287
+ version: "1.0",
60288
+ service: new GraphQLImperativeBindingsService()
60289
+ };
60290
+ }
60291
+ class GraphQLLegacyImperativeBindingsService {
60292
+ bind(getCommand) {
60293
+ const invoke = async (config, requestContext, callback) => {
60294
+ config = wrapConfigAndVerify(config);
60295
+ const command = getCommand({ config, assertIsValid });
60296
+ try {
60297
+ const overrides = getOverridesForLegacyRequestContext(requestContext);
60298
+ const result = await command.execute(overrides);
60299
+ const consumerEmittedData = {
60300
+ data: void 0,
60301
+ errors: void 0
60302
+ };
60303
+ if (result.isOk()) {
60304
+ deepFreeze(result.value);
60305
+ consumerEmittedData.data = result.value.data.data;
60306
+ } else {
60307
+ const { data, errors } = toGraphQLResponseFromFailure$1(result.error.failure);
60308
+ consumerEmittedData.data = data;
60309
+ consumerEmittedData.errors = errors;
60310
+ }
60311
+ callback(consumerEmittedData);
60312
+ } catch (error) {
60313
+ logError$1(error);
60314
+ callback({
60315
+ data: void 0,
60316
+ errors: [
60317
+ { message: "Internal error in GraphQL adapter occurred", locations: [] }
60318
+ ]
60319
+ });
60320
+ }
60321
+ };
60322
+ const subscribe = (config, requestContext, callback) => {
60323
+ config = wrapConfigAndVerify(config);
60324
+ const command = getCommand({ config, assertIsValid });
60325
+ let unsubscribe = () => {
60326
+ };
60327
+ const overrides = getOverridesForLegacyRequestContext(requestContext);
60328
+ command.execute(overrides).then((result) => {
60329
+ const consumerEmittedData = {
60330
+ data: void 0,
60331
+ errors: void 0
60332
+ };
60333
+ if (result.isOk()) {
60334
+ deepFreeze(result.value);
60335
+ consumerEmittedData.data = result.value.data.data;
60336
+ unsubscribe = result.value.subscribe(
60337
+ (res) => {
60338
+ handleEmit(res, callback);
60339
+ }
60340
+ );
60341
+ } else {
60342
+ const { data, errors } = toGraphQLResponseFromFailure$1(result.error.failure);
60343
+ consumerEmittedData.data = data;
60344
+ consumerEmittedData.errors = errors;
60345
+ unsubscribe = result.error.subscribe(
60346
+ (res) => {
60347
+ handleEmit(res, callback);
60348
+ }
60349
+ );
60350
+ }
60351
+ callback(consumerEmittedData);
60352
+ });
60353
+ return () => {
60354
+ unsubscribe();
60355
+ };
60356
+ };
60357
+ return { invoke, subscribe };
60358
+ }
60359
+ }
60360
+ function buildServiceDescriptor$1$2() {
60361
+ return {
60362
+ type: "graphQLLegacyImperativeBindings",
60363
+ version: "1.0",
60364
+ service: new GraphQLLegacyImperativeBindingsService()
60365
+ };
60366
+ }
60367
+ class GraphQLMutationBindingsService {
60368
+ bind(getCommand) {
60369
+ return async (...params) => {
60370
+ try {
60371
+ if (params.length) {
60372
+ params[0] = wrapConfigAndVerify(params[0], {
60373
+ acceptedOperations: ["mutation"]
60374
+ });
60375
+ }
60376
+ const command = getCommand({ params, assertIsValid });
60377
+ const result = await command.execute({ cacheControlConfig: { type: "no-cache" } });
60378
+ if (result.isOk()) {
60379
+ deepFreeze(result.value);
60380
+ return result.value.data;
60381
+ } else {
60382
+ return toGraphQLResponseFromFailure$1(result.error.failure);
60383
+ }
60384
+ } catch (error) {
60385
+ logError$1(error);
60386
+ return {
60387
+ data: void 0,
60388
+ errors: [
60389
+ { message: "Internal error in GraphQL adapter occurred", locations: [] }
60390
+ ]
60391
+ };
60392
+ }
60393
+ };
60394
+ }
60395
+ }
60396
+ function buildServiceDescriptor$7() {
60397
+ return {
60398
+ type: "graphQLMutationBindings",
60399
+ version: "1.0",
60400
+ service: new GraphQLMutationBindingsService()
60401
+ };
60402
+ }
60403
+
60404
+ /*!
60405
+ * Copyright (c) 2022, Salesforce, Inc.,
60406
+ * All rights reserved.
60407
+ * For full license text, see the LICENSE.txt file
60408
+ */
60409
+ class Sanitizer {
60410
+ constructor(obj) {
60411
+ this.obj = obj;
60412
+ this.copy = {};
60413
+ this.currentPath = {
60414
+ key: "",
60415
+ value: obj,
60416
+ parent: null,
60417
+ data: this.copy
60418
+ };
60419
+ }
60420
+ sanitize() {
60421
+ const sanitizer = this;
60422
+ JSON.stringify(this.obj, function(key, value) {
60423
+ if (key === "") {
60424
+ return value;
60425
+ }
60426
+ const parent = this;
60427
+ if (parent !== sanitizer.currentPath.value) {
60428
+ sanitizer.exit(parent);
60429
+ }
60430
+ if (typeof value === "object" && value !== null) {
60431
+ sanitizer.enter(key, value);
60432
+ return value;
60433
+ }
60434
+ sanitizer.currentPath.data[key] = value;
60435
+ return value;
60436
+ });
60437
+ return this.copy;
60438
+ }
60439
+ enter(key, value) {
60440
+ const { currentPath: parentPath } = this;
60441
+ const data = parentPath.data[key] = Array.isArray(value) ? [] : {};
60442
+ this.currentPath = {
60443
+ key,
60444
+ value,
60445
+ parent: parentPath,
60446
+ data
60447
+ };
60448
+ }
60449
+ exit(parent) {
60450
+ while (this.currentPath.value !== parent) {
60451
+ this.currentPath = this.currentPath.parent || this.currentPath;
60452
+ }
60453
+ }
60454
+ }
60455
+ function sanitize(obj) {
60456
+ return new Sanitizer(obj).sanitize();
60457
+ }
60458
+ function isIncompleteConfigError(err) {
60459
+ return err instanceof MissingRequiredPropertyError || err instanceof JsonSchemaViolationError && err.validationErrors.find(
60460
+ (validationError) => validationError instanceof MissingRequiredPropertyError
60461
+ ) !== void 0;
60462
+ }
60463
+ class CommandWireAdapterConstructor {
60464
+ constructor(callback, sourceContext, options) {
60465
+ this.callback = callback;
60466
+ this.connected = false;
60467
+ this.exposeRefresh = false;
60468
+ if (!(options == null ? void 0 : options.skipEmptyEmit)) {
60469
+ this.emit();
60470
+ }
60471
+ }
60472
+ connect() {
60473
+ this.connected = true;
60474
+ this.invokeAdapter();
60475
+ }
60476
+ disconnect() {
60477
+ this.unsubscribe();
60478
+ this.connected = false;
60479
+ }
60480
+ update(config, _context) {
60481
+ this.unsubscribe();
60482
+ this.config = sanitize(config);
60483
+ this.invokeAdapter();
60484
+ }
60485
+ emit(result) {
60486
+ try {
60487
+ if (result === void 0) {
60488
+ this.callback({ data: void 0, error: void 0 });
60489
+ } else {
60490
+ const consumerEmittedRefresh = () => {
60491
+ if (!this.refresh) {
60492
+ return Promise.resolve();
60493
+ }
60494
+ return new Promise((resolve, reject) => {
60495
+ if (!this.refresh) {
60496
+ resolve();
60497
+ return;
60498
+ }
60499
+ this.refresh().then((res) => {
60500
+ if (res.isOk()) {
60501
+ resolve();
60502
+ } else {
60503
+ reject(
60504
+ new Error(
60505
+ "Internal error in Lightning Data Service adapter occurred: Failed to refresh data"
60506
+ )
60507
+ );
60508
+ }
60509
+ });
60510
+ });
60511
+ };
60512
+ let consumerEmittedData = {
60513
+ data: void 0,
60514
+ error: void 0
60515
+ };
60516
+ if (this.exposeRefresh && this.refresh) {
60517
+ consumerEmittedData.refresh = consumerEmittedRefresh;
60518
+ }
60519
+ if (result.isErr()) {
60520
+ if (isSubscribableResult(result)) {
60521
+ consumerEmittedData.error = result.error.failure;
60522
+ } else {
60523
+ consumerEmittedData.error = result.error;
60524
+ }
60525
+ } else {
60526
+ if (isSubscribableResult(result)) {
60527
+ deepFreeze(result.value.data);
60528
+ consumerEmittedData.data = result.value.data;
60529
+ } else {
60530
+ deepFreeze(result.value);
60531
+ consumerEmittedData.data = result.value;
60532
+ }
60533
+ }
60534
+ this.callback(consumerEmittedData);
60535
+ }
60536
+ } catch (e) {
60537
+ this.handleExecutionThrow(e);
60538
+ }
60539
+ }
60540
+ invokeAdapter() {
60541
+ if (!this.connected || this.config === void 0) {
60542
+ return;
60543
+ }
60544
+ if (this.configSchema) {
60545
+ try {
60546
+ assertIsValid(this.config, this.configSchema);
60547
+ } catch (err) {
60548
+ if (isIncompleteConfigError(err)) {
60549
+ return;
60550
+ }
60551
+ throw err;
60552
+ }
60553
+ }
60554
+ const initialConfig = this.config;
60555
+ const command = this.getCommand();
60556
+ try {
60557
+ command.execute().then((result) => {
60558
+ if (!this.connected || this.config !== initialConfig) {
60559
+ return;
60560
+ }
60561
+ this.refresh = void 0;
60562
+ if (result.isOk()) {
60563
+ if (isSubscribableResult(result)) {
60564
+ const value = result.value;
60565
+ this.unsubscriber = value.subscribe((updatedResult) => {
60566
+ if (!this.connected || this.config !== initialConfig) {
60567
+ this.unsubscribe();
60568
+ return;
60569
+ }
60570
+ this.emit(updatedResult);
60571
+ });
60572
+ this.refresh = value.refresh;
60573
+ this.emit(ok$1(value.data));
60574
+ } else {
60575
+ this.emit(result);
60576
+ }
60577
+ } else {
60578
+ if (isSubscribableResult(result)) {
60579
+ const value = result.error;
60580
+ this.unsubscriber = value.subscribe((updatedResult) => {
60581
+ if (!this.connected || this.config !== initialConfig) {
60582
+ this.unsubscribe();
60583
+ return;
60584
+ }
60585
+ this.emit(updatedResult);
60586
+ });
60587
+ this.refresh = value.refresh;
60588
+ this.emit(result);
60589
+ } else {
60590
+ this.unsubscriber = () => {
60591
+ };
60592
+ this.emit(result);
60593
+ }
60594
+ }
60595
+ });
60596
+ } catch (e) {
60597
+ this.handleExecutionThrow(e);
60598
+ }
60599
+ }
60600
+ handleExecutionThrow(error) {
60601
+ emitError(this.callback, error);
60602
+ }
60603
+ unsubscribe() {
60604
+ if (this.unsubscriber) {
60605
+ this.unsubscriber();
60606
+ delete this.unsubscriber;
60607
+ }
60608
+ }
60609
+ }
60610
+ function toGraphQLResponseFromFailure(failure) {
60611
+ if (isUserVisibleError$1(failure)) {
60612
+ return {
60613
+ data: failure.data.data,
60614
+ errors: failure.data.errors
60615
+ };
60616
+ }
60617
+ logError$1(failure);
60618
+ return {
60619
+ data: void 0,
60620
+ errors: [{ message: "Internal error in GraphQL adapter occurred", locations: [] }]
60621
+ };
60622
+ }
60623
+ class LWCWireBindingsService {
60624
+ bind(getCommand, configSchema, exposeRefresh = false) {
60625
+ return class extends CommandWireAdapterConstructor {
60626
+ constructor() {
60627
+ super(...arguments);
60628
+ this.configSchema = configSchema;
60629
+ this.exposeRefresh = exposeRefresh;
60630
+ }
60631
+ getCommand() {
60632
+ return getCommand(this.config);
60633
+ }
60634
+ };
60635
+ }
60636
+ }
60637
+ function buildServiceDescriptor$1$1() {
60638
+ return {
60639
+ type: "lwcWireBindings",
60640
+ version: "1.0",
60641
+ service: new LWCWireBindingsService()
60642
+ };
60643
+ }
60644
+ class GraphQLCommandWireAdapterConstructor extends CommandWireAdapterConstructor {
60645
+ emit(result) {
60646
+ try {
60647
+ if (result === void 0) {
60648
+ this.callback({ data: void 0, errors: void 0 });
60649
+ } else {
60650
+ const consumerEmittedRefresh = () => {
60651
+ if (!this.refresh) {
60652
+ return Promise.resolve();
60653
+ }
60654
+ return new Promise((resolve, reject) => {
60655
+ if (!this.refresh) {
60656
+ resolve();
60657
+ return;
60658
+ }
60659
+ this.refresh().then((res) => {
60660
+ if (res.isOk()) {
60661
+ resolve();
60662
+ } else {
60663
+ reject(
60664
+ new Error(
60665
+ "Internal error in GraphQL adapter occurred: Failed to refresh GraphQL data"
60666
+ )
60667
+ );
60668
+ }
60669
+ });
60670
+ });
60671
+ };
60672
+ let consumerEmittedData = {
60673
+ data: void 0,
60674
+ errors: void 0
60675
+ };
60676
+ if (this.exposeRefresh && this.refresh) {
60677
+ consumerEmittedData.refresh = consumerEmittedRefresh;
60678
+ }
60679
+ if (result.isErr()) {
60680
+ const failure = isSubscribableResult(result) ? result.error.failure : result.error;
60681
+ const resp = toGraphQLResponseFromFailure(failure);
60682
+ consumerEmittedData.data = resp.data;
60683
+ consumerEmittedData.errors = resp.errors;
60684
+ } else {
60685
+ consumerEmittedData.data = result.value.data;
60686
+ }
60687
+ deepFreeze(consumerEmittedData);
60688
+ this.callback(consumerEmittedData);
60689
+ }
60690
+ } catch (e) {
60691
+ logError$1(e);
60692
+ this.handleExecutionThrow(e);
60693
+ }
60694
+ }
60695
+ handleExecutionThrow(e) {
60696
+ logError$1(e);
60697
+ this.callback({
60698
+ data: void 0,
60699
+ errors: [{ message: "Internal error in GraphQL adapter occurred", locations: [] }]
60700
+ });
60701
+ }
60702
+ update(config, _context) {
60703
+ this.unsubscribe();
60704
+ const resolvedQuery = resolveAst(config.query);
60705
+ if (resolvedQuery) {
60706
+ validateGraphQLOperations(
60707
+ { query: resolvedQuery, operationName: config == null ? void 0 : config.operationName },
60708
+ { acceptedOperations: ["query"] }
60709
+ );
60710
+ }
60711
+ this.config = {
60712
+ ...sanitize(config),
60713
+ query: resolvedQuery
60714
+ };
60715
+ this.invokeAdapter();
60716
+ }
60717
+ }
60718
+ class LWCGraphQLWireBindingsService {
60719
+ bind(getCommand, configSchema, exposeRefresh = false) {
60720
+ return class extends GraphQLCommandWireAdapterConstructor {
60721
+ constructor() {
60722
+ super(...arguments);
60723
+ this.configSchema = configSchema;
60724
+ this.exposeRefresh = exposeRefresh;
60725
+ }
60726
+ getCommand() {
60727
+ return getCommand(this.config);
60728
+ }
60729
+ };
60730
+ }
60731
+ }
60732
+ function buildServiceDescriptor$2() {
60733
+ return {
60734
+ type: "lwcGraphQLWireBindings",
60735
+ version: "1.0",
60736
+ service: new LWCGraphQLWireBindingsService()
60737
+ };
60738
+ }
60739
+
60740
+ /*!
60741
+ * Copyright (c) 2022, Salesforce, Inc.,
60742
+ * All rights reserved.
60743
+ * For full license text, see the LICENSE.txt file
60744
+ */
60745
+ function buildServiceDescriptor$1(interceptors = { request: [], response: [], finally: [] }, retryService) {
59477
60746
  return {
59478
60747
  type: "fetch",
59479
60748
  version: "1.0",
59480
60749
  service: function(...args) {
59481
- const { request: requestInterceptors = [], response: responseInterceptors = [] } = interceptors;
60750
+ var _a;
60751
+ const context = (_a = interceptors.createContext) == null ? void 0 : _a.call(interceptors);
60752
+ const {
60753
+ request: requestInterceptors = [],
60754
+ response: responseInterceptors = [],
60755
+ finally: finallyInterceptors = []
60756
+ } = interceptors;
59482
60757
  const pending = requestInterceptors.reduce(
59483
- (previousPromise, interceptor) => previousPromise.then(interceptor),
59484
- resolvedPromiseLike$3(args)
60758
+ (previousPromise, interceptor) => previousPromise.then((args2) => interceptor(args2, context)),
60759
+ resolvedPromiseLike$2(args)
59485
60760
  );
59486
- return pending.then((args2) => {
60761
+ return Promise.resolve(pending).then((args2) => {
59487
60762
  if (retryService) {
59488
60763
  return retryService.applyRetry(() => fetch(...args2));
59489
60764
  }
59490
60765
  return fetch(...args2);
59491
60766
  }).then((response) => {
59492
60767
  return responseInterceptors.reduce(
59493
- (previousPromise, interceptor) => previousPromise.then(interceptor),
59494
- resolvedPromiseLike$3(response)
60768
+ (previousPromise, interceptor) => previousPromise.then((response2) => interceptor(response2, context)),
60769
+ resolvedPromiseLike$2(response)
59495
60770
  );
60771
+ }).finally(() => {
60772
+ if (finallyInterceptors.length > 0) {
60773
+ return finallyInterceptors.reduce(
60774
+ (previousPromise, interceptor) => previousPromise.then(() => interceptor(context)),
60775
+ Promise.resolve()
60776
+ );
60777
+ }
59496
60778
  });
59497
60779
  }
59498
60780
  };
@@ -60064,7 +61346,7 @@ class NimbusDurableCacheInclusionPolicy extends DurableCacheInclusionPolicy {
60064
61346
  return;
60065
61347
  entries.forEach(({ key, entry }) => {
60066
61348
  this.services.cache.set(key, entry);
60067
- return resolvedPromiseLike$3(ok$1(undefined));
61349
+ return resolvedPromiseLike$2(ok$1(undefined));
60068
61350
  });
60069
61351
  });
60070
61352
  }
@@ -60175,11 +61457,7 @@ class NimbusSqliteOneStoreCache {
60175
61457
  }
60176
61458
 
60177
61459
  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) {
61460
+ function initializeOneStore(sqliteStore, luvio) {
60183
61461
  if (!useOneStore.isOpen({ fallback: true })) {
60184
61462
  return;
60185
61463
  }
@@ -60188,35 +61466,60 @@ function initializeOneStore(sqliteStore) {
60188
61466
  globalThis.performance = { now: () => Date.now() };
60189
61467
  }
60190
61468
  const loggerService = new ConsoleLogger('ERROR');
60191
- const cacheServiceDescriptor = buildServiceDescriptor$b();
60192
- const instrumentationServiceDescriptor = buildServiceDescriptor$8(loggerService);
61469
+ const cacheServiceDescriptor = buildServiceDescriptor$h();
61470
+ const instrumentationServiceDescriptor = buildServiceDescriptor$e(loggerService);
60193
61471
  const nimbusSqliteOneStoreCacheServiceDescriptor = buildNimbusDurableCacheInclusionPolicyService(cacheServiceDescriptor.service, new NimbusSqliteOneStoreCache(sqliteStore));
60194
- const featureFlagsServiceDescriptor = buildServiceDescriptor$6();
61472
+ const featureFlagsServiceDescriptor = buildServiceDescriptor$c();
60195
61473
  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
61474
+ // This disables the GraphQL mapping from lightning/uiGraphQLApi to lightning/graphql in this runtime
61475
+ // The gate is likely NOT to rollout ever, but we keep it here for completeness
60200
61476
  featureFlagsService.set('useOneStoreGraphQL', false);
61477
+ const luvioUiapiRecordsServiceDescriptor = buildServiceDescriptor$a((configs) => {
61478
+ return notifyUpdateAvailableFactory(luvio)(configs);
61479
+ }, (recordId, reader) => {
61480
+ const recordKey = buildRecordRepKeyFromId(recordId);
61481
+ reader.markSeenId(recordKey);
61482
+ const linkedData = reader.read({
61483
+ recordId: recordKey,
61484
+ node: {
61485
+ kind: 'Fragment',
61486
+ private: [],
61487
+ opaque: true,
61488
+ version: VERSION$1v,
61489
+ },
61490
+ variables: {},
61491
+ });
61492
+ // we don't want anything to be marked missing, since this results in an unfulfilled snapshot
61493
+ reader.unMarkMissing();
61494
+ return linkedData.data;
61495
+ });
60201
61496
  const services = [
60202
61497
  instrumentationServiceDescriptor,
60203
61498
  buildNimbusFetchServiceDescriptor(),
60204
- buildServiceDescriptor$9(instrumentationServiceDescriptor.service),
61499
+ buildServiceDescriptor$f(instrumentationServiceDescriptor.service),
60205
61500
  // 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),
61501
+ buildServiceDescriptor$m(),
61502
+ buildServiceDescriptor$l(),
61503
+ buildServiceDescriptor$k(),
61504
+ buildServiceDescriptor$g(cacheServiceDescriptor.service, nimbusSqliteOneStoreCacheServiceDescriptor.service, instrumentationServiceDescriptor.service),
61505
+ buildServiceDescriptor$j(),
61506
+ buildServiceDescriptor$n(),
61507
+ buildServiceDescriptor$i(),
60210
61508
  buildServiceDescriptor$d(),
60211
- buildServiceDescriptor$h(),
60212
- buildServiceDescriptor$c(),
60213
- buildServiceDescriptor$7(),
61509
+ buildServiceDescriptor$9(),
61510
+ buildServiceDescriptor$8(),
61511
+ featureFlagsServiceDescriptor,
61512
+ buildServiceDescriptor$b(luvio),
61513
+ luvioUiapiRecordsServiceDescriptor,
61514
+ buildServiceDescriptor$6(),
61515
+ buildServiceDescriptor$5(),
61516
+ buildServiceDescriptor$4(),
60214
61517
  buildServiceDescriptor$3(),
61518
+ buildServiceDescriptor$2$1(),
61519
+ buildServiceDescriptor$1$2(),
61520
+ buildServiceDescriptor$7(),
61521
+ buildServiceDescriptor$1$1(),
60215
61522
  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
61523
  // TODO[@W-18753648]: See note above.
60221
61524
  // buildStreamingCommandServiceDescriptor(),
60222
61525
  // buildNdJsonServiceDescriptor(),
@@ -60438,7 +61741,7 @@ function getRuntime({ primeUser = false } = {}) {
60438
61741
  withRegistration('@salesforce/lds-adapters-uiapi/graphql', configureUIAPIGraphQL);
60439
61742
  }
60440
61743
  // onestore initialization
60441
- initializeOneStore(lazyDurableStore['plugin']);
61744
+ initializeOneStore(lazyDurableStore['plugin'], lazyLuvio);
60442
61745
  return {
60443
61746
  luvio: lazyLuvio,
60444
61747
  internalLuvio: lazyInternalLuvio,
@@ -60472,4 +61775,4 @@ register({
60472
61775
  });
60473
61776
 
60474
61777
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, ingest$1o as ingestDenormalizedRecordRepresentation, initializeOneStore, registerReportObserver, reportGraphqlQueryParseError };
60475
- // version: 1.401.0-b1adb82748
61778
+ // version: 1.402.0-bf9ae185ef