@salesforce/lds-runtime-mobile 1.375.0 → 1.377.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.
Files changed (3) hide show
  1. package/dist/main.js +1372 -114
  2. package/package.json +30 -30
  3. package/sfdc/main.js +1372 -114
package/dist/main.js CHANGED
@@ -20,7 +20,7 @@ import { setupInstrumentation, instrumentAdapter as instrumentAdapter$1, instrum
20
20
  import { HttpStatusCode, 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';
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
- import { Kind as Kind$1, visit as visit$1, isObjectType, defaultFieldResolver, buildSchema, parse as parse$8, extendSchema, isScalarType, execute, print } from '@luvio/graphql-parser';
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';
24
24
  import FIRST_DAY_OF_WEEK from '@salesforce/i18n/firstDayOfWeek';
25
25
  import graphqQueryFieldLimit from '@salesforce/gate/lmr.graphqQueryFieldLimit';
26
26
  import caseSensitiveUserId from '@salesforce/user/Id';
@@ -41,6 +41,7 @@ import graphqlL2AdapterGate from '@salesforce/gate/lmr.graphqlL2Adapter';
41
41
  import productConsumedSideEffects from '@salesforce/gate/com.salesforce.fieldservice.vanStockLDSBypass256';
42
42
  import useOneStore from '@salesforce/gate/lmr.useOneStore';
43
43
  import { setServices } from '@luvio/service-provisioner/v1';
44
+ import '@luvio/type-normalization/v1';
44
45
 
45
46
  /**
46
47
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -50,7 +51,7 @@ import { setServices } from '@luvio/service-provisioner/v1';
50
51
 
51
52
 
52
53
  const { parse: parse$7, stringify: stringify$7 } = JSON;
53
- const { join: join$1, push: push$2, unshift } = Array.prototype;
54
+ const { join: join$2, push: push$2, unshift } = Array.prototype;
54
55
  const { isArray: isArray$5 } = Array;
55
56
  const { entries: entries$4, keys: keys$6 } = Object;
56
57
 
@@ -184,14 +185,14 @@ function buildAggregateUiUrl$1(params, resourceRequest) {
184
185
  const { fields, optionalFields } = params;
185
186
  const queryString = [];
186
187
  if (fields !== undefined && fields.length > 0) {
187
- const fieldString = join$1.call(fields, ',');
188
+ const fieldString = join$2.call(fields, ',');
188
189
  push$2.call(queryString, `fields=${encodeURIComponent(fieldString)}`);
189
190
  }
190
191
  if (optionalFields !== undefined && optionalFields.length > 0) {
191
- const optionalFieldString = join$1.call(optionalFields, ',');
192
+ const optionalFieldString = join$2.call(optionalFields, ',');
192
193
  push$2.call(queryString, `optionalFields=${encodeURIComponent(optionalFieldString)}`);
193
194
  }
194
- return `${resourceRequest.baseUri}${resourceRequest.basePath}?${join$1.call(queryString, '&')}`;
195
+ return `${resourceRequest.baseUri}${resourceRequest.basePath}?${join$2.call(queryString, '&')}`;
195
196
  }
196
197
  function buildGetRecordByFieldsCompositeRequest(resourceRequest, recordsCompositeRequest) {
197
198
  const { fieldsArray, optionalFieldsArray, fieldsLength, optionalFieldsLength } = recordsCompositeRequest;
@@ -45314,25 +45315,25 @@ function isObjectValueNode(node) {
45314
45315
  return node.kind === 'ObjectValue';
45315
45316
  }
45316
45317
  function isStringValueNode(node) {
45317
- return node.kind === Kind$1.STRING;
45318
+ return node.kind === Kind$2.STRING;
45318
45319
  }
45319
45320
  function isIntValueNode(node) {
45320
- return node.kind === Kind$1.INT;
45321
+ return node.kind === Kind$2.INT;
45321
45322
  }
45322
45323
  function isVariableNode(node) {
45323
- return node.kind === Kind$1.VARIABLE;
45324
+ return node.kind === Kind$2.VARIABLE;
45324
45325
  }
45325
45326
  function isFieldNode(node) {
45326
45327
  return node !== undefined && node.kind !== undefined ? node.kind === 'Field' : false;
45327
45328
  }
45328
45329
  function isFieldOrInlineFragmentNode(node) {
45329
45330
  return node !== undefined && node.kind !== undefined
45330
- ? node.kind === 'Field' || node.kind === Kind$1.INLINE_FRAGMENT
45331
+ ? node.kind === 'Field' || node.kind === Kind$2.INLINE_FRAGMENT
45331
45332
  : false;
45332
45333
  }
45333
45334
  function isInlineFragmentNode(node) {
45334
45335
  return node !== undefined && node.kind !== undefined
45335
- ? node.kind === Kind$1.INLINE_FRAGMENT
45336
+ ? node.kind === Kind$2.INLINE_FRAGMENT
45336
45337
  : false;
45337
45338
  }
45338
45339
  function isCompoundPredicate(predicate) {
@@ -45541,9 +45542,9 @@ function isCapableRelationship(node) {
45541
45542
  function isScopeArgumentNodeWithType(node, scopeType, variables) {
45542
45543
  if (node.name.value !== 'scope')
45543
45544
  return false;
45544
- if (node.value.kind !== Kind$1.ENUM && node.value.kind !== Kind$1.VARIABLE)
45545
+ if (node.value.kind !== Kind$2.ENUM && node.value.kind !== Kind$2.VARIABLE)
45545
45546
  return false;
45546
- if (node.value.kind === Kind$1.ENUM) {
45547
+ if (node.value.kind === Kind$2.ENUM) {
45547
45548
  if (node.value.value === scopeType) {
45548
45549
  return true;
45549
45550
  }
@@ -45650,7 +45651,7 @@ function isInlineFragmentFieldSpanning(node) {
45650
45651
  if (!node.selectionSet)
45651
45652
  return false;
45652
45653
  return node.selectionSet.selections.some((selection) => {
45653
- if (selection.kind !== Kind$1.INLINE_FRAGMENT)
45654
+ if (selection.kind !== Kind$2.INLINE_FRAGMENT)
45654
45655
  return false;
45655
45656
  return isFieldSpanning(selection, node);
45656
45657
  });
@@ -46190,7 +46191,7 @@ const base64decode = typeof atob === 'function' ? atob : atobPolyfill;
46190
46191
  /**
46191
46192
  * The set of allowed kind values for AST nodes.
46192
46193
  */
46193
- var Kind = Object.freeze({
46194
+ var Kind$1 = Object.freeze({
46194
46195
  // Name
46195
46196
  NAME: 'Name',
46196
46197
  // Document
@@ -46386,7 +46387,7 @@ defineInspect(Token);
46386
46387
  * @internal
46387
46388
  */
46388
46389
 
46389
- function isNode(maybeNode) {
46390
+ function isNode$1(maybeNode) {
46390
46391
  return maybeNode != null && typeof maybeNode.kind === 'string';
46391
46392
  }
46392
46393
  /**
@@ -46394,17 +46395,17 @@ function isNode(maybeNode) {
46394
46395
  */
46395
46396
 
46396
46397
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
46397
- var MAX_ARRAY_LENGTH = 10;
46398
- var MAX_RECURSIVE_DEPTH = 2;
46398
+ var MAX_ARRAY_LENGTH$1 = 10;
46399
+ var MAX_RECURSIVE_DEPTH$1 = 2;
46399
46400
  /**
46400
46401
  * Used to print values in error messages.
46401
46402
  */
46402
46403
 
46403
- function inspect(value) {
46404
- return formatValue(value, []);
46404
+ function inspect$1(value) {
46405
+ return formatValue$1(value, []);
46405
46406
  }
46406
46407
 
46407
- function formatValue(value, seenValues) {
46408
+ function formatValue$1(value, seenValues) {
46408
46409
  switch (_typeof(value)) {
46409
46410
  case 'string':
46410
46411
  return JSON.stringify(value);
@@ -46417,14 +46418,14 @@ function formatValue(value, seenValues) {
46417
46418
  return 'null';
46418
46419
  }
46419
46420
 
46420
- return formatObjectValue(value, seenValues);
46421
+ return formatObjectValue$1(value, seenValues);
46421
46422
 
46422
46423
  default:
46423
46424
  return String(value);
46424
46425
  }
46425
46426
  }
46426
46427
 
46427
- function formatObjectValue(value, previouslySeenValues) {
46428
+ function formatObjectValue$1(value, previouslySeenValues) {
46428
46429
  if (previouslySeenValues.indexOf(value) !== -1) {
46429
46430
  return '[Circular]';
46430
46431
  }
@@ -46436,48 +46437,48 @@ function formatObjectValue(value, previouslySeenValues) {
46436
46437
  var customValue = customInspectFn.call(value); // check for infinite recursion
46437
46438
 
46438
46439
  if (customValue !== value) {
46439
- return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);
46440
+ return typeof customValue === 'string' ? customValue : formatValue$1(customValue, seenValues);
46440
46441
  }
46441
46442
  } else if (Array.isArray(value)) {
46442
- return formatArray(value, seenValues);
46443
+ return formatArray$1(value, seenValues);
46443
46444
  }
46444
46445
 
46445
- return formatObject(value, seenValues);
46446
+ return formatObject$1(value, seenValues);
46446
46447
  }
46447
46448
 
46448
- function formatObject(object, seenValues) {
46449
+ function formatObject$1(object, seenValues) {
46449
46450
  var keys = Object.keys(object);
46450
46451
 
46451
46452
  if (keys.length === 0) {
46452
46453
  return '{}';
46453
46454
  }
46454
46455
 
46455
- if (seenValues.length > MAX_RECURSIVE_DEPTH) {
46456
- return '[' + getObjectTag(object) + ']';
46456
+ if (seenValues.length > MAX_RECURSIVE_DEPTH$1) {
46457
+ return '[' + getObjectTag$1(object) + ']';
46457
46458
  }
46458
46459
 
46459
46460
  var properties = keys.map(function (key) {
46460
- var value = formatValue(object[key], seenValues);
46461
+ var value = formatValue$1(object[key], seenValues);
46461
46462
  return key + ': ' + value;
46462
46463
  });
46463
46464
  return '{ ' + properties.join(', ') + ' }';
46464
46465
  }
46465
46466
 
46466
- function formatArray(array, seenValues) {
46467
+ function formatArray$1(array, seenValues) {
46467
46468
  if (array.length === 0) {
46468
46469
  return '[]';
46469
46470
  }
46470
46471
 
46471
- if (seenValues.length > MAX_RECURSIVE_DEPTH) {
46472
+ if (seenValues.length > MAX_RECURSIVE_DEPTH$1) {
46472
46473
  return '[Array]';
46473
46474
  }
46474
46475
 
46475
- var len = Math.min(MAX_ARRAY_LENGTH, array.length);
46476
+ var len = Math.min(MAX_ARRAY_LENGTH$1, array.length);
46476
46477
  var remaining = array.length - len;
46477
46478
  var items = [];
46478
46479
 
46479
46480
  for (var i = 0; i < len; ++i) {
46480
- items.push(formatValue(array[i], seenValues));
46481
+ items.push(formatValue$1(array[i], seenValues));
46481
46482
  }
46482
46483
 
46483
46484
  if (remaining === 1) {
@@ -46501,7 +46502,7 @@ function getCustomFn(object) {
46501
46502
  }
46502
46503
  }
46503
46504
 
46504
- function getObjectTag(object) {
46505
+ function getObjectTag$1(object) {
46505
46506
  var tag = Object.prototype.toString.call(object).replace(/^\[object /, '').replace(/]$/, '');
46506
46507
 
46507
46508
  if (tag === 'Object' && typeof object.constructor === 'function') {
@@ -46520,7 +46521,7 @@ function getObjectTag(object) {
46520
46521
  * relevant functions to be called during the visitor's traversal.
46521
46522
  */
46522
46523
 
46523
- var QueryDocumentKeys = {
46524
+ var QueryDocumentKeys$1 = {
46524
46525
  Name: [],
46525
46526
  Document: ['definitions'],
46526
46527
  OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],
@@ -46567,7 +46568,7 @@ var QueryDocumentKeys = {
46567
46568
  EnumTypeExtension: ['name', 'directives', 'values'],
46568
46569
  InputObjectTypeExtension: ['name', 'directives', 'fields']
46569
46570
  };
46570
- var BREAK = Object.freeze({});
46571
+ var BREAK$1 = Object.freeze({});
46571
46572
  /**
46572
46573
  * visit() will walk through an AST using a depth-first traversal, calling
46573
46574
  * the visitor's enter function at each node in the traversal, and calling the
@@ -46655,8 +46656,8 @@ var BREAK = Object.freeze({});
46655
46656
  * })
46656
46657
  */
46657
46658
 
46658
- function visit(root, visitor) {
46659
- var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;
46659
+ function visit$1(root, visitor) {
46660
+ var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys$1;
46660
46661
 
46661
46662
  /* eslint-disable no-undef-init */
46662
46663
  var stack = undefined;
@@ -46736,8 +46737,8 @@ function visit(root, visitor) {
46736
46737
  var result = void 0;
46737
46738
 
46738
46739
  if (!Array.isArray(node)) {
46739
- if (!isNode(node)) {
46740
- throw new Error("Invalid AST Node: ".concat(inspect(node), "."));
46740
+ if (!isNode$1(node)) {
46741
+ throw new Error("Invalid AST Node: ".concat(inspect$1(node), "."));
46741
46742
  }
46742
46743
 
46743
46744
  var visitFn = getVisitFn(visitor, node.kind, isLeaving);
@@ -46745,7 +46746,7 @@ function visit(root, visitor) {
46745
46746
  if (visitFn) {
46746
46747
  result = visitFn.call(visitor, node, key, parent, path, ancestors);
46747
46748
 
46748
- if (result === BREAK) {
46749
+ if (result === BREAK$1) {
46749
46750
  break;
46750
46751
  }
46751
46752
 
@@ -46758,7 +46759,7 @@ function visit(root, visitor) {
46758
46759
  edits.push([key, result]);
46759
46760
 
46760
46761
  if (!isLeaving) {
46761
- if (isNode(result)) {
46762
+ if (isNode$1(result)) {
46762
46763
  node = result;
46763
46764
  } else {
46764
46765
  path.pop();
@@ -46934,7 +46935,7 @@ function decodeV1Cursor(base64cursor) {
46934
46935
  function selectionIncludesHasNextPage(selections, fragments) {
46935
46936
  for (let selection of selections) {
46936
46937
  switch (selection.kind) {
46937
- case Kind.FIELD: {
46938
+ case Kind$1.FIELD: {
46938
46939
  if (selection.name.value === 'pageInfo') {
46939
46940
  if (!selection.selectionSet)
46940
46941
  continue;
@@ -46945,7 +46946,7 @@ function selectionIncludesHasNextPage(selections, fragments) {
46945
46946
  }
46946
46947
  break;
46947
46948
  }
46948
- case Kind.FRAGMENT_SPREAD: {
46949
+ case Kind$1.FRAGMENT_SPREAD: {
46949
46950
  let fragment = fragments[selection.name.value];
46950
46951
  if (!fragment)
46951
46952
  return false;
@@ -46954,7 +46955,7 @@ function selectionIncludesHasNextPage(selections, fragments) {
46954
46955
  }
46955
46956
  break;
46956
46957
  }
46957
- case Kind.INLINE_FRAGMENT:
46958
+ case Kind$1.INLINE_FRAGMENT:
46958
46959
  if (selectionIncludesHasNextPage(selection.selectionSet.selections, fragments)) {
46959
46960
  return true;
46960
46961
  }
@@ -47010,7 +47011,7 @@ function mapCursorValue(originalValue, paginationMetadata) {
47010
47011
  async function mapPaginationCursors(originalAST, variables, store) {
47011
47012
  // first pass, identify record query cache keys for reading pagination metadata
47012
47013
  let requiredPaginationMetadataKeys = [];
47013
- visit$1(originalAST, {
47014
+ visit$2(originalAST, {
47014
47015
  Field(node, _key, _parent, _path, ancestors) {
47015
47016
  // is it a record query?
47016
47017
  if (!isRecordQuery(node)) {
@@ -47038,7 +47039,7 @@ async function mapPaginationCursors(originalAST, variables, store) {
47038
47039
  // holds the original cursor values that were mapped back to server cursors
47039
47040
  let mappedCursors = new Map();
47040
47041
  // rewrite nodes/variables with mapped cursors now that we read the pagination metadata
47041
- let ast = visit$1(originalAST, {
47042
+ let ast = visit$2(originalAST, {
47042
47043
  Field(node, _key, _parent, _path, ancestors) {
47043
47044
  // is it a record query?
47044
47045
  if (!isRecordQuery(node)) {
@@ -47601,7 +47602,7 @@ function isRecordType(type) {
47601
47602
  return Boolean(interfaces.find((iface) => iface.name === 'Record'));
47602
47603
  }
47603
47604
 
47604
- 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 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}\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 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}\n\ntype Analytics__SemanticDefinition implements Analytics__AnalyticsRepresentationInterface {\n MasterLabel: StringValue\n DeveloperName: 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 SubMetrics: Analytics__SemanticSubMetricDefinitionConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\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 CreatedById: Setup__IdOperators\n CreatedDate: DateTimeOperators\n LastModifiedById: Setup__IdOperators\n LastModifiedDate: DateTimeOperators\n and: [Analytics__AnalyticsFilter]\n or: [Analytics__AnalyticsFilter]\n not: Analytics__AnalyticsFilter\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}\n\ntype Analytics__AnalyticsWorkspace {\n MasterLabel: StringValue\n DeveloperName: 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 CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: StringValue!\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n NamespacePrefix: StringValue\n RelatedModel: Analytics__SemanticModelRelatedModelConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: StringValue\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: StringValue!\n}\n\ntype Analytics__SemanticModelRelatedModelRepresentation {\n Id: ID!\n ApiName: StringValue!\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 rows(first: Int, after: String, upperBound: Int, orderBy: Setup__ListOrderInput): 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";
47605
+ 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 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}\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 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}\n\ntype Analytics__SemanticDefinition implements Analytics__AnalyticsRepresentationInterface {\n MasterLabel: StringValue\n DeveloperName: 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 SubMetrics: Analytics__SemanticSubMetricDefinitionConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\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 CreatedById: Setup__IdOperators\n CreatedDate: DateTimeOperators\n LastModifiedById: Setup__IdOperators\n LastModifiedDate: DateTimeOperators\n and: [Analytics__AnalyticsFilter]\n or: [Analytics__AnalyticsFilter]\n not: Analytics__AnalyticsFilter\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}\n\ntype Analytics__AnalyticsWorkspace {\n MasterLabel: StringValue\n DeveloperName: 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 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}\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 rows(first: Int, after: String, upperBound: Int, orderBy: Setup__ListOrderInput): 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";
47605
47606
 
47606
47607
  // Define additional schema that is missing from uiapi that we use in local evaluation
47607
47608
  const additionalSchemaDefinitions = /* GraphQL */ `
@@ -48056,7 +48057,7 @@ async function evaluate(config, observers, settings, objectInfos, store, snapsho
48056
48057
  const operationNode = getOperationFromDocument(config.query);
48057
48058
  let topLevelQueries = [];
48058
48059
  // assume that 'config.query' has required injected fields.
48059
- const modifiedAST = visit$1(config.query, {
48060
+ const modifiedAST = visit$2(config.query, {
48060
48061
  Field: {
48061
48062
  leave(node) {
48062
48063
  if (node.name.value !== `node`)
@@ -48144,20 +48145,20 @@ async function evaluate(config, observers, settings, objectInfos, store, snapsho
48144
48145
  }
48145
48146
 
48146
48147
  const parentRelationshipDirective = {
48147
- kind: Kind$1.DIRECTIVE,
48148
+ kind: Kind$2.DIRECTIVE,
48148
48149
  name: {
48149
- kind: Kind$1.NAME,
48150
+ kind: Kind$2.NAME,
48150
48151
  value: 'category',
48151
48152
  },
48152
48153
  arguments: [
48153
48154
  {
48154
- kind: Kind$1.ARGUMENT,
48155
+ kind: Kind$2.ARGUMENT,
48155
48156
  name: {
48156
- kind: Kind$1.NAME,
48157
+ kind: Kind$2.NAME,
48157
48158
  value: 'name',
48158
48159
  },
48159
48160
  value: {
48160
- kind: Kind$1.STRING,
48161
+ kind: Kind$2.STRING,
48161
48162
  value: PARENT_RELATIONSHIP,
48162
48163
  block: false,
48163
48164
  },
@@ -48165,12 +48166,12 @@ const parentRelationshipDirective = {
48165
48166
  ],
48166
48167
  };
48167
48168
  const FieldValueNodeSelectionSet = {
48168
- kind: Kind$1.SELECTION_SET,
48169
+ kind: Kind$2.SELECTION_SET,
48169
48170
  selections: [
48170
48171
  {
48171
- kind: Kind$1.FIELD,
48172
+ kind: Kind$2.FIELD,
48172
48173
  name: {
48173
- kind: Kind$1.NAME,
48174
+ kind: Kind$2.NAME,
48174
48175
  value: 'value',
48175
48176
  },
48176
48177
  },
@@ -48196,7 +48197,7 @@ async function injectSyntheticFields(originalAST, objectInfoService, draftFuncti
48196
48197
  unmappedDraftIDs: new Set(),
48197
48198
  };
48198
48199
  let assignedtomeQueryFieldNode = undefined;
48199
- visit$1(originalAST, {
48200
+ visit$2(originalAST, {
48200
48201
  Argument: {
48201
48202
  enter(node, key, parent, path, ancestors) {
48202
48203
  const { connection: recordConnectionNode, path: ancesterPath } = findNearestConnectionWithPath(ancestors);
@@ -48268,7 +48269,7 @@ async function injectSyntheticFields(originalAST, objectInfoService, draftFuncti
48268
48269
  objectInfos = await resolveObjectInfos(objectNodeInfoTree, pathToObjectApiNamesMap, startNodes, objectInfoService);
48269
48270
  }
48270
48271
  // read pass; gather whats needed
48271
- visit$1(originalAST, {
48272
+ visit$2(originalAST, {
48272
48273
  Argument: {
48273
48274
  leave(node, key, parent, path, ancestors) {
48274
48275
  const recordQueryField = findNearestConnection(ancestors);
@@ -48355,7 +48356,7 @@ async function injectSyntheticFields(originalAST, objectInfoService, draftFuncti
48355
48356
  },
48356
48357
  });
48357
48358
  // write pass; inject whats needed
48358
- const modifiedAST = visit$1(originalAST, {
48359
+ const modifiedAST = visit$2(originalAST, {
48359
48360
  Field: {
48360
48361
  leave(node, key, parent, path, ancestors) {
48361
48362
  // removes 'ServicesResources' query field node if 'assignedtome' scope shows up
@@ -48433,7 +48434,7 @@ async function injectSyntheticFields(originalAST, objectInfoService, draftFuncti
48433
48434
  }
48434
48435
  function swapIdField(filterFields, objectInfo, swapped, idState, draftFunctions) {
48435
48436
  switch (filterFields.kind) {
48436
- case Kind$1.OBJECT: {
48437
+ case Kind$2.OBJECT: {
48437
48438
  const fieldNodes = filterFields.fields.map((fieldNode) => {
48438
48439
  // check at the object value node level if the node's name is an Id/Reference
48439
48440
  // if not then just pass the current swapped state
@@ -48451,7 +48452,7 @@ function swapIdField(filterFields, objectInfo, swapped, idState, draftFunctions)
48451
48452
  fields: fieldNodes,
48452
48453
  };
48453
48454
  }
48454
- case Kind$1.STRING: {
48455
+ case Kind$2.STRING: {
48455
48456
  if (!swapped) {
48456
48457
  return filterFields;
48457
48458
  }
@@ -48470,7 +48471,7 @@ function swapIdField(filterFields, objectInfo, swapped, idState, draftFunctions)
48470
48471
  block: false,
48471
48472
  };
48472
48473
  }
48473
- case Kind$1.LIST: {
48474
+ case Kind$2.LIST: {
48474
48475
  const values = filterFields.values.map((valueNode) => swapIdField(valueNode, objectInfo, swapped, idState, draftFunctions));
48475
48476
  return {
48476
48477
  kind: 'ListValue',
@@ -48556,14 +48557,14 @@ function mergeSelectionNodes(group1, group2) {
48556
48557
  function growObjectFieldTree(tree, parentNode, entryNode, totalNodes, startNodes) {
48557
48558
  entryNode.fields.forEach((objectFieldNode) => {
48558
48559
  // objectFieldNode: {Account: { Name : { eq: "xxyyzz"}}}; objectFieldNode.value: { Name : { eq: "xxyyzz"}}
48559
- if (objectFieldNode.value.kind === Kind$1.OBJECT) {
48560
+ if (objectFieldNode.value.kind === Kind$2.OBJECT) {
48560
48561
  if (objectFieldNode.name.value === 'not') {
48561
48562
  // recursively go to deeper level of filter.
48562
48563
  growObjectFieldTree(tree, parentNode, objectFieldNode.value, totalNodes, startNodes);
48563
48564
  }
48564
48565
  else {
48565
48566
  // Spanning Field 'Account'
48566
- if (objectFieldNode.value.fields.some((childObjectFieldNode) => childObjectFieldNode.value.kind === Kind$1.OBJECT)) {
48567
+ if (objectFieldNode.value.fields.some((childObjectFieldNode) => childObjectFieldNode.value.kind === Kind$2.OBJECT)) {
48567
48568
  if (!totalNodes.has(parentNode)) {
48568
48569
  totalNodes.add(parentNode);
48569
48570
  startNodes.add(parentNode);
@@ -48586,7 +48587,7 @@ function growObjectFieldTree(tree, parentNode, entryNode, totalNodes, startNodes
48586
48587
  }
48587
48588
  }
48588
48589
  }
48589
- else if (objectFieldNode.value.kind === Kind$1.LIST) {
48590
+ else if (objectFieldNode.value.kind === Kind$2.LIST) {
48590
48591
  objectFieldNode.value.values.filter(isObjectValueNode).forEach((childNode) => {
48591
48592
  growObjectFieldTree(tree, parentNode, childNode, totalNodes, startNodes);
48592
48593
  });
@@ -48864,7 +48865,7 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
48864
48865
  const injectedSelections = [];
48865
48866
  let isPolymorphicField = false;
48866
48867
  switch (filterNode.kind) {
48867
- case Kind$1.ARGUMENT:
48868
+ case Kind$2.ARGUMENT:
48868
48869
  if (filterNode.value.kind !== 'ObjectValue')
48869
48870
  return [];
48870
48871
  filterNode.value.fields.forEach((objectFieldNode) => {
@@ -48878,9 +48879,9 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
48878
48879
  }
48879
48880
  });
48880
48881
  return injectedSelections;
48881
- case Kind$1.OBJECT_FIELD:
48882
+ case Kind$2.OBJECT_FIELD:
48882
48883
  switch (filterNode.value.kind) {
48883
- case Kind$1.LIST: {
48884
+ case Kind$2.LIST: {
48884
48885
  filterNode.value.values.filter(isObjectValueNode).forEach((objectValueNode) => {
48885
48886
  objectValueNode.fields.forEach((objectFieldNode) => {
48886
48887
  const subResults = injectFilter(objectFieldNode, idState, parentPath, isParentPolymorphic, objectInfos, pathToObjectApiNamesMap, draftFunctions, queryNode);
@@ -48891,7 +48892,7 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
48891
48892
  });
48892
48893
  return injectedSelections;
48893
48894
  }
48894
- case Kind$1.OBJECT: {
48895
+ case Kind$2.OBJECT: {
48895
48896
  if (filterNode.name.value === 'not') {
48896
48897
  filterNode.value.fields.forEach((objectFieldNode) => {
48897
48898
  const subResults = injectFilter(objectFieldNode, idState, parentPath, isParentPolymorphic, objectInfos, pathToObjectApiNamesMap, draftFunctions, queryNode);
@@ -49021,9 +49022,9 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
49021
49022
  (isInlineFragment && !isTypeNameExisting)) {
49022
49023
  if (isInlineFragment) {
49023
49024
  sel = {
49024
- kind: Kind$1.INLINE_FRAGMENT,
49025
+ kind: Kind$2.INLINE_FRAGMENT,
49025
49026
  typeCondition: {
49026
- kind: Kind$1.NAMED_TYPE,
49027
+ kind: Kind$2.NAMED_TYPE,
49027
49028
  name: {
49028
49029
  kind: 'Name',
49029
49030
  value: filterNode.name.value,
@@ -49042,14 +49043,14 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
49042
49043
  ...sel,
49043
49044
  directives,
49044
49045
  selectionSet: {
49045
- kind: Kind$1.SELECTION_SET,
49046
+ kind: Kind$2.SELECTION_SET,
49046
49047
  selections: idField.concat(...subSelectionNodes),
49047
49048
  },
49048
49049
  }
49049
49050
  : {
49050
49051
  ...sel,
49051
49052
  selectionSet: {
49052
- kind: Kind$1.SELECTION_SET,
49053
+ kind: Kind$2.SELECTION_SET,
49053
49054
  selections: idField.concat(...subSelectionNodes),
49054
49055
  },
49055
49056
  };
@@ -49178,12 +49179,12 @@ function updateIDInfo(fieldNode, idState, draftFunctions) {
49178
49179
  if (isObjectValueNode(fieldNode.value)) {
49179
49180
  const idOpValueNode = fieldNode.value.fields[0];
49180
49181
  switch (idOpValueNode.value.kind) {
49181
- case Kind$1.STRING: {
49182
+ case Kind$2.STRING: {
49182
49183
  const id = idOpValueNode.value.value;
49183
49184
  idState.swapNeeded = draftFunctions.isDraftId(id);
49184
49185
  break;
49185
49186
  }
49186
- case Kind$1.LIST: {
49187
+ case Kind$2.LIST: {
49187
49188
  const listValues = idOpValueNode.value.values;
49188
49189
  idState.swapNeeded = listValues
49189
49190
  .filter(isStringValueNode)
@@ -49270,7 +49271,7 @@ function injectParentRelationships(selections, parentNode, parentPath, ancestors
49270
49271
  parentInjectedNodes.push({
49271
49272
  ...selection,
49272
49273
  selectionSet: {
49273
- kind: Kind$1.SELECTION_SET,
49274
+ kind: Kind$2.SELECTION_SET,
49274
49275
  selections: [...idSelection, ...subInjectedSelections],
49275
49276
  },
49276
49277
  });
@@ -49820,9 +49821,9 @@ function referenceIdFieldForRelationship(relationshipName) {
49820
49821
  */
49821
49822
  function createFieldNode(nameValue, selectionSet) {
49822
49823
  return {
49823
- kind: Kind$1.FIELD,
49824
+ kind: Kind$2.FIELD,
49824
49825
  name: {
49825
- kind: Kind$1.NAME,
49826
+ kind: Kind$2.NAME,
49826
49827
  value: nameValue,
49827
49828
  },
49828
49829
  selectionSet,
@@ -49958,7 +49959,7 @@ function instrumentLimits(ast, variables) {
49958
49959
  let currentChildRelationships = 0;
49959
49960
  let currentRootRecordCount = 0;
49960
49961
  let currentTotalRecordCount = 0;
49961
- visit$1(ast, {
49962
+ visit$2(ast, {
49962
49963
  Field: {
49963
49964
  enter(node) {
49964
49965
  if (isRecordQuery(node)) {
@@ -50022,7 +50023,7 @@ function enforceFieldLimitOnAST(ast, variables, objectInfos, enforcedLimits = {
50022
50023
  }) {
50023
50024
  const { maxFieldCount, maxRecordLimit, singleRecordField, maxFieldSize } = enforcedLimits;
50024
50025
  const fieldsWithDataType = findFieldTypeInObjectInfo(objectInfos, singleRecordField);
50025
- const documentNode = visit(ast, {
50026
+ const documentNode = visit$1(ast, {
50026
50027
  Field(node) {
50027
50028
  // is it a record query?
50028
50029
  if (!isRecordQuery(node)) {
@@ -50072,7 +50073,7 @@ function enforceFieldLimitOnAST(ast, variables, objectInfos, enforcedLimits = {
50072
50073
  return {
50073
50074
  ...argument,
50074
50075
  value: {
50075
- kind: Kind.INT,
50076
+ kind: Kind$1.INT,
50076
50077
  value: recordLimit,
50077
50078
  },
50078
50079
  };
@@ -50662,7 +50663,7 @@ const recordIdGenerator = (id) => {
50662
50663
 
50663
50664
  const { keys: keys$2, create: create$2, assign: assign$1, entries: entries$2 } = Object;
50664
50665
  const { stringify: stringify$4, parse: parse$4 } = JSON;
50665
- const { push, join, slice } = Array.prototype;
50666
+ const { push, join: join$1, slice } = Array.prototype;
50666
50667
  const { isArray: isArray$2, from } = Array;
50667
50668
 
50668
50669
  function ldsParamsToString(params) {
@@ -50844,10 +50845,10 @@ class ScopedFields {
50844
50845
  fields.forEach(this.addField, this);
50845
50846
  }
50846
50847
  toQueryParameterValue() {
50847
- const joinedFields = join.call(Object.keys(this.fields), SEPARATOR_BETWEEN_FIELDS);
50848
+ const joinedFields = join$1.call(Object.keys(this.fields), SEPARATOR_BETWEEN_FIELDS);
50848
50849
  return this.isUnScoped()
50849
50850
  ? joinedFields
50850
- : join.call([this.scope, joinedFields], SEPARATOR_BETWEEN_SCOPE_AND_FIELDS);
50851
+ : join$1.call([this.scope, joinedFields], SEPARATOR_BETWEEN_SCOPE_AND_FIELDS);
50851
50852
  }
50852
50853
  toQueryParams() {
50853
50854
  return this.isUnScoped() ? Object.keys(this.fields) : this.toQueryParameterValue();
@@ -50915,7 +50916,7 @@ class ScopedFieldsCollection {
50915
50916
  if (chunk !== undefined)
50916
50917
  result.push(chunk);
50917
50918
  }
50918
- return join.call(result, SEPARATOR_BETWEEN_SCOPES);
50919
+ return join$1.call(result, SEPARATOR_BETWEEN_SCOPES);
50919
50920
  }
50920
50921
  /**
50921
50922
  * split the ScopedFields into multiple ScopedFields
@@ -51092,7 +51093,7 @@ function buildAggregateUiUrl(params, resourceRequest) {
51092
51093
  queryString.push(`${key}=${isArray$2(value) ? value.join(',') : value}`);
51093
51094
  }
51094
51095
  }
51095
- return `${resourceRequest.baseUri}${resourceRequest.basePath}?${join.call(queryString, '&')}`;
51096
+ return `${resourceRequest.baseUri}${resourceRequest.basePath}?${join$1.call(queryString, '&')}`;
51096
51097
  }
51097
51098
  function shouldUseAggregateUiForFields(fieldsArray, optionalFieldsArray, maxLengthPerChunk) {
51098
51099
  return fieldsArray.length + optionalFieldsArray.length >= maxLengthPerChunk;
@@ -53730,7 +53731,7 @@ class SoqlRecordConverter {
53730
53731
  return isNaN(timestamp) ? 0 : timestamp; // milliseconds which matches GQL results
53731
53732
  }
53732
53733
  formatFieldValueIfNeeded(field, value) {
53733
- if (!value)
53734
+ if (value === undefined || value === null)
53734
53735
  return null;
53735
53736
  if (this.fieldTypeMapping.get(field) === 'DateTime') {
53736
53737
  const date = new Date(value);
@@ -54313,7 +54314,7 @@ function createResourceRequest$2(config) {
54313
54314
  baseUri: '/services/data/v65.0',
54314
54315
  basePath: '/graphql',
54315
54316
  method: 'post',
54316
- body: { ...config.body, query: print(config.body.query) },
54317
+ body: { ...config.body, query: print$1(config.body.query) },
54317
54318
  urlParams: {},
54318
54319
  queryParams: {},
54319
54320
  headers,
@@ -54337,7 +54338,7 @@ function stripMetaschemaFromFieldNode(fieldNode) {
54337
54338
  return fieldNode;
54338
54339
  }
54339
54340
  function stripDocumentOfMetaschema(documentNode) {
54340
- return visit$1(documentNode, {
54341
+ return visit$2(documentNode, {
54341
54342
  Field(node) {
54342
54343
  return stripMetaschemaFromFieldNode(node);
54343
54344
  },
@@ -54369,7 +54370,7 @@ function transformConfiguration$1(config) {
54369
54370
  // Make a copy of the config before running transform to avoid mutating the original config
54370
54371
  const adapterConfigCopy = {
54371
54372
  ...config,
54372
- query: parse$8(print(config.query))
54373
+ query: parse$8(print$1(config.query))
54373
54374
  };
54374
54375
  return {
54375
54376
  ...adapterConfigCopy,
@@ -54451,7 +54452,7 @@ function stripDocumentsOfMetaschema(config) {
54451
54452
  const batchQueryTransformed = config.body.batchQuery.map((singleConfig) => {
54452
54453
  return {
54453
54454
  ...singleConfig,
54454
- query: print(stripDocumentOfMetaschema(singleConfig.query)),
54455
+ query: print$1(stripDocumentOfMetaschema(singleConfig.query)),
54455
54456
  };
54456
54457
  });
54457
54458
  return {
@@ -54747,7 +54748,7 @@ function transformConfiguration(config) {
54747
54748
  const batchQueryTransformed = config.batchQuery.map((singleConfig) => {
54748
54749
  return {
54749
54750
  ...singleConfig,
54750
- query: applyMinimumFieldsToQuery(parse$8(print(singleConfig.query))), // Stringifies and parses again to avoid mutating original. Should we just JSON.stringify to avoid the dependency on the parser?
54751
+ query: applyMinimumFieldsToQuery(parse$8(print$1(singleConfig.query))), // Stringifies and parses again to avoid mutating original. Should we just JSON.stringify to avoid the dependency on the parser?
54751
54752
  };
54752
54753
  });
54753
54754
  return {
@@ -55870,6 +55871,20 @@ function toError(x) {
55870
55871
  }
55871
55872
  return new Error(typeof x === "string" ? x : JSON.stringify(x));
55872
55873
  }
55874
+ class InternalError extends Error {
55875
+ constructor(data) {
55876
+ super();
55877
+ this.data = data;
55878
+ this.type = "internal";
55879
+ }
55880
+ }
55881
+ class UserVisibleError extends Error {
55882
+ constructor(data) {
55883
+ super();
55884
+ this.data = data;
55885
+ this.type = "user-visible";
55886
+ }
55887
+ }
55873
55888
 
55874
55889
  /*!
55875
55890
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -55934,7 +55949,7 @@ let NetworkCommand$1 = class NetworkCommand extends BaseCommand {
55934
55949
  async afterRequestHooks(_options) {
55935
55950
  }
55936
55951
  };
55937
- function buildServiceDescriptor$c() {
55952
+ function buildServiceDescriptor$g() {
55938
55953
  return {
55939
55954
  type: "networkCommandBaseClass",
55940
55955
  version: "1.0",
@@ -56036,7 +56051,7 @@ class AuraNetworkCommand extends NetworkCommand$1 {
56036
56051
  return resolvedPromiseLike$3(err$1(toError("Aura/Fetch network services not found")));
56037
56052
  }
56038
56053
  }
56039
- function buildServiceDescriptor$b() {
56054
+ function buildServiceDescriptor$f() {
56040
56055
  return {
56041
56056
  type: "auraNetworkCommandBaseClass",
56042
56057
  version: "1.0",
@@ -56536,7 +56551,7 @@ class AuraNormalizedCacheControlCommand extends AuraCacheControlCommand$1 {
56536
56551
  return resolvedPromiseLike$3(void 0);
56537
56552
  }
56538
56553
  }
56539
- function buildServiceDescriptor$a() {
56554
+ function buildServiceDescriptor$e() {
56540
56555
  return {
56541
56556
  type: "auraNormalizedCacheControlCommand",
56542
56557
  version: "1.0",
@@ -56682,7 +56697,7 @@ class AuraResourceCacheControlCommand extends AuraCacheControlCommand {
56682
56697
  return `{"endpoint":${this.endpoint},"params":${stableJSONStringify(this.auraParams)}}`;
56683
56698
  }
56684
56699
  }
56685
- function buildServiceDescriptor$9() {
56700
+ function buildServiceDescriptor$d() {
56686
56701
  return {
56687
56702
  type: "auraResourceCacheControlCommand",
56688
56703
  version: "1.0",
@@ -56789,7 +56804,7 @@ class FetchNetworkCommand extends NetworkCommand {
56789
56804
  );
56790
56805
  }
56791
56806
  }
56792
- function buildServiceDescriptor$8() {
56807
+ function buildServiceDescriptor$c() {
56793
56808
  return {
56794
56809
  type: "fetchNetworkCommandBaseClass",
56795
56810
  version: "1.0",
@@ -56878,7 +56893,7 @@ class HttpNormalizedCacheControlCommand extends HttpCacheControlCommand {
56878
56893
  return resolvedPromiseLike$3(void 0);
56879
56894
  }
56880
56895
  }
56881
- function buildServiceDescriptor$7() {
56896
+ function buildServiceDescriptor$b() {
56882
56897
  return {
56883
56898
  type: "httpNormalizedCacheControlCommand",
56884
56899
  version: "1.0",
@@ -57131,7 +57146,7 @@ let DefaultCache$1 = class DefaultCache {
57131
57146
  return new FixedTimeWritableCache$1(this, generatedTime);
57132
57147
  }
57133
57148
  };
57134
- function buildServiceDescriptor$6() {
57149
+ function buildServiceDescriptor$a() {
57135
57150
  return {
57136
57151
  type: "cache",
57137
57152
  version: "1.0",
@@ -57299,7 +57314,7 @@ class CacheController {
57299
57314
  yield* this.services.cacheInclusionPolicy.findAndModify(query, cacheUpdate);
57300
57315
  }
57301
57316
  }
57302
- function buildServiceDescriptor$5(cache, cacheInclusionPolicy) {
57317
+ function buildServiceDescriptor$9(cache, cacheInclusionPolicy) {
57303
57318
  return {
57304
57319
  type: "cacheController",
57305
57320
  version: "1.0",
@@ -57345,7 +57360,7 @@ function buildInstrumentCommand(services) {
57345
57360
  };
57346
57361
  };
57347
57362
  }
57348
- function buildServiceDescriptor$4(instrumentation) {
57363
+ function buildServiceDescriptor$8(instrumentation) {
57349
57364
  return {
57350
57365
  type: "instrumentCommand",
57351
57366
  version: "1.0",
@@ -57615,7 +57630,7 @@ class O11yInstrumentation {
57615
57630
  this.metrics = new O11yOTelMetricsAPI(this.services);
57616
57631
  }
57617
57632
  }
57618
- function buildServiceDescriptor$3(logger) {
57633
+ function buildServiceDescriptor$7(logger) {
57619
57634
  return {
57620
57635
  type: "instrumentation",
57621
57636
  version: "1.0",
@@ -57725,7 +57740,7 @@ class DefaultPubSubService {
57725
57740
  return matchingSubscriptions;
57726
57741
  }
57727
57742
  }
57728
- function buildServiceDescriptor$2() {
57743
+ function buildServiceDescriptor$6() {
57729
57744
  return {
57730
57745
  type: "pubSub",
57731
57746
  version: "1.0",
@@ -57733,6 +57748,1237 @@ function buildServiceDescriptor$2() {
57733
57748
  };
57734
57749
  }
57735
57750
 
57751
+ /*!
57752
+ * Copyright (c) 2022, Salesforce, Inc.,
57753
+ * All rights reserved.
57754
+ * For full license text, see the LICENSE.txt file
57755
+ */
57756
+ class FeatureFlagsService {
57757
+ constructor() {
57758
+ this.flags = /* @__PURE__ */ new Map();
57759
+ }
57760
+ set(flagName, value) {
57761
+ this.flags.set(flagName, value);
57762
+ }
57763
+ get(flagName, defaultValue = false) {
57764
+ return this.flags.get(flagName) || defaultValue;
57765
+ }
57766
+ }
57767
+ function buildServiceDescriptor$5() {
57768
+ return {
57769
+ version: "1.0",
57770
+ service: new FeatureFlagsService(),
57771
+ type: "featureFlags"
57772
+ };
57773
+ }
57774
+
57775
+ /**
57776
+ * Copyright (c) 2022, Salesforce, Inc.,
57777
+ * All rights reserved.
57778
+ * For full license text, see the LICENSE.txt file
57779
+ */
57780
+
57781
+ /*
57782
+ * ATTENTION!
57783
+ * THIS IS A GENERATED FILE FROM https://github.com/salesforce-experience-platform-emu/lds-lightning-platform
57784
+ * If you would like to contribute to LDS, please follow the steps outlined in the git repo.
57785
+ * Any changes made to this file in p4 will be automatically overwritten.
57786
+ * *******************************************************************************************
57787
+ */
57788
+ /* proxy-compat-disable */
57789
+ /**
57790
+ * Creates a LuvioService descriptor with the provided Luvio instance.
57791
+ * This function follows the standard service builder pattern used
57792
+ * throughout the Luvio service ecosystem.
57793
+ *
57794
+ * @param luvio The Luvio engine instance to wrap in the service
57795
+ * @returns A service descriptor that can be used in dependency injection
57796
+ *
57797
+ * @example
57798
+ * ```typescript
57799
+ * const luvioService = buildLuvioService(myLuvioInstance);
57800
+ *
57801
+ * // Use in a services object
57802
+ * const services = {
57803
+ * ...otherServices,
57804
+ * luvio: luvioService.service,
57805
+ * };
57806
+ * ```
57807
+ */
57808
+ function buildServiceDescriptor$4(luvio) {
57809
+ return {
57810
+ type: 'luvio',
57811
+ version: '1.0',
57812
+ service: {
57813
+ luvio,
57814
+ },
57815
+ };
57816
+ }
57817
+ // version: 1.377.0-b0d5c49e07
57818
+
57819
+ /*!
57820
+ * Copyright (c) 2022, Salesforce, Inc.,
57821
+ * All rights reserved.
57822
+ * For full license text, see the LICENSE.txt file
57823
+ */
57824
+ function devAssert(condition, message) {
57825
+ const booleanCondition = Boolean(condition);
57826
+ if (!booleanCondition) {
57827
+ throw new Error(message);
57828
+ }
57829
+ }
57830
+ const MAX_ARRAY_LENGTH = 10;
57831
+ const MAX_RECURSIVE_DEPTH = 2;
57832
+ function inspect(value) {
57833
+ return formatValue(value, []);
57834
+ }
57835
+ function formatValue(value, seenValues) {
57836
+ switch (typeof value) {
57837
+ case "string":
57838
+ return JSON.stringify(value);
57839
+ case "function":
57840
+ return value.name ? `[function ${value.name}]` : "[function]";
57841
+ case "object":
57842
+ return formatObjectValue(value, seenValues);
57843
+ default:
57844
+ return String(value);
57845
+ }
57846
+ }
57847
+ function formatObjectValue(value, previouslySeenValues) {
57848
+ if (value === null) {
57849
+ return "null";
57850
+ }
57851
+ if (previouslySeenValues.includes(value)) {
57852
+ return "[Circular]";
57853
+ }
57854
+ const seenValues = [...previouslySeenValues, value];
57855
+ if (isJSONable(value)) {
57856
+ const jsonValue = value.toJSON();
57857
+ if (jsonValue !== value) {
57858
+ return typeof jsonValue === "string" ? jsonValue : formatValue(jsonValue, seenValues);
57859
+ }
57860
+ } else if (Array.isArray(value)) {
57861
+ return formatArray(value, seenValues);
57862
+ }
57863
+ return formatObject(value, seenValues);
57864
+ }
57865
+ function isJSONable(value) {
57866
+ return typeof value.toJSON === "function";
57867
+ }
57868
+ function formatObject(object, seenValues) {
57869
+ const entries = Object.entries(object);
57870
+ if (entries.length === 0) {
57871
+ return "{}";
57872
+ }
57873
+ if (seenValues.length > MAX_RECURSIVE_DEPTH) {
57874
+ return "[" + getObjectTag(object) + "]";
57875
+ }
57876
+ const properties = entries.map(
57877
+ ([key, value]) => key + ": " + formatValue(value, seenValues)
57878
+ );
57879
+ return "{ " + properties.join(", ") + " }";
57880
+ }
57881
+ function formatArray(array, seenValues) {
57882
+ if (array.length === 0) {
57883
+ return "[]";
57884
+ }
57885
+ if (seenValues.length > MAX_RECURSIVE_DEPTH) {
57886
+ return "[Array]";
57887
+ }
57888
+ const len = Math.min(MAX_ARRAY_LENGTH, array.length);
57889
+ const remaining = array.length - len;
57890
+ const items = [];
57891
+ for (let i = 0; i < len; ++i) {
57892
+ items.push(formatValue(array[i], seenValues));
57893
+ }
57894
+ if (remaining === 1) {
57895
+ items.push("... 1 more item");
57896
+ } else if (remaining > 1) {
57897
+ items.push(`... ${remaining} more items`);
57898
+ }
57899
+ return "[" + items.join(", ") + "]";
57900
+ }
57901
+ function getObjectTag(object) {
57902
+ const tag = Object.prototype.toString.call(object).replace(/^\[object /, "").replace(/]$/, "");
57903
+ if (tag === "Object" && typeof object.constructor === "function") {
57904
+ const name = object.constructor.name;
57905
+ if (typeof name === "string" && name !== "") {
57906
+ return name;
57907
+ }
57908
+ }
57909
+ return tag;
57910
+ }
57911
+ globalThis.process && // eslint-disable-next-line no-undef
57912
+ process.env.NODE_ENV === "production";
57913
+ var Kind;
57914
+ (function(Kind2) {
57915
+ Kind2["NAME"] = "Name";
57916
+ Kind2["DOCUMENT"] = "Document";
57917
+ Kind2["OPERATION_DEFINITION"] = "OperationDefinition";
57918
+ Kind2["VARIABLE_DEFINITION"] = "VariableDefinition";
57919
+ Kind2["SELECTION_SET"] = "SelectionSet";
57920
+ Kind2["FIELD"] = "Field";
57921
+ Kind2["ARGUMENT"] = "Argument";
57922
+ Kind2["FRAGMENT_SPREAD"] = "FragmentSpread";
57923
+ Kind2["INLINE_FRAGMENT"] = "InlineFragment";
57924
+ Kind2["FRAGMENT_DEFINITION"] = "FragmentDefinition";
57925
+ Kind2["VARIABLE"] = "Variable";
57926
+ Kind2["INT"] = "IntValue";
57927
+ Kind2["FLOAT"] = "FloatValue";
57928
+ Kind2["STRING"] = "StringValue";
57929
+ Kind2["BOOLEAN"] = "BooleanValue";
57930
+ Kind2["NULL"] = "NullValue";
57931
+ Kind2["ENUM"] = "EnumValue";
57932
+ Kind2["LIST"] = "ListValue";
57933
+ Kind2["OBJECT"] = "ObjectValue";
57934
+ Kind2["OBJECT_FIELD"] = "ObjectField";
57935
+ Kind2["DIRECTIVE"] = "Directive";
57936
+ Kind2["NAMED_TYPE"] = "NamedType";
57937
+ Kind2["LIST_TYPE"] = "ListType";
57938
+ Kind2["NON_NULL_TYPE"] = "NonNullType";
57939
+ Kind2["SCHEMA_DEFINITION"] = "SchemaDefinition";
57940
+ Kind2["OPERATION_TYPE_DEFINITION"] = "OperationTypeDefinition";
57941
+ Kind2["SCALAR_TYPE_DEFINITION"] = "ScalarTypeDefinition";
57942
+ Kind2["OBJECT_TYPE_DEFINITION"] = "ObjectTypeDefinition";
57943
+ Kind2["FIELD_DEFINITION"] = "FieldDefinition";
57944
+ Kind2["INPUT_VALUE_DEFINITION"] = "InputValueDefinition";
57945
+ Kind2["INTERFACE_TYPE_DEFINITION"] = "InterfaceTypeDefinition";
57946
+ Kind2["UNION_TYPE_DEFINITION"] = "UnionTypeDefinition";
57947
+ Kind2["ENUM_TYPE_DEFINITION"] = "EnumTypeDefinition";
57948
+ Kind2["ENUM_VALUE_DEFINITION"] = "EnumValueDefinition";
57949
+ Kind2["INPUT_OBJECT_TYPE_DEFINITION"] = "InputObjectTypeDefinition";
57950
+ Kind2["DIRECTIVE_DEFINITION"] = "DirectiveDefinition";
57951
+ Kind2["SCHEMA_EXTENSION"] = "SchemaExtension";
57952
+ Kind2["SCALAR_TYPE_EXTENSION"] = "ScalarTypeExtension";
57953
+ Kind2["OBJECT_TYPE_EXTENSION"] = "ObjectTypeExtension";
57954
+ Kind2["INTERFACE_TYPE_EXTENSION"] = "InterfaceTypeExtension";
57955
+ Kind2["UNION_TYPE_EXTENSION"] = "UnionTypeExtension";
57956
+ Kind2["ENUM_TYPE_EXTENSION"] = "EnumTypeExtension";
57957
+ Kind2["INPUT_OBJECT_TYPE_EXTENSION"] = "InputObjectTypeExtension";
57958
+ })(Kind || (Kind = {}));
57959
+ var TokenKind;
57960
+ (function(TokenKind2) {
57961
+ TokenKind2["SOF"] = "<SOF>";
57962
+ TokenKind2["EOF"] = "<EOF>";
57963
+ TokenKind2["BANG"] = "!";
57964
+ TokenKind2["DOLLAR"] = "$";
57965
+ TokenKind2["AMP"] = "&";
57966
+ TokenKind2["PAREN_L"] = "(";
57967
+ TokenKind2["PAREN_R"] = ")";
57968
+ TokenKind2["SPREAD"] = "...";
57969
+ TokenKind2["COLON"] = ":";
57970
+ TokenKind2["EQUALS"] = "=";
57971
+ TokenKind2["AT"] = "@";
57972
+ TokenKind2["BRACKET_L"] = "[";
57973
+ TokenKind2["BRACKET_R"] = "]";
57974
+ TokenKind2["BRACE_L"] = "{";
57975
+ TokenKind2["PIPE"] = "|";
57976
+ TokenKind2["BRACE_R"] = "}";
57977
+ TokenKind2["NAME"] = "Name";
57978
+ TokenKind2["INT"] = "Int";
57979
+ TokenKind2["FLOAT"] = "Float";
57980
+ TokenKind2["STRING"] = "String";
57981
+ TokenKind2["BLOCK_STRING"] = "BlockString";
57982
+ TokenKind2["COMMENT"] = "Comment";
57983
+ })(TokenKind || (TokenKind = {}));
57984
+ const QueryDocumentKeys = {
57985
+ Name: [],
57986
+ Document: ["definitions"],
57987
+ OperationDefinition: [
57988
+ "name",
57989
+ "variableDefinitions",
57990
+ "directives",
57991
+ "selectionSet"
57992
+ ],
57993
+ VariableDefinition: ["variable", "type", "defaultValue", "directives"],
57994
+ Variable: ["name"],
57995
+ SelectionSet: ["selections"],
57996
+ Field: ["alias", "name", "arguments", "directives", "selectionSet"],
57997
+ Argument: ["name", "value"],
57998
+ FragmentSpread: ["name", "directives"],
57999
+ InlineFragment: ["typeCondition", "directives", "selectionSet"],
58000
+ FragmentDefinition: [
58001
+ "name",
58002
+ // Note: fragment variable definitions are deprecated and will removed in v17.0.0
58003
+ "variableDefinitions",
58004
+ "typeCondition",
58005
+ "directives",
58006
+ "selectionSet"
58007
+ ],
58008
+ IntValue: [],
58009
+ FloatValue: [],
58010
+ StringValue: [],
58011
+ BooleanValue: [],
58012
+ NullValue: [],
58013
+ EnumValue: [],
58014
+ ListValue: ["values"],
58015
+ ObjectValue: ["fields"],
58016
+ ObjectField: ["name", "value"],
58017
+ Directive: ["name", "arguments"],
58018
+ NamedType: ["name"],
58019
+ ListType: ["type"],
58020
+ NonNullType: ["type"],
58021
+ SchemaDefinition: ["description", "directives", "operationTypes"],
58022
+ OperationTypeDefinition: ["type"],
58023
+ ScalarTypeDefinition: ["description", "name", "directives"],
58024
+ ObjectTypeDefinition: [
58025
+ "description",
58026
+ "name",
58027
+ "interfaces",
58028
+ "directives",
58029
+ "fields"
58030
+ ],
58031
+ FieldDefinition: ["description", "name", "arguments", "type", "directives"],
58032
+ InputValueDefinition: [
58033
+ "description",
58034
+ "name",
58035
+ "type",
58036
+ "defaultValue",
58037
+ "directives"
58038
+ ],
58039
+ InterfaceTypeDefinition: [
58040
+ "description",
58041
+ "name",
58042
+ "interfaces",
58043
+ "directives",
58044
+ "fields"
58045
+ ],
58046
+ UnionTypeDefinition: ["description", "name", "directives", "types"],
58047
+ EnumTypeDefinition: ["description", "name", "directives", "values"],
58048
+ EnumValueDefinition: ["description", "name", "directives"],
58049
+ InputObjectTypeDefinition: ["description", "name", "directives", "fields"],
58050
+ DirectiveDefinition: ["description", "name", "arguments", "locations"],
58051
+ SchemaExtension: ["directives", "operationTypes"],
58052
+ ScalarTypeExtension: ["name", "directives"],
58053
+ ObjectTypeExtension: ["name", "interfaces", "directives", "fields"],
58054
+ InterfaceTypeExtension: ["name", "interfaces", "directives", "fields"],
58055
+ UnionTypeExtension: ["name", "directives", "types"],
58056
+ EnumTypeExtension: ["name", "directives", "values"],
58057
+ InputObjectTypeExtension: ["name", "directives", "fields"]
58058
+ };
58059
+ const kindValues = new Set(Object.keys(QueryDocumentKeys));
58060
+ function isNode(maybeNode) {
58061
+ const maybeKind = maybeNode === null || maybeNode === void 0 ? void 0 : maybeNode.kind;
58062
+ return typeof maybeKind === "string" && kindValues.has(maybeKind);
58063
+ }
58064
+ var OperationTypeNode;
58065
+ (function(OperationTypeNode2) {
58066
+ OperationTypeNode2["QUERY"] = "query";
58067
+ OperationTypeNode2["MUTATION"] = "mutation";
58068
+ OperationTypeNode2["SUBSCRIPTION"] = "subscription";
58069
+ })(OperationTypeNode || (OperationTypeNode = {}));
58070
+ function isWhiteSpace(code) {
58071
+ return code === 9 || code === 32;
58072
+ }
58073
+ function printBlockString(value, options) {
58074
+ const escapedValue = value.replace(/"""/g, '\\"""');
58075
+ const lines = escapedValue.split(/\r\n|[\n\r]/g);
58076
+ const isSingleLine = lines.length === 1;
58077
+ const forceLeadingNewLine = lines.length > 1 && lines.slice(1).every((line) => line.length === 0 || isWhiteSpace(line.charCodeAt(0)));
58078
+ const hasTrailingTripleQuotes = escapedValue.endsWith('\\"""');
58079
+ const hasTrailingQuote = value.endsWith('"') && !hasTrailingTripleQuotes;
58080
+ const hasTrailingSlash = value.endsWith("\\");
58081
+ const forceTrailingNewline = hasTrailingQuote || hasTrailingSlash;
58082
+ const printAsMultipleLines = !(options !== null && options !== void 0 && options.minimize) && // add leading and trailing new lines only if it improves readability
58083
+ (!isSingleLine || value.length > 70 || forceTrailingNewline || forceLeadingNewLine || hasTrailingTripleQuotes);
58084
+ let result = "";
58085
+ const skipLeadingNewLine = isSingleLine && isWhiteSpace(value.charCodeAt(0));
58086
+ if (printAsMultipleLines && !skipLeadingNewLine || forceLeadingNewLine) {
58087
+ result += "\n";
58088
+ }
58089
+ result += escapedValue;
58090
+ if (printAsMultipleLines || forceTrailingNewline) {
58091
+ result += "\n";
58092
+ }
58093
+ return '"""' + result + '"""';
58094
+ }
58095
+ var DirectiveLocation;
58096
+ (function(DirectiveLocation2) {
58097
+ DirectiveLocation2["QUERY"] = "QUERY";
58098
+ DirectiveLocation2["MUTATION"] = "MUTATION";
58099
+ DirectiveLocation2["SUBSCRIPTION"] = "SUBSCRIPTION";
58100
+ DirectiveLocation2["FIELD"] = "FIELD";
58101
+ DirectiveLocation2["FRAGMENT_DEFINITION"] = "FRAGMENT_DEFINITION";
58102
+ DirectiveLocation2["FRAGMENT_SPREAD"] = "FRAGMENT_SPREAD";
58103
+ DirectiveLocation2["INLINE_FRAGMENT"] = "INLINE_FRAGMENT";
58104
+ DirectiveLocation2["VARIABLE_DEFINITION"] = "VARIABLE_DEFINITION";
58105
+ DirectiveLocation2["SCHEMA"] = "SCHEMA";
58106
+ DirectiveLocation2["SCALAR"] = "SCALAR";
58107
+ DirectiveLocation2["OBJECT"] = "OBJECT";
58108
+ DirectiveLocation2["FIELD_DEFINITION"] = "FIELD_DEFINITION";
58109
+ DirectiveLocation2["ARGUMENT_DEFINITION"] = "ARGUMENT_DEFINITION";
58110
+ DirectiveLocation2["INTERFACE"] = "INTERFACE";
58111
+ DirectiveLocation2["UNION"] = "UNION";
58112
+ DirectiveLocation2["ENUM"] = "ENUM";
58113
+ DirectiveLocation2["ENUM_VALUE"] = "ENUM_VALUE";
58114
+ DirectiveLocation2["INPUT_OBJECT"] = "INPUT_OBJECT";
58115
+ DirectiveLocation2["INPUT_FIELD_DEFINITION"] = "INPUT_FIELD_DEFINITION";
58116
+ })(DirectiveLocation || (DirectiveLocation = {}));
58117
+ function printString(str) {
58118
+ return `"${str.replace(escapedRegExp, escapedReplacer)}"`;
58119
+ }
58120
+ const escapedRegExp = /[\x00-\x1f\x22\x5c\x7f-\x9f]/g;
58121
+ function escapedReplacer(str) {
58122
+ return escapeSequences[str.charCodeAt(0)];
58123
+ }
58124
+ const escapeSequences = [
58125
+ "\\u0000",
58126
+ "\\u0001",
58127
+ "\\u0002",
58128
+ "\\u0003",
58129
+ "\\u0004",
58130
+ "\\u0005",
58131
+ "\\u0006",
58132
+ "\\u0007",
58133
+ "\\b",
58134
+ "\\t",
58135
+ "\\n",
58136
+ "\\u000B",
58137
+ "\\f",
58138
+ "\\r",
58139
+ "\\u000E",
58140
+ "\\u000F",
58141
+ "\\u0010",
58142
+ "\\u0011",
58143
+ "\\u0012",
58144
+ "\\u0013",
58145
+ "\\u0014",
58146
+ "\\u0015",
58147
+ "\\u0016",
58148
+ "\\u0017",
58149
+ "\\u0018",
58150
+ "\\u0019",
58151
+ "\\u001A",
58152
+ "\\u001B",
58153
+ "\\u001C",
58154
+ "\\u001D",
58155
+ "\\u001E",
58156
+ "\\u001F",
58157
+ "",
58158
+ "",
58159
+ '\\"',
58160
+ "",
58161
+ "",
58162
+ "",
58163
+ "",
58164
+ "",
58165
+ "",
58166
+ "",
58167
+ "",
58168
+ "",
58169
+ "",
58170
+ "",
58171
+ "",
58172
+ "",
58173
+ // 2F
58174
+ "",
58175
+ "",
58176
+ "",
58177
+ "",
58178
+ "",
58179
+ "",
58180
+ "",
58181
+ "",
58182
+ "",
58183
+ "",
58184
+ "",
58185
+ "",
58186
+ "",
58187
+ "",
58188
+ "",
58189
+ "",
58190
+ // 3F
58191
+ "",
58192
+ "",
58193
+ "",
58194
+ "",
58195
+ "",
58196
+ "",
58197
+ "",
58198
+ "",
58199
+ "",
58200
+ "",
58201
+ "",
58202
+ "",
58203
+ "",
58204
+ "",
58205
+ "",
58206
+ "",
58207
+ // 4F
58208
+ "",
58209
+ "",
58210
+ "",
58211
+ "",
58212
+ "",
58213
+ "",
58214
+ "",
58215
+ "",
58216
+ "",
58217
+ "",
58218
+ "",
58219
+ "",
58220
+ "\\\\",
58221
+ "",
58222
+ "",
58223
+ "",
58224
+ // 5F
58225
+ "",
58226
+ "",
58227
+ "",
58228
+ "",
58229
+ "",
58230
+ "",
58231
+ "",
58232
+ "",
58233
+ "",
58234
+ "",
58235
+ "",
58236
+ "",
58237
+ "",
58238
+ "",
58239
+ "",
58240
+ "",
58241
+ // 6F
58242
+ "",
58243
+ "",
58244
+ "",
58245
+ "",
58246
+ "",
58247
+ "",
58248
+ "",
58249
+ "",
58250
+ "",
58251
+ "",
58252
+ "",
58253
+ "",
58254
+ "",
58255
+ "",
58256
+ "",
58257
+ "\\u007F",
58258
+ "\\u0080",
58259
+ "\\u0081",
58260
+ "\\u0082",
58261
+ "\\u0083",
58262
+ "\\u0084",
58263
+ "\\u0085",
58264
+ "\\u0086",
58265
+ "\\u0087",
58266
+ "\\u0088",
58267
+ "\\u0089",
58268
+ "\\u008A",
58269
+ "\\u008B",
58270
+ "\\u008C",
58271
+ "\\u008D",
58272
+ "\\u008E",
58273
+ "\\u008F",
58274
+ "\\u0090",
58275
+ "\\u0091",
58276
+ "\\u0092",
58277
+ "\\u0093",
58278
+ "\\u0094",
58279
+ "\\u0095",
58280
+ "\\u0096",
58281
+ "\\u0097",
58282
+ "\\u0098",
58283
+ "\\u0099",
58284
+ "\\u009A",
58285
+ "\\u009B",
58286
+ "\\u009C",
58287
+ "\\u009D",
58288
+ "\\u009E",
58289
+ "\\u009F"
58290
+ ];
58291
+ const BREAK = Object.freeze({});
58292
+ function visit(root, visitor, visitorKeys = QueryDocumentKeys) {
58293
+ const enterLeaveMap = /* @__PURE__ */ new Map();
58294
+ for (const kind of Object.values(Kind)) {
58295
+ enterLeaveMap.set(kind, getEnterLeaveForKind(visitor, kind));
58296
+ }
58297
+ let stack = void 0;
58298
+ let inArray = Array.isArray(root);
58299
+ let keys = [root];
58300
+ let index = -1;
58301
+ let edits = [];
58302
+ let node = root;
58303
+ let key = void 0;
58304
+ let parent = void 0;
58305
+ const path = [];
58306
+ const ancestors = [];
58307
+ do {
58308
+ index++;
58309
+ const isLeaving = index === keys.length;
58310
+ const isEdited = isLeaving && edits.length !== 0;
58311
+ if (isLeaving) {
58312
+ key = ancestors.length === 0 ? void 0 : path[path.length - 1];
58313
+ node = parent;
58314
+ parent = ancestors.pop();
58315
+ if (isEdited) {
58316
+ if (inArray) {
58317
+ node = node.slice();
58318
+ let editOffset = 0;
58319
+ for (const [editKey, editValue] of edits) {
58320
+ const arrayKey = editKey - editOffset;
58321
+ if (editValue === null) {
58322
+ node.splice(arrayKey, 1);
58323
+ editOffset++;
58324
+ } else {
58325
+ node[arrayKey] = editValue;
58326
+ }
58327
+ }
58328
+ } else {
58329
+ node = { ...node };
58330
+ for (const [editKey, editValue] of edits) {
58331
+ node[editKey] = editValue;
58332
+ }
58333
+ }
58334
+ }
58335
+ index = stack.index;
58336
+ keys = stack.keys;
58337
+ edits = stack.edits;
58338
+ inArray = stack.inArray;
58339
+ stack = stack.prev;
58340
+ } else if (parent) {
58341
+ key = inArray ? index : keys[index];
58342
+ node = parent[key];
58343
+ if (node === null || node === void 0) {
58344
+ continue;
58345
+ }
58346
+ path.push(key);
58347
+ }
58348
+ let result;
58349
+ if (!Array.isArray(node)) {
58350
+ var _enterLeaveMap$get, _enterLeaveMap$get2;
58351
+ isNode(node) || devAssert(false, `Invalid AST Node: ${inspect(node)}.`);
58352
+ const visitFn = isLeaving ? (_enterLeaveMap$get = enterLeaveMap.get(node.kind)) === null || _enterLeaveMap$get === void 0 ? void 0 : _enterLeaveMap$get.leave : (_enterLeaveMap$get2 = enterLeaveMap.get(node.kind)) === null || _enterLeaveMap$get2 === void 0 ? void 0 : _enterLeaveMap$get2.enter;
58353
+ result = visitFn === null || visitFn === void 0 ? void 0 : visitFn.call(visitor, node, key, parent, path, ancestors);
58354
+ if (result === BREAK) {
58355
+ break;
58356
+ }
58357
+ if (result === false) {
58358
+ if (!isLeaving) {
58359
+ path.pop();
58360
+ continue;
58361
+ }
58362
+ } else if (result !== void 0) {
58363
+ edits.push([key, result]);
58364
+ if (!isLeaving) {
58365
+ if (isNode(result)) {
58366
+ node = result;
58367
+ } else {
58368
+ path.pop();
58369
+ continue;
58370
+ }
58371
+ }
58372
+ }
58373
+ }
58374
+ if (result === void 0 && isEdited) {
58375
+ edits.push([key, node]);
58376
+ }
58377
+ if (isLeaving) {
58378
+ path.pop();
58379
+ } else {
58380
+ var _node$kind;
58381
+ stack = {
58382
+ inArray,
58383
+ index,
58384
+ keys,
58385
+ edits,
58386
+ prev: stack
58387
+ };
58388
+ inArray = Array.isArray(node);
58389
+ keys = inArray ? node : (_node$kind = visitorKeys[node.kind]) !== null && _node$kind !== void 0 ? _node$kind : [];
58390
+ index = -1;
58391
+ edits = [];
58392
+ if (parent) {
58393
+ ancestors.push(parent);
58394
+ }
58395
+ parent = node;
58396
+ }
58397
+ } while (stack !== void 0);
58398
+ if (edits.length !== 0) {
58399
+ return edits[edits.length - 1][1];
58400
+ }
58401
+ return root;
58402
+ }
58403
+ function getEnterLeaveForKind(visitor, kind) {
58404
+ const kindVisitor = visitor[kind];
58405
+ if (typeof kindVisitor === "object") {
58406
+ return kindVisitor;
58407
+ } else if (typeof kindVisitor === "function") {
58408
+ return {
58409
+ enter: kindVisitor,
58410
+ leave: void 0
58411
+ };
58412
+ }
58413
+ return {
58414
+ enter: visitor.enter,
58415
+ leave: visitor.leave
58416
+ };
58417
+ }
58418
+ function print(ast) {
58419
+ return visit(ast, printDocASTReducer);
58420
+ }
58421
+ const MAX_LINE_LENGTH = 80;
58422
+ const printDocASTReducer = {
58423
+ Name: {
58424
+ leave: (node) => node.value
58425
+ },
58426
+ Variable: {
58427
+ leave: (node) => "$" + node.name
58428
+ },
58429
+ // Document
58430
+ Document: {
58431
+ leave: (node) => join(node.definitions, "\n\n")
58432
+ },
58433
+ OperationDefinition: {
58434
+ leave(node) {
58435
+ const varDefs = wrap("(", join(node.variableDefinitions, ", "), ")");
58436
+ const prefix = join(
58437
+ [
58438
+ node.operation,
58439
+ join([node.name, varDefs]),
58440
+ join(node.directives, " ")
58441
+ ],
58442
+ " "
58443
+ );
58444
+ return (prefix === "query" ? "" : prefix + " ") + node.selectionSet;
58445
+ }
58446
+ },
58447
+ VariableDefinition: {
58448
+ leave: ({ variable, type, defaultValue, directives }) => variable + ": " + type + wrap(" = ", defaultValue) + wrap(" ", join(directives, " "))
58449
+ },
58450
+ SelectionSet: {
58451
+ leave: ({ selections }) => block(selections)
58452
+ },
58453
+ Field: {
58454
+ leave({ alias, name, arguments: args, directives, selectionSet }) {
58455
+ const prefix = wrap("", alias, ": ") + name;
58456
+ let argsLine = prefix + wrap("(", join(args, ", "), ")");
58457
+ if (argsLine.length > MAX_LINE_LENGTH) {
58458
+ argsLine = prefix + wrap("(\n", indent(join(args, "\n")), "\n)");
58459
+ }
58460
+ return join([argsLine, join(directives, " "), selectionSet], " ");
58461
+ }
58462
+ },
58463
+ Argument: {
58464
+ leave: ({ name, value }) => name + ": " + value
58465
+ },
58466
+ // Fragments
58467
+ FragmentSpread: {
58468
+ leave: ({ name, directives }) => "..." + name + wrap(" ", join(directives, " "))
58469
+ },
58470
+ InlineFragment: {
58471
+ leave: ({ typeCondition, directives, selectionSet }) => join(
58472
+ [
58473
+ "...",
58474
+ wrap("on ", typeCondition),
58475
+ join(directives, " "),
58476
+ selectionSet
58477
+ ],
58478
+ " "
58479
+ )
58480
+ },
58481
+ FragmentDefinition: {
58482
+ leave: ({ name, typeCondition, variableDefinitions, directives, selectionSet }) => (
58483
+ // or removed in the future.
58484
+ `fragment ${name}${wrap("(", join(variableDefinitions, ", "), ")")} on ${typeCondition} ${wrap("", join(directives, " "), " ")}` + selectionSet
58485
+ )
58486
+ },
58487
+ // Value
58488
+ IntValue: {
58489
+ leave: ({ value }) => value
58490
+ },
58491
+ FloatValue: {
58492
+ leave: ({ value }) => value
58493
+ },
58494
+ StringValue: {
58495
+ leave: ({ value, block: isBlockString }) => isBlockString ? printBlockString(value) : printString(value)
58496
+ },
58497
+ BooleanValue: {
58498
+ leave: ({ value }) => value ? "true" : "false"
58499
+ },
58500
+ NullValue: {
58501
+ leave: () => "null"
58502
+ },
58503
+ EnumValue: {
58504
+ leave: ({ value }) => value
58505
+ },
58506
+ ListValue: {
58507
+ leave: ({ values }) => "[" + join(values, ", ") + "]"
58508
+ },
58509
+ ObjectValue: {
58510
+ leave: ({ fields }) => "{" + join(fields, ", ") + "}"
58511
+ },
58512
+ ObjectField: {
58513
+ leave: ({ name, value }) => name + ": " + value
58514
+ },
58515
+ // Directive
58516
+ Directive: {
58517
+ leave: ({ name, arguments: args }) => "@" + name + wrap("(", join(args, ", "), ")")
58518
+ },
58519
+ // Type
58520
+ NamedType: {
58521
+ leave: ({ name }) => name
58522
+ },
58523
+ ListType: {
58524
+ leave: ({ type }) => "[" + type + "]"
58525
+ },
58526
+ NonNullType: {
58527
+ leave: ({ type }) => type + "!"
58528
+ },
58529
+ // Type System Definitions
58530
+ SchemaDefinition: {
58531
+ leave: ({ description, directives, operationTypes }) => wrap("", description, "\n") + join(["schema", join(directives, " "), block(operationTypes)], " ")
58532
+ },
58533
+ OperationTypeDefinition: {
58534
+ leave: ({ operation, type }) => operation + ": " + type
58535
+ },
58536
+ ScalarTypeDefinition: {
58537
+ leave: ({ description, name, directives }) => wrap("", description, "\n") + join(["scalar", name, join(directives, " ")], " ")
58538
+ },
58539
+ ObjectTypeDefinition: {
58540
+ leave: ({ description, name, interfaces, directives, fields }) => wrap("", description, "\n") + join(
58541
+ [
58542
+ "type",
58543
+ name,
58544
+ wrap("implements ", join(interfaces, " & ")),
58545
+ join(directives, " "),
58546
+ block(fields)
58547
+ ],
58548
+ " "
58549
+ )
58550
+ },
58551
+ FieldDefinition: {
58552
+ leave: ({ description, name, arguments: args, type, directives }) => wrap("", description, "\n") + name + (hasMultilineItems(args) ? wrap("(\n", indent(join(args, "\n")), "\n)") : wrap("(", join(args, ", "), ")")) + ": " + type + wrap(" ", join(directives, " "))
58553
+ },
58554
+ InputValueDefinition: {
58555
+ leave: ({ description, name, type, defaultValue, directives }) => wrap("", description, "\n") + join(
58556
+ [name + ": " + type, wrap("= ", defaultValue), join(directives, " ")],
58557
+ " "
58558
+ )
58559
+ },
58560
+ InterfaceTypeDefinition: {
58561
+ leave: ({ description, name, interfaces, directives, fields }) => wrap("", description, "\n") + join(
58562
+ [
58563
+ "interface",
58564
+ name,
58565
+ wrap("implements ", join(interfaces, " & ")),
58566
+ join(directives, " "),
58567
+ block(fields)
58568
+ ],
58569
+ " "
58570
+ )
58571
+ },
58572
+ UnionTypeDefinition: {
58573
+ leave: ({ description, name, directives, types }) => wrap("", description, "\n") + join(
58574
+ ["union", name, join(directives, " "), wrap("= ", join(types, " | "))],
58575
+ " "
58576
+ )
58577
+ },
58578
+ EnumTypeDefinition: {
58579
+ leave: ({ description, name, directives, values }) => wrap("", description, "\n") + join(["enum", name, join(directives, " "), block(values)], " ")
58580
+ },
58581
+ EnumValueDefinition: {
58582
+ leave: ({ description, name, directives }) => wrap("", description, "\n") + join([name, join(directives, " ")], " ")
58583
+ },
58584
+ InputObjectTypeDefinition: {
58585
+ leave: ({ description, name, directives, fields }) => wrap("", description, "\n") + join(["input", name, join(directives, " "), block(fields)], " ")
58586
+ },
58587
+ DirectiveDefinition: {
58588
+ leave: ({ description, name, arguments: args, repeatable, locations }) => wrap("", description, "\n") + "directive @" + name + (hasMultilineItems(args) ? wrap("(\n", indent(join(args, "\n")), "\n)") : wrap("(", join(args, ", "), ")")) + (repeatable ? " repeatable" : "") + " on " + join(locations, " | ")
58589
+ },
58590
+ SchemaExtension: {
58591
+ leave: ({ directives, operationTypes }) => join(
58592
+ ["extend schema", join(directives, " "), block(operationTypes)],
58593
+ " "
58594
+ )
58595
+ },
58596
+ ScalarTypeExtension: {
58597
+ leave: ({ name, directives }) => join(["extend scalar", name, join(directives, " ")], " ")
58598
+ },
58599
+ ObjectTypeExtension: {
58600
+ leave: ({ name, interfaces, directives, fields }) => join(
58601
+ [
58602
+ "extend type",
58603
+ name,
58604
+ wrap("implements ", join(interfaces, " & ")),
58605
+ join(directives, " "),
58606
+ block(fields)
58607
+ ],
58608
+ " "
58609
+ )
58610
+ },
58611
+ InterfaceTypeExtension: {
58612
+ leave: ({ name, interfaces, directives, fields }) => join(
58613
+ [
58614
+ "extend interface",
58615
+ name,
58616
+ wrap("implements ", join(interfaces, " & ")),
58617
+ join(directives, " "),
58618
+ block(fields)
58619
+ ],
58620
+ " "
58621
+ )
58622
+ },
58623
+ UnionTypeExtension: {
58624
+ leave: ({ name, directives, types }) => join(
58625
+ [
58626
+ "extend union",
58627
+ name,
58628
+ join(directives, " "),
58629
+ wrap("= ", join(types, " | "))
58630
+ ],
58631
+ " "
58632
+ )
58633
+ },
58634
+ EnumTypeExtension: {
58635
+ leave: ({ name, directives, values }) => join(["extend enum", name, join(directives, " "), block(values)], " ")
58636
+ },
58637
+ InputObjectTypeExtension: {
58638
+ leave: ({ name, directives, fields }) => join(["extend input", name, join(directives, " "), block(fields)], " ")
58639
+ }
58640
+ };
58641
+ function join(maybeArray, separator = "") {
58642
+ var _maybeArray$filter$jo;
58643
+ return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter((x) => x).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : "";
58644
+ }
58645
+ function block(array) {
58646
+ return wrap("{\n", indent(join(array, "\n")), "\n}");
58647
+ }
58648
+ function wrap(start, maybeString, end = "") {
58649
+ return maybeString != null && maybeString !== "" ? start + maybeString + end : "";
58650
+ }
58651
+ function indent(str) {
58652
+ return wrap(" ", str.replace(/\n/g, "\n "));
58653
+ }
58654
+ function hasMultilineItems(maybeArray) {
58655
+ var _maybeArray$some;
58656
+ return (_maybeArray$some = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.some((str) => str.includes("\n"))) !== null && _maybeArray$some !== void 0 ? _maybeArray$some : false;
58657
+ }
58658
+
58659
+ /*!
58660
+ * Copyright (c) 2022, Salesforce, Inc.,
58661
+ * All rights reserved.
58662
+ * For full license text, see the LICENSE.txt file
58663
+ */
58664
+ function findExecutableOperation(input) {
58665
+ const operations = input.query.definitions.filter(
58666
+ (def) => def.kind === Kind.OPERATION_DEFINITION
58667
+ );
58668
+ if (operations.length === 0) {
58669
+ return err$1(new Error("No operations found in query"));
58670
+ }
58671
+ if (operations.length === 1 && !input.operationName) {
58672
+ return ok$1(operations[0]);
58673
+ }
58674
+ if (input.operationName) {
58675
+ const specifiedOperation = operations.find((op) => {
58676
+ var _a;
58677
+ return ((_a = op.name) == null ? void 0 : _a.value) === input.operationName;
58678
+ });
58679
+ if (specifiedOperation) {
58680
+ return ok$1(specifiedOperation);
58681
+ }
58682
+ return err$1(new Error(`Operation "${input.operationName}" not found in query`));
58683
+ }
58684
+ return err$1(new Error("Multiple operations found in query, and no operation name provided"));
58685
+ }
58686
+ function buildGraphQLInputExtension(input) {
58687
+ const operationResult = findExecutableOperation(input);
58688
+ if (operationResult.isErr()) {
58689
+ return err$1(operationResult.error);
58690
+ }
58691
+ const operation = operationResult.value;
58692
+ const selections = operation.selectionSet.selections;
58693
+ const variableDefinitions = operation.variableDefinitions;
58694
+ const variables = (variableDefinitions == null ? void 0 : variableDefinitions.reduce((prev, def) => {
58695
+ var _a;
58696
+ prev[def.variable.name.value] = {
58697
+ definition: def,
58698
+ value: (_a = input.variables) == null ? void 0 : _a[def.variable.name.value]
58699
+ };
58700
+ return prev;
58701
+ }, {})) || {};
58702
+ const fragments = input.query.definitions.filter((def) => def.kind === "FragmentDefinition").reduce((prev, fragment) => {
58703
+ prev[fragment.name.value] = fragment;
58704
+ return prev;
58705
+ }, {});
58706
+ return ok$1({
58707
+ selections,
58708
+ request: { definitions: { variables, fragments } },
58709
+ parentFieldSelection: void 0
58710
+ });
58711
+ }
58712
+
58713
+ /*!
58714
+ * Copyright (c) 2022, Salesforce, Inc.,
58715
+ * All rights reserved.
58716
+ * For full license text, see the LICENSE.txt file
58717
+ */
58718
+ class AuraGraphQLNormalizedCacheControlCommand extends AuraNormalizedCacheControlCommand {
58719
+ constructor(config, documentRootType, services) {
58720
+ super(services);
58721
+ this.config = config;
58722
+ this.documentRootType = documentRootType;
58723
+ this.services = services;
58724
+ }
58725
+ buildResultType() {
58726
+ return this.documentRootType;
58727
+ }
58728
+ buildQuery() {
58729
+ const extensionResult = buildGraphQLInputExtension(this.config);
58730
+ if (extensionResult.isErr()) {
58731
+ throw extensionResult.error;
58732
+ }
58733
+ return {
58734
+ type: "keyParams",
58735
+ keyParams: null,
58736
+ ...extensionResult.value
58737
+ };
58738
+ }
58739
+ responseHasErrors(data) {
58740
+ return data.hasOwnProperty("errors") && data.errors && data.errors.length > 0;
58741
+ }
58742
+ processAuraReturnValue(auraReturnValue) {
58743
+ if (this.responseHasErrors(auraReturnValue)) {
58744
+ return err$1(new UserVisibleError(auraReturnValue));
58745
+ }
58746
+ return ok$1(auraReturnValue);
58747
+ }
58748
+ processFetchReturnValue(json) {
58749
+ if (this.responseHasErrors(json)) {
58750
+ return err$1(new UserVisibleError(json));
58751
+ }
58752
+ return ok$1(json);
58753
+ }
58754
+ /**
58755
+ * Optional body wrapper name for aura requests.
58756
+ * If defined, the aura params will be wrapped in an object with this property name.
58757
+ * Override this method in subclasses if a body wrapper is needed.
58758
+ */
58759
+ get auraBodyWrapperName() {
58760
+ return void 0;
58761
+ }
58762
+ get auraParams() {
58763
+ const params = { ...this.config, query: print(this.buildRequestQuery()) };
58764
+ if (this.auraBodyWrapperName) {
58765
+ return { [this.auraBodyWrapperName]: params };
58766
+ }
58767
+ return params;
58768
+ }
58769
+ get fetchParams() {
58770
+ const body = { ...this.config, query: print(this.buildRequestQuery()) };
58771
+ const headers = {
58772
+ "Content-Type": "application/json"
58773
+ };
58774
+ const params = {
58775
+ method: "POST",
58776
+ cache: "no-cache",
58777
+ headers,
58778
+ body: JSON.stringify(body)
58779
+ };
58780
+ return [this.url, params];
58781
+ }
58782
+ get originalAuraParams() {
58783
+ const params = { ...this.config, query: print(this.config.query) };
58784
+ if (this.auraBodyWrapperName) {
58785
+ return { [this.auraBodyWrapperName]: params };
58786
+ }
58787
+ return params;
58788
+ }
58789
+ get originalFetchParams() {
58790
+ const body = { ...this.config, query: print(this.config.query) };
58791
+ const headers = {
58792
+ "Content-Type": "application/json"
58793
+ };
58794
+ const params = {
58795
+ method: "POST",
58796
+ cache: "no-cache",
58797
+ headers,
58798
+ body: JSON.stringify(body)
58799
+ };
58800
+ return [this.url, params];
58801
+ }
58802
+ // TODO: We should respect the cache control strategy in this method. We don't support only-if-cached strategies at the moment, but if we did add support, we would technically violate that cache control strategy if the data wasn't in the cache here.
58803
+ runOriginalRequest() {
58804
+ if (this.shouldUseAuraNetwork()) {
58805
+ return this.convertAuraResponseToData(
58806
+ this.services.auraNetwork(
58807
+ this.endpoint,
58808
+ this.originalAuraParams,
58809
+ this.actionConfig
58810
+ ),
58811
+ (errs) => this.coerceError(errs)
58812
+ ).then((result) => {
58813
+ if (result.isOk()) {
58814
+ return this.constructSubscribableResult(result.value);
58815
+ }
58816
+ return result;
58817
+ });
58818
+ } else if (this.shouldUseFetch()) {
58819
+ return this.convertFetchResponseToData(
58820
+ this.services.fetch(...this.originalFetchParams)
58821
+ ).then((result) => {
58822
+ if (result.isOk()) {
58823
+ return this.constructSubscribableResult(result.value);
58824
+ }
58825
+ return result;
58826
+ });
58827
+ }
58828
+ return resolvedPromiseLike$3(err$1(toError("Aura/Fetch network services not found")));
58829
+ }
58830
+ buildRequestQuery() {
58831
+ const augmentedQueryResult = this.documentRootType.buildAugmentedQuery(this.config);
58832
+ if (augmentedQueryResult.isErr()) {
58833
+ throw augmentedQueryResult.error;
58834
+ }
58835
+ return augmentedQueryResult.value;
58836
+ }
58837
+ buildWriteInput(data) {
58838
+ const extensionResult = buildGraphQLInputExtension({
58839
+ ...this.config,
58840
+ query: this.buildRequestQuery()
58841
+ });
58842
+ if (extensionResult.isErr()) {
58843
+ throw new InternalError(extensionResult.error);
58844
+ }
58845
+ return { data: data.data, ...extensionResult.value };
58846
+ }
58847
+ // Any changes to this method should most likely be duplicated in the https command as well
58848
+ handleCacheControllerResult(result, requestRunner) {
58849
+ const { networkError, returnData } = requestRunner;
58850
+ return this.publishUpdatedKeys().then(() => {
58851
+ if (networkError || returnData === void 0 || returnData.isErr() || result.isErr()) {
58852
+ return this.runOriginalRequest();
58853
+ }
58854
+ if (this.subscriptions.length > 0) {
58855
+ this.subscribeToKeysUsed();
58856
+ }
58857
+ if (this.lastEmittedData === void 0) {
58858
+ this.lastEmittedData = returnData.value.data;
58859
+ }
58860
+ return returnData;
58861
+ });
58862
+ }
58863
+ }
58864
+ function buildServiceDescriptor$3() {
58865
+ return {
58866
+ type: "auraGraphQLNormalizedCacheControlCommand",
58867
+ version: "1.0",
58868
+ service: AuraGraphQLNormalizedCacheControlCommand
58869
+ };
58870
+ }
58871
+
58872
+ /*!
58873
+ * Copyright (c) 2022, Salesforce, Inc.,
58874
+ * All rights reserved.
58875
+ * For full license text, see the LICENSE.txt file
58876
+ */
58877
+ class HttpGraphQLNormalizedCacheControlCommand extends HttpNormalizedCacheControlCommand {
58878
+ constructor(config, documentRootType, services) {
58879
+ super(services);
58880
+ this.config = config;
58881
+ this.documentRootType = documentRootType;
58882
+ this.services = services;
58883
+ }
58884
+ buildResultType() {
58885
+ return this.documentRootType;
58886
+ }
58887
+ buildQuery() {
58888
+ const extensionResult = buildGraphQLInputExtension(this.config);
58889
+ if (extensionResult.isErr()) {
58890
+ throw extensionResult.error;
58891
+ }
58892
+ return {
58893
+ type: "keyParams",
58894
+ keyParams: null,
58895
+ ...extensionResult.value
58896
+ };
58897
+ }
58898
+ get fetchParams() {
58899
+ const body = { ...this.config, query: print(this.buildRequestQuery()) };
58900
+ const headers = {
58901
+ "Content-Type": "application/json"
58902
+ };
58903
+ const params = {
58904
+ method: "POST",
58905
+ cache: "no-cache",
58906
+ headers,
58907
+ body: JSON.stringify(body)
58908
+ };
58909
+ return [this.url, params];
58910
+ }
58911
+ get originalFetchParams() {
58912
+ const body = { ...this.config, query: print(this.config.query) };
58913
+ const headers = {
58914
+ "Content-Type": "application/json"
58915
+ };
58916
+ const params = {
58917
+ method: "POST",
58918
+ cache: "no-cache",
58919
+ headers,
58920
+ body: JSON.stringify(body)
58921
+ };
58922
+ return [this.url, params];
58923
+ }
58924
+ buildRequestQuery() {
58925
+ const augmentedQueryResult = this.documentRootType.buildAugmentedQuery(this.config);
58926
+ if (augmentedQueryResult.isErr()) {
58927
+ throw augmentedQueryResult.error;
58928
+ }
58929
+ return augmentedQueryResult.value;
58930
+ }
58931
+ buildWriteInput(data) {
58932
+ const extensionResult = buildGraphQLInputExtension({
58933
+ ...this.config,
58934
+ query: this.buildRequestQuery()
58935
+ });
58936
+ if (extensionResult.isErr()) {
58937
+ throw new InternalError(extensionResult.error);
58938
+ }
58939
+ return { data: data.data, ...extensionResult.value };
58940
+ }
58941
+ processFetchReturnValue(json) {
58942
+ if (json.hasOwnProperty("errors") && json.errors && json.errors.length > 0) {
58943
+ return err$1(new UserVisibleError(json));
58944
+ }
58945
+ return ok$1(json);
58946
+ }
58947
+ runOriginalRequest() {
58948
+ return this.convertFetchResponseToData(
58949
+ this.services.fetch(...this.originalFetchParams)
58950
+ ).then((result) => {
58951
+ if (result.isOk()) {
58952
+ return this.constructSubscribableResult(result.value);
58953
+ }
58954
+ return result;
58955
+ });
58956
+ }
58957
+ // Any changes to this method should most likely be duplicated in the aura command as well
58958
+ handleCacheControllerResult(result, requestRunner) {
58959
+ const { networkError, returnData } = requestRunner;
58960
+ return this.publishUpdatedKeys().then(() => {
58961
+ if (networkError || returnData === void 0 || returnData.isErr() || result.isErr()) {
58962
+ return this.runOriginalRequest();
58963
+ }
58964
+ if (this.subscriptions.length > 0) {
58965
+ this.subscribeToKeysUsed();
58966
+ }
58967
+ if (this.lastEmittedData === void 0) {
58968
+ this.lastEmittedData = returnData.value.data;
58969
+ }
58970
+ return returnData;
58971
+ });
58972
+ }
58973
+ }
58974
+ function buildServiceDescriptor$2() {
58975
+ return {
58976
+ type: "httpGraphQLNormalizedCacheControlCommand",
58977
+ version: "1.0",
58978
+ service: HttpGraphQLNormalizedCacheControlCommand
58979
+ };
58980
+ }
58981
+
57736
58982
  /*!
57737
58983
  * Copyright (c) 2022, Salesforce, Inc.,
57738
58984
  * All rights reserved.
@@ -58447,22 +59693,34 @@ function initializeOneStore(sqliteStore) {
58447
59693
  globalThis.performance = { now: () => Date.now() };
58448
59694
  }
58449
59695
  const loggerService = new ConsoleLogger('ERROR');
58450
- const cacheServiceDescriptor = buildServiceDescriptor$6();
58451
- const instrumentationServiceDescriptor = buildServiceDescriptor$3(loggerService);
59696
+ const cacheServiceDescriptor = buildServiceDescriptor$a();
59697
+ const instrumentationServiceDescriptor = buildServiceDescriptor$7(loggerService);
58452
59698
  const nimbusSqliteOneStoreCacheServiceDescriptor = buildNimbusDurableCacheInclusionPolicyService(cacheServiceDescriptor.service, new NimbusSqliteOneStoreCache(sqliteStore));
59699
+ const featureFlagsServiceDescriptor = buildServiceDescriptor$5();
59700
+ const featureFlagsService = featureFlagsServiceDescriptor.service;
59701
+ // This disables the OneStore GraphQL in this runtime
59702
+ // We made the decision to continue using the Luvio based version in Mobile
59703
+ // due to the fact that offline support depends on Luvio, and mobile
59704
+ // does not want to migrate right now
59705
+ featureFlagsService.set('useOneStoreGraphQL', false);
58453
59706
  const services = [
58454
59707
  instrumentationServiceDescriptor,
58455
59708
  buildNimbusFetchServiceDescriptor(),
58456
- buildServiceDescriptor$4(instrumentationServiceDescriptor.service),
59709
+ buildServiceDescriptor$8(instrumentationServiceDescriptor.service),
58457
59710
  // NOTE: These do not directly depend on Aura, and are necessary for HTTP fallback support.
58458
- buildServiceDescriptor$b(),
58459
- buildServiceDescriptor$a(),
58460
- buildServiceDescriptor$9(),
58461
- buildServiceDescriptor$5(cacheServiceDescriptor.service, nimbusSqliteOneStoreCacheServiceDescriptor.service),
58462
- buildServiceDescriptor$8(),
59711
+ buildServiceDescriptor$f(),
59712
+ buildServiceDescriptor$e(),
59713
+ buildServiceDescriptor$d(),
59714
+ buildServiceDescriptor$9(cacheServiceDescriptor.service, nimbusSqliteOneStoreCacheServiceDescriptor.service),
58463
59715
  buildServiceDescriptor$c(),
58464
- buildServiceDescriptor$7(),
59716
+ buildServiceDescriptor$g(),
59717
+ buildServiceDescriptor$b(),
59718
+ buildServiceDescriptor$6(),
59719
+ buildServiceDescriptor$3(),
58465
59720
  buildServiceDescriptor$2(),
59721
+ featureFlagsServiceDescriptor,
59722
+ // Luvio service won't be used since we set the useOneStoreGraphQL flag to false
59723
+ buildServiceDescriptor$4({}),
58466
59724
  // TODO[@W-18753648]: See note above.
58467
59725
  // buildStreamingCommandServiceDescriptor(),
58468
59726
  // buildNdJsonServiceDescriptor(),
@@ -58676,4 +59934,4 @@ register({
58676
59934
  });
58677
59935
 
58678
59936
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, ingest$1o as ingestDenormalizedRecordRepresentation, registerReportObserver, reportGraphqlQueryParseError };
58679
- // version: 1.375.0-7d9732a1a7
59937
+ // version: 1.377.0-3c95caf11c