@salesforce/lds-worker-api 1.428.0-dev2 → 1.428.0-dev20
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.
|
@@ -3283,7 +3283,7 @@ function resolveCachePolicy(cachePolicy, defaultCachePolicy) {
|
|
|
3283
3283
|
}
|
|
3284
3284
|
}
|
|
3285
3285
|
}
|
|
3286
|
-
function isFetchResponse(error) {
|
|
3286
|
+
function isFetchResponse$1(error) {
|
|
3287
3287
|
return error !== null && typeof error === 'object' && 'status' in error;
|
|
3288
3288
|
}
|
|
3289
3289
|
/**
|
|
@@ -3362,7 +3362,7 @@ class Environment {
|
|
|
3362
3362
|
// the new network adapter behavior
|
|
3363
3363
|
return reject(
|
|
3364
3364
|
// legacy network adapter check
|
|
3365
|
-
isFetchResponse(error)
|
|
3365
|
+
isFetchResponse$1(error)
|
|
3366
3366
|
? {
|
|
3367
3367
|
...error,
|
|
3368
3368
|
errorType: 'fetchResponse',
|
|
@@ -4146,7 +4146,7 @@ function createResourceParamsImpl(config, configMetadata) {
|
|
|
4146
4146
|
}
|
|
4147
4147
|
return resourceParams;
|
|
4148
4148
|
}
|
|
4149
|
-
// engine version: 0.160.
|
|
4149
|
+
// engine version: 0.160.4-dev1-4b808818
|
|
4150
4150
|
|
|
4151
4151
|
/**
|
|
4152
4152
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -4274,7 +4274,7 @@ function withDefaultLuvio(callback) {
|
|
|
4274
4274
|
}
|
|
4275
4275
|
callbacks.push(callback);
|
|
4276
4276
|
}
|
|
4277
|
-
// version: 1.428.0-
|
|
4277
|
+
// version: 1.428.0-dev20-1b319a0432
|
|
4278
4278
|
|
|
4279
4279
|
// TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
|
|
4280
4280
|
function instrumentAdapter$1(createFunction, _metadata) {
|
|
@@ -5318,7 +5318,7 @@ function createGraphQLWireAdapterConstructor(luvio, adapter, metadata, astResolv
|
|
|
5318
5318
|
const { apiFamily, name } = metadata;
|
|
5319
5319
|
return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
|
|
5320
5320
|
}
|
|
5321
|
-
// version: 1.428.0-
|
|
5321
|
+
// version: 1.428.0-dev20-1b319a0432
|
|
5322
5322
|
|
|
5323
5323
|
function isSupportedEntity(_objectApiName) {
|
|
5324
5324
|
return true;
|
|
@@ -5422,7 +5422,7 @@ var TypeCheckShapes;
|
|
|
5422
5422
|
TypeCheckShapes[TypeCheckShapes["Integer"] = 3] = "Integer";
|
|
5423
5423
|
TypeCheckShapes[TypeCheckShapes["Unsupported"] = 4] = "Unsupported";
|
|
5424
5424
|
})(TypeCheckShapes || (TypeCheckShapes = {}));
|
|
5425
|
-
// engine version: 0.160.
|
|
5425
|
+
// engine version: 0.160.4-dev1-4b808818
|
|
5426
5426
|
|
|
5427
5427
|
const { keys: ObjectKeys$4, create: ObjectCreate$4 } = Object;
|
|
5428
5428
|
|
|
@@ -32610,9 +32610,18 @@ withDefaultLuvio((luvio) => {
|
|
|
32610
32610
|
throttle(60, 60000, setupNotifyAllListRecordUpdateAvailable(luvio));
|
|
32611
32611
|
throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
|
|
32612
32612
|
});
|
|
32613
|
-
// version: 1.428.0-
|
|
32613
|
+
// version: 1.428.0-dev20-d72ac06681
|
|
32614
32614
|
|
|
32615
|
-
var
|
|
32615
|
+
var draftQueueMaxRetryAttemptsGate = {
|
|
32616
|
+
isOpen: function (e) {
|
|
32617
|
+
return e.fallback;
|
|
32618
|
+
},
|
|
32619
|
+
hasError: function () {
|
|
32620
|
+
return !0;
|
|
32621
|
+
},
|
|
32622
|
+
};
|
|
32623
|
+
|
|
32624
|
+
var preserveIdempotencyKeyOn400Gate = {
|
|
32616
32625
|
isOpen: function (e) {
|
|
32617
32626
|
return e.fallback;
|
|
32618
32627
|
},
|
|
@@ -32664,6 +32673,15 @@ const getInstrumentation = () => {
|
|
|
32664
32673
|
return mockInstrumentation;
|
|
32665
32674
|
};
|
|
32666
32675
|
|
|
32676
|
+
var allowUpdatesForNonCachedRecords = {
|
|
32677
|
+
isOpen: function (e) {
|
|
32678
|
+
return e.fallback;
|
|
32679
|
+
},
|
|
32680
|
+
hasError: function () {
|
|
32681
|
+
return !0;
|
|
32682
|
+
},
|
|
32683
|
+
};
|
|
32684
|
+
|
|
32667
32685
|
var caseSensitiveUserId = '005B0000000GR4OIAW';
|
|
32668
32686
|
|
|
32669
32687
|
/**
|
|
@@ -47834,6 +47852,13 @@ function customActionHandler(executor, id, draftQueue) {
|
|
|
47834
47852
|
}
|
|
47835
47853
|
|
|
47836
47854
|
const DRAFT_SEGMENT = 'DRAFT';
|
|
47855
|
+
/**
|
|
47856
|
+
* Metadata key under which an action's upload retry-attempt count is persisted.
|
|
47857
|
+
* Lives in the action's durable `metadata` bag so the count survives app restarts
|
|
47858
|
+
* (the in-memory backoff interval resets on every startQueue()). Written by the
|
|
47859
|
+
* action handler on each retry and cleared when an action is manually retried.
|
|
47860
|
+
*/
|
|
47861
|
+
const DRAFT_ACTION_RETRY_COUNT_METADATA_KEY = 'retryCount';
|
|
47837
47862
|
class DurableDraftQueue {
|
|
47838
47863
|
getHandler(id) {
|
|
47839
47864
|
const handler = this.handlers[id];
|
|
@@ -48192,10 +48217,14 @@ class DurableDraftQueue {
|
|
|
48192
48217
|
if (!isDraftError(target)) {
|
|
48193
48218
|
throw Error(`Action ${actionId} is not in Error state`);
|
|
48194
48219
|
}
|
|
48220
|
+
// A manual retry is a fresh start: clear the persisted upload retry-attempt
|
|
48221
|
+
// count so the action doesn't immediately re-cap after a single failure.
|
|
48222
|
+
const { [DRAFT_ACTION_RETRY_COUNT_METADATA_KEY]: _retryCount, ...metadataWithoutRetryCount } = target.metadata || {};
|
|
48195
48223
|
let pendingAction = {
|
|
48196
48224
|
...target,
|
|
48197
48225
|
status: DraftActionStatus.Pending,
|
|
48198
48226
|
error: undefined,
|
|
48227
|
+
metadata: metadataWithoutRetryCount,
|
|
48199
48228
|
};
|
|
48200
48229
|
await this.draftStore.writeAction(pendingAction);
|
|
48201
48230
|
await this.notifyChangedListeners({
|
|
@@ -79603,6 +79632,322 @@ function makeEnvironmentUiApiRecordDraftAware(luvio, options, env) {
|
|
|
79603
79632
|
return create$3(adapterSpecificEnvironments, {});
|
|
79604
79633
|
}
|
|
79605
79634
|
|
|
79635
|
+
/**
|
|
79636
|
+
* This function takes an unknown error and normalizes it to an Error object
|
|
79637
|
+
*/
|
|
79638
|
+
function normalizeError$1(error) {
|
|
79639
|
+
if (typeof error === 'object' && error instanceof Error) {
|
|
79640
|
+
return error;
|
|
79641
|
+
}
|
|
79642
|
+
else if (typeof error === 'string') {
|
|
79643
|
+
return new Error(error);
|
|
79644
|
+
}
|
|
79645
|
+
return new Error(stringify$5(error));
|
|
79646
|
+
}
|
|
79647
|
+
/**
|
|
79648
|
+
* Maximum number of times an action's upload will be retried before the action is
|
|
79649
|
+
* transitioned to Error and surfaced to the consumer. Caps the otherwise-unbounded
|
|
79650
|
+
* retry loop that can wedge the single-worker draft queue when an upload fails
|
|
79651
|
+
* deterministically on every dispatch. Only enforced when the
|
|
79652
|
+
* `lmr.draft-queue-max-retry-attempts` gate is open.
|
|
79653
|
+
*/
|
|
79654
|
+
const MAX_RETRY_ATTEMPTS = 5;
|
|
79655
|
+
const MAX_RETRY_ERROR_CODE = 'MAX_RETRY_ATTEMPTS_EXCEEDED';
|
|
79656
|
+
function isFetchResponse(failure) {
|
|
79657
|
+
// The union is exactly FetchResponse | Error, so "not an Error" is the FetchResponse.
|
|
79658
|
+
// This is safer than duck-typing on status/ok: a custom Error subclass that happens to
|
|
79659
|
+
// carry those properties would be misclassified by a structural check.
|
|
79660
|
+
return !(failure instanceof Error);
|
|
79661
|
+
}
|
|
79662
|
+
/**
|
|
79663
|
+
* Builds the FetchResponse-shaped error attached to an action that has exhausted its
|
|
79664
|
+
* upload retries. Shaped like a real network error response (status/statusText/ok/
|
|
79665
|
+
* headers/body) so downstream consumers (DraftManager, queue instrumentation) that
|
|
79666
|
+
* read `action.error.status`/`.body`/etc. behave consistently with a server error.
|
|
79667
|
+
*
|
|
79668
|
+
* The failure that caused the final attempt — a non-ok response (HTTP path) or a thrown
|
|
79669
|
+
* error (catch path) — is folded into the body so the surfaced error says WHAT failed,
|
|
79670
|
+
* not merely that the attempt cap was reached.
|
|
79671
|
+
*/
|
|
79672
|
+
function buildMaxRetryError(lastFailure) {
|
|
79673
|
+
const capMessage = `Draft action exceeded ${MAX_RETRY_ATTEMPTS} upload retry attempts`;
|
|
79674
|
+
if (isFetchResponse(lastFailure)) {
|
|
79675
|
+
// Preserve the server's own error detail (status + body) so the surfaced error
|
|
79676
|
+
// carries the last response that caused us to give up retrying.
|
|
79677
|
+
return {
|
|
79678
|
+
status: HttpStatusCode$2.ServerError,
|
|
79679
|
+
statusText: capMessage,
|
|
79680
|
+
ok: false,
|
|
79681
|
+
headers: {},
|
|
79682
|
+
body: {
|
|
79683
|
+
errorCode: MAX_RETRY_ERROR_CODE,
|
|
79684
|
+
message: `${capMessage}. Last response: status=${lastFailure.status} ${lastFailure.statusText}`,
|
|
79685
|
+
lastResponseStatus: lastFailure.status,
|
|
79686
|
+
lastResponseBody: lastFailure.body,
|
|
79687
|
+
},
|
|
79688
|
+
};
|
|
79689
|
+
}
|
|
79690
|
+
return {
|
|
79691
|
+
status: HttpStatusCode$2.ServerError,
|
|
79692
|
+
statusText: capMessage,
|
|
79693
|
+
ok: false,
|
|
79694
|
+
headers: {},
|
|
79695
|
+
body: {
|
|
79696
|
+
errorCode: MAX_RETRY_ERROR_CODE,
|
|
79697
|
+
message: `${capMessage}. Last error: ${lastFailure.name}: ${lastFailure.message}`,
|
|
79698
|
+
lastErrorName: lastFailure.name,
|
|
79699
|
+
lastErrorMessage: lastFailure.message,
|
|
79700
|
+
},
|
|
79701
|
+
};
|
|
79702
|
+
}
|
|
79703
|
+
|
|
79704
|
+
function attachObserversToAdapterRequestContext(observers, adapterRequestContext) {
|
|
79705
|
+
if (adapterRequestContext === undefined) {
|
|
79706
|
+
return { eventObservers: observers };
|
|
79707
|
+
}
|
|
79708
|
+
if (adapterRequestContext.eventObservers === undefined) {
|
|
79709
|
+
return { ...adapterRequestContext, eventObservers: observers };
|
|
79710
|
+
}
|
|
79711
|
+
return {
|
|
79712
|
+
...adapterRequestContext,
|
|
79713
|
+
eventObservers: adapterRequestContext.eventObservers.concat(observers),
|
|
79714
|
+
};
|
|
79715
|
+
}
|
|
79716
|
+
/**
|
|
79717
|
+
* Use this method to sanitize the unknown error object when
|
|
79718
|
+
* we are unsure of the type of the error thrown
|
|
79719
|
+
*
|
|
79720
|
+
* @param err Unknown object to sanitize
|
|
79721
|
+
* @returns an instance of error
|
|
79722
|
+
*/
|
|
79723
|
+
function normalizeError$2(err) {
|
|
79724
|
+
if (err instanceof Error) {
|
|
79725
|
+
return err;
|
|
79726
|
+
}
|
|
79727
|
+
else if (typeof err === 'string') {
|
|
79728
|
+
return new Error(err);
|
|
79729
|
+
}
|
|
79730
|
+
return new Error(stringify$5(err));
|
|
79731
|
+
}
|
|
79732
|
+
// metrics
|
|
79733
|
+
/** GraphQL */
|
|
79734
|
+
const GRAPHQL_EVAL_ERROR = 'gql-eval-error';
|
|
79735
|
+
const GRAPHQL_EVAL_DB_READ_DURATION = 'gql-eval-db-read-duration';
|
|
79736
|
+
const GRAPHQL_EVAL_ROOT_QUERY_COUNT = 'gql-eval-root-query-count';
|
|
79737
|
+
const GRAPHQL_EVAL_TOTAL_QUERY_COUNT = 'gql-eval-total-query-count';
|
|
79738
|
+
const GRAPHQL_EVAL_MAX_CHILD_RELATIONSHIPS_COUNT = 'gql-eval-max-child-count';
|
|
79739
|
+
const GRAPHQL_EVAL_QUERY_RECORD_COUNT = 'gql-eval-query-record-count';
|
|
79740
|
+
const GRAPHQL_SNAPSHOT_REFRESH_UNDEFINED = 'gql-snapshot-refresh-undefined';
|
|
79741
|
+
/** Draft Queue */
|
|
79742
|
+
const DRAFT_QUEUE_STATE_STARTED = 'draft-queue-state-started';
|
|
79743
|
+
const DRAFT_QUEUE_STATE_ERROR = 'draft-queue-state-error';
|
|
79744
|
+
const DRAFT_QUEUE_STATE_WAITING = 'draft-queue-state-waiting';
|
|
79745
|
+
const DRAFT_QUEUE_STATE_STOPPED = 'draft-queue-state-stopped';
|
|
79746
|
+
const DRAFT_QUEUE_ACTION_ADDED = 'draft-queue-action-added';
|
|
79747
|
+
const DRAFT_QUEUE_ACTION_UPLOADING = 'draft-queue-action-uploading';
|
|
79748
|
+
const DRAFT_QUEUE_ACTION_COMPLETED = 'draft-queue-action-completed';
|
|
79749
|
+
const DRAFT_QUEUE_ACTION_DELETED = 'draft-queue-action-deleted';
|
|
79750
|
+
const DRAFT_QUEUE_ACTION_UPDATED = 'draft-queue-action-updated';
|
|
79751
|
+
const DRAFT_QUEUE_ACTION_FAILED = 'draft-queue-action-failed';
|
|
79752
|
+
const DRAFT_QUEUE_ACTION_UPLOAD_ERROR = 'draft-queue-action-upload-error';
|
|
79753
|
+
const DRAFT_QUEUE_TOTAL_MERGE_ACTIONS_CALLS = 'draft-queue-total-mergeActions-calls';
|
|
79754
|
+
/** Content Document */
|
|
79755
|
+
const CREATE_CONTENT_DOCUMENT_AND_VERSION_TOTAL_SYNTHESIZE_CALLS = 'content-document-version-total-synthesize-calls';
|
|
79756
|
+
const CREATE_CONTENT_DOCUMENT_AND_VERSION_DRAFT_SYNTHESIZE_ERROR = 'create-content-document-version-draft-synthesize-error';
|
|
79757
|
+
/** Priming */
|
|
79758
|
+
const PRIMING_TOTAL_SESSION_COUNT = 'priming-total-session-count';
|
|
79759
|
+
const PRIMING_TOTAL_ERROR_COUNT = 'priming-total-error-count';
|
|
79760
|
+
const PRIMING_TOTAL_PRIMED_COUNT = 'priming-total-primed-count';
|
|
79761
|
+
const PRIMING_TOTAL_CONFLICT_COUNT = 'priming-total-conflict-count';
|
|
79762
|
+
// logs
|
|
79763
|
+
const GRAPHQL_QUERY_PARSE_ERROR = 'gql-query-parse-error';
|
|
79764
|
+
const GRAPHQL_SQL_EVAL_PRECONDITION_ERROR = 'gql-sql-pre-eval-error';
|
|
79765
|
+
const GRAPHQL_CREATE_SNAPSHOT_ERROR = 'gql-create-snapshot-error';
|
|
79766
|
+
const DRAFT_AWARE_CREATE_CONTENT_DOCUMENT_AND_VERSION_ERROR = 'draft-aware-create-content-document-and-version-error';
|
|
79767
|
+
/** Garbage Collection */
|
|
79768
|
+
const GARBAGE_COLLECTION_AGGRESSIVE_TRIM_COUNT = 'garbage-collection-aggressive-trim-count';
|
|
79769
|
+
const GARBAGE_COLLECTION_AGGRESSIVE_TRIM_RECORDS_TRIMMED = 'garbage-collection-aggressive-trim-records-trimmed';
|
|
79770
|
+
const GARBAGE_COLLECTION_AGGRESSIVE_TRIM_TOTAL_RECORDS_BEFORE_TRIM = 'garbage-collection-aggressive-trim-total-records-before-trim';
|
|
79771
|
+
const ldsMobileInstrumentation$2 = getInstrumentation();
|
|
79772
|
+
const nimbusLogger = typeof __nimbus !== 'undefined' &&
|
|
79773
|
+
__nimbus.plugins !== undefined &&
|
|
79774
|
+
__nimbus.plugins.JSLoggerPlugin !== undefined
|
|
79775
|
+
? __nimbus.plugins.JSLoggerPlugin
|
|
79776
|
+
: undefined;
|
|
79777
|
+
function reportGraphqlQueryParseError(err) {
|
|
79778
|
+
const error = normalizeError$2(err);
|
|
79779
|
+
const errorCode = GRAPHQL_QUERY_PARSE_ERROR;
|
|
79780
|
+
// Metric
|
|
79781
|
+
reportGraphqlAdapterError(errorCode);
|
|
79782
|
+
// Log
|
|
79783
|
+
ldsMobileInstrumentation$2.error(error, errorCode);
|
|
79784
|
+
}
|
|
79785
|
+
function reportGraphqlSqlEvalPreconditionError(err) {
|
|
79786
|
+
const error = normalizeError$2(err);
|
|
79787
|
+
const errorCode = GRAPHQL_SQL_EVAL_PRECONDITION_ERROR;
|
|
79788
|
+
// Metric
|
|
79789
|
+
reportGraphqlAdapterError(errorCode);
|
|
79790
|
+
// Log
|
|
79791
|
+
ldsMobileInstrumentation$2.error(error, errorCode);
|
|
79792
|
+
}
|
|
79793
|
+
function reportGraphqlCreateSnapshotError(err) {
|
|
79794
|
+
const error = normalizeError$2(err);
|
|
79795
|
+
const errorCode = GRAPHQL_CREATE_SNAPSHOT_ERROR;
|
|
79796
|
+
// Metric
|
|
79797
|
+
reportGraphqlAdapterError(errorCode);
|
|
79798
|
+
// Log
|
|
79799
|
+
ldsMobileInstrumentation$2.error(error, errorCode);
|
|
79800
|
+
}
|
|
79801
|
+
function reportGraphQlEvalDbReadDuration(duration) {
|
|
79802
|
+
ldsMobileInstrumentation$2.trackValue(GRAPHQL_EVAL_DB_READ_DURATION, duration);
|
|
79803
|
+
}
|
|
79804
|
+
function reportGraphqlAdapterError(errorCode) {
|
|
79805
|
+
// Increment overall count with errorCode as tag
|
|
79806
|
+
ldsMobileInstrumentation$2.incrementCounter(GRAPHQL_EVAL_ERROR, 1, true, { errorCode });
|
|
79807
|
+
}
|
|
79808
|
+
function reportGraphqlQueryInstrumentation(data) {
|
|
79809
|
+
const queryBuckets = [1, 2, 3, 4, 5, 10, 20, 50, 100];
|
|
79810
|
+
const recordBuckets = [
|
|
79811
|
+
1, 5, 10, 20, 50, 100, 1000, 2000, 5000, 10000, 50000, 100000, 1000000,
|
|
79812
|
+
];
|
|
79813
|
+
ldsMobileInstrumentation$2.bucketValue(GRAPHQL_EVAL_ROOT_QUERY_COUNT, data.rootQueryCount, queryBuckets);
|
|
79814
|
+
ldsMobileInstrumentation$2.bucketValue(GRAPHQL_EVAL_TOTAL_QUERY_COUNT, data.totalQueryCount, queryBuckets);
|
|
79815
|
+
ldsMobileInstrumentation$2.bucketValue(GRAPHQL_EVAL_MAX_CHILD_RELATIONSHIPS_COUNT, data.maxChildRelationships, queryBuckets);
|
|
79816
|
+
ldsMobileInstrumentation$2.bucketValue(GRAPHQL_EVAL_QUERY_RECORD_COUNT, data.requestedRecordCount, recordBuckets);
|
|
79817
|
+
}
|
|
79818
|
+
function incrementGraphQLRefreshUndfined() {
|
|
79819
|
+
ldsMobileInstrumentation$2.incrementCounter(GRAPHQL_SNAPSHOT_REFRESH_UNDEFINED);
|
|
79820
|
+
}
|
|
79821
|
+
function reportDraftActionEvent(state, draftCount, message) {
|
|
79822
|
+
if (nimbusLogger) {
|
|
79823
|
+
nimbusLogger.logInfo(`Draft action event: ${state}, depth: ${draftCount}${message ? `, message: ${message}` : ''}`);
|
|
79824
|
+
}
|
|
79825
|
+
switch (state) {
|
|
79826
|
+
case 'added':
|
|
79827
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_ADDED);
|
|
79828
|
+
break;
|
|
79829
|
+
case 'uploading':
|
|
79830
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_UPLOADING);
|
|
79831
|
+
break;
|
|
79832
|
+
case 'completed':
|
|
79833
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_COMPLETED);
|
|
79834
|
+
break;
|
|
79835
|
+
case 'deleted':
|
|
79836
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_DELETED);
|
|
79837
|
+
break;
|
|
79838
|
+
case 'failed':
|
|
79839
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_FAILED, 1, true);
|
|
79840
|
+
break;
|
|
79841
|
+
case 'updated':
|
|
79842
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_UPDATED);
|
|
79843
|
+
break;
|
|
79844
|
+
}
|
|
79845
|
+
}
|
|
79846
|
+
/**
|
|
79847
|
+
* Reports an exception thrown while uploading a draft action. The thrown error is
|
|
79848
|
+
* otherwise swallowed by the upload handler's retry path, leaving the failure
|
|
79849
|
+
* invisible in telemetry; this surfaces it to o11y (log + counter) so a deterministic
|
|
79850
|
+
* upload failure can be diagnosed instead of silently retried forever.
|
|
79851
|
+
*
|
|
79852
|
+
* PII: the device log line carries only the handler id, retry attempt, and the error
|
|
79853
|
+
* NAME (e.g. "TypeError") — never the free-text error message, which can embed record
|
|
79854
|
+
* ids (URL path segments) or server field-validation strings. The full normalized error
|
|
79855
|
+
* (message + stack) is handed only to `ldsMobileInstrumentation.error`, the structured
|
|
79856
|
+
* o11y error pipeline responsible for scrubbing/handling that detail. Also does NOT log
|
|
79857
|
+
* the action's targetId/tag or any request body/field values.
|
|
79858
|
+
*/
|
|
79859
|
+
function reportDraftActionUploadError(error, handlerId, attempt) {
|
|
79860
|
+
const normalized = normalizeError$2(error);
|
|
79861
|
+
if (nimbusLogger) {
|
|
79862
|
+
nimbusLogger.logError(`Draft action upload error: handler=${handlerId}, attempt=${attempt}, name=${normalized.name}`);
|
|
79863
|
+
}
|
|
79864
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_UPLOAD_ERROR, 1, true, {
|
|
79865
|
+
handlerId,
|
|
79866
|
+
});
|
|
79867
|
+
ldsMobileInstrumentation$2.error(normalized, DRAFT_QUEUE_ACTION_UPLOAD_ERROR);
|
|
79868
|
+
}
|
|
79869
|
+
function reportDraftQueueState(state, draftCount) {
|
|
79870
|
+
if (nimbusLogger) {
|
|
79871
|
+
nimbusLogger.logInfo(`Draft state changed: ${state}, depth: ${draftCount}`);
|
|
79872
|
+
}
|
|
79873
|
+
switch (state) {
|
|
79874
|
+
case 'started':
|
|
79875
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_STATE_STARTED);
|
|
79876
|
+
break;
|
|
79877
|
+
case 'error':
|
|
79878
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_STATE_ERROR, 1, true);
|
|
79879
|
+
break;
|
|
79880
|
+
case 'waiting':
|
|
79881
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_STATE_WAITING);
|
|
79882
|
+
break;
|
|
79883
|
+
case 'stopped':
|
|
79884
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_STATE_STOPPED);
|
|
79885
|
+
break;
|
|
79886
|
+
}
|
|
79887
|
+
}
|
|
79888
|
+
function reportDraftAwareContentDocumentVersionSynthesizeError(err) {
|
|
79889
|
+
let error;
|
|
79890
|
+
if (err.body !== undefined) {
|
|
79891
|
+
error = err.body;
|
|
79892
|
+
}
|
|
79893
|
+
else {
|
|
79894
|
+
error = normalizeError$2(err);
|
|
79895
|
+
}
|
|
79896
|
+
const errorCode = DRAFT_AWARE_CREATE_CONTENT_DOCUMENT_AND_VERSION_ERROR;
|
|
79897
|
+
const errorType = error.errorType;
|
|
79898
|
+
const tags = {
|
|
79899
|
+
errorCode,
|
|
79900
|
+
};
|
|
79901
|
+
if (errorType !== undefined) {
|
|
79902
|
+
tags.errorType = errorType;
|
|
79903
|
+
}
|
|
79904
|
+
// Metric
|
|
79905
|
+
ldsMobileInstrumentation$2.incrementCounter(CREATE_CONTENT_DOCUMENT_AND_VERSION_DRAFT_SYNTHESIZE_ERROR, 1, true, tags);
|
|
79906
|
+
// Log
|
|
79907
|
+
ldsMobileInstrumentation$2.error(error, errorCode);
|
|
79908
|
+
}
|
|
79909
|
+
function reportDraftAwareContentVersionSynthesizeCalls(mimeType) {
|
|
79910
|
+
ldsMobileInstrumentation$2.incrementCounter(CREATE_CONTENT_DOCUMENT_AND_VERSION_TOTAL_SYNTHESIZE_CALLS, 1, undefined, { mimeType });
|
|
79911
|
+
}
|
|
79912
|
+
/** Priming */
|
|
79913
|
+
function reportPrimingSessionCreated() {
|
|
79914
|
+
ldsMobileInstrumentation$2.incrementCounter(PRIMING_TOTAL_SESSION_COUNT, 1, undefined, {});
|
|
79915
|
+
}
|
|
79916
|
+
function reportPrimingError(errorType, recordCount) {
|
|
79917
|
+
ldsMobileInstrumentation$2.incrementCounter(PRIMING_TOTAL_ERROR_COUNT, recordCount, undefined, {
|
|
79918
|
+
errorType,
|
|
79919
|
+
});
|
|
79920
|
+
}
|
|
79921
|
+
function reportPrimingSuccess(recordCount) {
|
|
79922
|
+
ldsMobileInstrumentation$2.incrementCounter(PRIMING_TOTAL_PRIMED_COUNT, recordCount, undefined);
|
|
79923
|
+
}
|
|
79924
|
+
function reportPrimingConflict(resolutionType, recordCount) {
|
|
79925
|
+
ldsMobileInstrumentation$2.incrementCounter(PRIMING_TOTAL_CONFLICT_COUNT, recordCount, undefined, {
|
|
79926
|
+
resolutionType,
|
|
79927
|
+
});
|
|
79928
|
+
}
|
|
79929
|
+
/** Network */
|
|
79930
|
+
function reportChunkCandidateUrlLength(urlLength) {
|
|
79931
|
+
const buckets = [8000, 10000, 12000, 14000, 16000];
|
|
79932
|
+
ldsMobileInstrumentation$2.bucketValue('chunk-candidate-url-length-histogram', urlLength, buckets);
|
|
79933
|
+
}
|
|
79934
|
+
/** Garbage Collection */
|
|
79935
|
+
function reportAggressiveTrimTriggered(trimCount, beforeTrimRecordCount, totalRecordsTrimmed) {
|
|
79936
|
+
ldsMobileInstrumentation$2.trackValue(GARBAGE_COLLECTION_AGGRESSIVE_TRIM_COUNT, trimCount);
|
|
79937
|
+
ldsMobileInstrumentation$2.trackValue(GARBAGE_COLLECTION_AGGRESSIVE_TRIM_TOTAL_RECORDS_BEFORE_TRIM, beforeTrimRecordCount);
|
|
79938
|
+
ldsMobileInstrumentation$2.trackValue(GARBAGE_COLLECTION_AGGRESSIVE_TRIM_RECORDS_TRIMMED, totalRecordsTrimmed);
|
|
79939
|
+
}
|
|
79940
|
+
/** One Store Cache Purge */
|
|
79941
|
+
const ONESTORE_CACHE_PURGING_RECORDS_PURGED = 'onestore-cache-purging-records-purged';
|
|
79942
|
+
const ONESTORE_CACHE_PURGING_RECORDS_ERROR = 'onestore-cache-purging-records-error';
|
|
79943
|
+
function reportOneStoreRecordsPurgedFromCache(recordsPurged) {
|
|
79944
|
+
ldsMobileInstrumentation$2.trackValue(ONESTORE_CACHE_PURGING_RECORDS_PURGED, recordsPurged);
|
|
79945
|
+
}
|
|
79946
|
+
function reportOneStoreCachePurgingError(error) {
|
|
79947
|
+
const errorMessage = normalizeError$2(error);
|
|
79948
|
+
ldsMobileInstrumentation$2.error(errorMessage, ONESTORE_CACHE_PURGING_RECORDS_ERROR);
|
|
79949
|
+
}
|
|
79950
|
+
|
|
79606
79951
|
const HTTP_HEADER_RETRY_AFTER = 'Retry-After';
|
|
79607
79952
|
const HTTP_HEADER_IDEMPOTENCY_KEY = 'Idempotency-Key';
|
|
79608
79953
|
const ERROR_CODE_IDEMPOTENCY_FEATURE_NOT_ENABLED = 'IDEMPOTENCY_FEATURE_NOT_ENABLED';
|
|
@@ -79691,6 +80036,14 @@ class AbstractResourceRequestActionHandler {
|
|
|
79691
80036
|
if (request && request.headers && request.headers[HTTP_HEADER_IDEMPOTENCY_KEY]) {
|
|
79692
80037
|
const status = response.status;
|
|
79693
80038
|
switch (status) {
|
|
80039
|
+
case 0 /* IdempotentWriteSpecificHttpStatusCode.NoResponse */:
|
|
80040
|
+
// statusCode 0 = the client sent the request but received no response
|
|
80041
|
+
// (connection dropped / app suspended in flight). The write may already
|
|
80042
|
+
// have committed at the origin, so we MUST retry with the SAME idempotency
|
|
80043
|
+
// key and let the server dedupe — rotating the key here would duplicate an
|
|
80044
|
+
// already-committed record.
|
|
80045
|
+
shouldRetry = true;
|
|
80046
|
+
break;
|
|
79694
80047
|
case 408 /* IdempotentWriteSpecificHttpStatusCode.RequestTimeout */:
|
|
79695
80048
|
case 503 /* IdempotentWriteSpecificHttpStatusCode.ServiceUnavailable */:
|
|
79696
80049
|
retryDelayInMs = getRetryAfterInMs(response.headers);
|
|
@@ -79737,11 +80090,33 @@ class AbstractResourceRequestActionHandler {
|
|
|
79737
80090
|
}
|
|
79738
80091
|
}
|
|
79739
80092
|
}
|
|
80093
|
+
// A generic 400 that none of the idempotency-specific branches above claimed
|
|
80094
|
+
// (shouldRetry still false) and that is not a backdating collision. @W-23445154
|
|
79740
80095
|
if (response.status === HttpStatusCode$2.BadRequest &&
|
|
80096
|
+
!shouldRetry &&
|
|
79741
80097
|
this.hasIdempotencySupport() &&
|
|
79742
|
-
updatedAction.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] !== undefined
|
|
79743
|
-
|
|
79744
|
-
|
|
80098
|
+
updatedAction.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] !== undefined &&
|
|
80099
|
+
!this.isBackdatingError(response.body, action)) {
|
|
80100
|
+
if (!preserveIdempotencyKeyOn400Gate.isOpen({ fallback: false })) {
|
|
80101
|
+
// Gate CLOSED (default) — legacy behavior: rotate the key and let the draft
|
|
80102
|
+
// error (shouldRetry stays false). Retained as the default until the fix is
|
|
80103
|
+
// enabled; this is the path that duplicated already-committed writes.
|
|
80104
|
+
updatedAction.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
|
|
80105
|
+
actionDataChanged = true;
|
|
80106
|
+
}
|
|
80107
|
+
else if (!this.isServerGeneratedError(response.body)) {
|
|
80108
|
+
// Gate OPEN — the fix: only an edge/gateway-injected 400 (no recognizable
|
|
80109
|
+
// server error body) is retried with the SAME key, so the server can dedupe a
|
|
80110
|
+
// write that may already have committed at the origin. A real, server-generated
|
|
80111
|
+
// 400 (UiApiError[] or an enhancedErrorType body, e.g. a field-validation
|
|
80112
|
+
// failure) falls through to the error path below: retrying it unchanged would
|
|
80113
|
+
// only be rejected again, so the draft is errored for the user to fix or discard
|
|
80114
|
+
// — the same terminal outcome as the legacy path, minus the duplicating key
|
|
80115
|
+
// rotation. The key is only ever rotated by the recognized idempotency error
|
|
80116
|
+
// codes above, by a backdating collision (new body), or when the user edits an
|
|
80117
|
+
// errored draft (mergeActions/handleReplaceAction).
|
|
80118
|
+
shouldRetry = true;
|
|
80119
|
+
}
|
|
79745
80120
|
}
|
|
79746
80121
|
if (response.status === HttpStatusCode$2.BadRequest &&
|
|
79747
80122
|
this.isBackdatingError(response.body, action)) {
|
|
@@ -79750,23 +80125,101 @@ class AbstractResourceRequestActionHandler {
|
|
|
79750
80125
|
...updatedAction.data.body.fields,
|
|
79751
80126
|
LastModifiedDate: new Date(updatedAction.timestamp).toISOString(),
|
|
79752
80127
|
};
|
|
80128
|
+
// The record content changed (LastModifiedDate is bumped), so this is a NEW
|
|
80129
|
+
// logical write. Rotate the idempotency key so the server treats it as such
|
|
80130
|
+
// rather than deduping it against the stale, pre-backdate request. This is a
|
|
80131
|
+
// legitimate rotation — the request body is modified — unlike the generic-400
|
|
80132
|
+
// fallback above which must preserve the key when the fix is enabled. @W-23445154
|
|
80133
|
+
if (this.hasIdempotencySupport() &&
|
|
80134
|
+
updatedAction.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] !== undefined) {
|
|
80135
|
+
updatedAction.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
|
|
80136
|
+
}
|
|
79753
80137
|
shouldRetry = true;
|
|
79754
80138
|
actionDataChanged = true;
|
|
79755
80139
|
}
|
|
79756
|
-
|
|
79757
|
-
|
|
79758
|
-
|
|
80140
|
+
if (shouldRetry) {
|
|
80141
|
+
// Funnel the retry through the cap: when the gate is open this persists
|
|
80142
|
+
// the attempt count and errors out once the cap is hit; when the gate is
|
|
80143
|
+
// closed it behaves exactly as before. The non-ok response is the failure
|
|
80144
|
+
// that would otherwise be retried.
|
|
80145
|
+
await this.retryOrCap(updatedAction, response, actionErrored, retryDelayInMs, actionDataChanged);
|
|
80146
|
+
}
|
|
80147
|
+
else {
|
|
80148
|
+
await actionErrored({
|
|
79759
80149
|
...updatedAction,
|
|
79760
80150
|
error: response,
|
|
79761
80151
|
status: DraftActionStatus.Error,
|
|
79762
|
-
},
|
|
80152
|
+
}, false, retryDelayInMs, actionDataChanged);
|
|
80153
|
+
}
|
|
79763
80154
|
return ProcessActionResult.ACTION_ERRORED;
|
|
79764
80155
|
}
|
|
79765
80156
|
catch (e) {
|
|
79766
|
-
|
|
80157
|
+
// #3 (ungated): the thrown exception is otherwise swallowed here, leaving a
|
|
80158
|
+
// deterministic upload failure invisible in telemetry. Surface it to o11y
|
|
80159
|
+
// before deciding whether to retry.
|
|
80160
|
+
const error = normalizeError$1(e);
|
|
80161
|
+
const attempt = this.getUploadRetryCount(action) + 1;
|
|
80162
|
+
reportDraftActionUploadError(error, this.handlerId, attempt);
|
|
80163
|
+
await this.retryOrCap(action, error, actionErrored);
|
|
79767
80164
|
return ProcessActionResult.NETWORK_ERROR;
|
|
79768
80165
|
}
|
|
79769
80166
|
}
|
|
80167
|
+
/**
|
|
80168
|
+
* Reads the persisted upload retry-attempt count from the action's durable metadata
|
|
80169
|
+
* bag. The count lives in metadata (rather than in-memory) so it survives app
|
|
80170
|
+
* restarts and queue re-creation — the failure modes that let the unbounded retry
|
|
80171
|
+
* loop run for days.
|
|
80172
|
+
*/
|
|
80173
|
+
getUploadRetryCount(action) {
|
|
80174
|
+
const parsed = Number(action.metadata?.[DRAFT_ACTION_RETRY_COUNT_METADATA_KEY]);
|
|
80175
|
+
// Guard against a missing/corrupt persisted value: a NaN, fractional, or negative
|
|
80176
|
+
// count must never weaken the cap. Floor to a non-negative integer, defaulting to 0.
|
|
80177
|
+
if (!Number.isFinite(parsed) || parsed < 0) {
|
|
80178
|
+
return 0;
|
|
80179
|
+
}
|
|
80180
|
+
return Math.floor(parsed);
|
|
80181
|
+
}
|
|
80182
|
+
/**
|
|
80183
|
+
* Enforces the upload retry-attempt cap around the queue's `actionErrored` callback.
|
|
80184
|
+
* Both retry paths — a retryable HTTP error and a thrown exception — funnel through
|
|
80185
|
+
* here.
|
|
80186
|
+
*
|
|
80187
|
+
* The entire cap behavior is gated behind `lmr.draft-queue-max-retry-attempts`. When
|
|
80188
|
+
* the gate is CLOSED this is a transparent passthrough: it issues the same
|
|
80189
|
+
* `actionErrored(action, true, ...)` retry the queue made before this change, and
|
|
80190
|
+
* writes no extra metadata. When the gate is OPEN it persists an incremented attempt
|
|
80191
|
+
* count to the action's durable metadata and, once the action has failed
|
|
80192
|
+
* {@link MAX_RETRY_ATTEMPTS} times, transitions it to Error (carrying a
|
|
80193
|
+
* FetchResponse-shaped error that names the failure that exhausted the retries)
|
|
80194
|
+
* instead of scheduling yet another retry.
|
|
80195
|
+
*/
|
|
80196
|
+
async retryOrCap(action, lastFailure, actionErrored, retryDelayInMs, actionDataChanged) {
|
|
80197
|
+
if (!draftQueueMaxRetryAttemptsGate.isOpen({ fallback: false })) {
|
|
80198
|
+
// Gate closed: preserve the pre-existing unbounded-retry behavior exactly.
|
|
80199
|
+
await actionErrored(action, true, retryDelayInMs, actionDataChanged);
|
|
80200
|
+
return;
|
|
80201
|
+
}
|
|
80202
|
+
const attempt = this.getUploadRetryCount(action) + 1;
|
|
80203
|
+
if (attempt >= MAX_RETRY_ATTEMPTS) {
|
|
80204
|
+
await actionErrored({
|
|
80205
|
+
...action,
|
|
80206
|
+
error: buildMaxRetryError(lastFailure),
|
|
80207
|
+
status: DraftActionStatus.Error,
|
|
80208
|
+
}, false);
|
|
80209
|
+
return;
|
|
80210
|
+
}
|
|
80211
|
+
// Persist the incremented attempt count so it survives restarts. Forcing
|
|
80212
|
+
// actionDataChanged ensures the queue writes the updated metadata before the
|
|
80213
|
+
// action is rescheduled for retry.
|
|
80214
|
+
const retryingAction = {
|
|
80215
|
+
...action,
|
|
80216
|
+
metadata: {
|
|
80217
|
+
...action.metadata,
|
|
80218
|
+
[DRAFT_ACTION_RETRY_COUNT_METADATA_KEY]: String(attempt),
|
|
80219
|
+
},
|
|
80220
|
+
};
|
|
80221
|
+
await actionErrored(retryingAction, true, retryDelayInMs, true);
|
|
80222
|
+
}
|
|
79770
80223
|
async handleActionEnqueued(action) {
|
|
79771
80224
|
const impactedKeys = await this.recordService.setSideEffectsForActions([action]);
|
|
79772
80225
|
await this.recordService.reapplyRecordSideEffects(impactedKeys);
|
|
@@ -79930,6 +80383,13 @@ class AbstractResourceRequestActionHandler {
|
|
|
79930
80383
|
this.isActionOfType(sourceAction)) {
|
|
79931
80384
|
targetAction.status = DraftActionStatus.Pending;
|
|
79932
80385
|
targetAction.data = sourceAction.data;
|
|
80386
|
+
// Replacing an action's data re-queues it as a fresh upload, so the persisted
|
|
80387
|
+
// upload retry-attempt count must not carry over — otherwise a previously-
|
|
80388
|
+
// throttled action could immediately re-hit the cap on its first new attempt.
|
|
80389
|
+
// (Mirrors the same clear in mergeActions.)
|
|
80390
|
+
if (targetAction.metadata !== undefined) {
|
|
80391
|
+
delete targetAction.metadata[DRAFT_ACTION_RETRY_COUNT_METADATA_KEY];
|
|
80392
|
+
}
|
|
79933
80393
|
return targetAction;
|
|
79934
80394
|
}
|
|
79935
80395
|
else {
|
|
@@ -79969,6 +80429,11 @@ class AbstractResourceRequestActionHandler {
|
|
|
79969
80429
|
}
|
|
79970
80430
|
// overlay metadata
|
|
79971
80431
|
merged.metadata = { ...targetMetadata, ...sourceMetadata };
|
|
80432
|
+
// A merge folds new user data into the action and re-queues it as a fresh upload,
|
|
80433
|
+
// so the persisted upload retry-attempt count must not carry over — otherwise a
|
|
80434
|
+
// previously-throttled action could immediately re-hit the cap on its first new
|
|
80435
|
+
// attempt.
|
|
80436
|
+
delete merged.metadata[DRAFT_ACTION_RETRY_COUNT_METADATA_KEY];
|
|
79972
80437
|
// put status back to pending to auto upload if queue is active and targed is at the head.
|
|
79973
80438
|
merged.status = DraftActionStatus.Pending;
|
|
79974
80439
|
return merged;
|
|
@@ -80003,8 +80468,36 @@ class AbstractResourceRequestActionHandler {
|
|
|
80003
80468
|
isUiApiErrors(body) {
|
|
80004
80469
|
return body !== undefined && isArray$3$1(body) && body.length > 0 && body[0].errorCode;
|
|
80005
80470
|
}
|
|
80471
|
+
// Distinguishes a real, server-generated 400 from an edge/gateway-injected one.
|
|
80472
|
+
//
|
|
80473
|
+
// A 400 the origin (UiApi/APREST) actually produced carries a structured error body:
|
|
80474
|
+
// either a `UiApiError[]` (see isUiApiErrors) or an enhanced-error object tagged with
|
|
80475
|
+
// `enhancedErrorType` (e.g. 'RecordError' for field-validation failures). These describe
|
|
80476
|
+
// a request the server understood and deliberately rejected — retrying it unchanged would
|
|
80477
|
+
// just be rejected again, so the draft must be errored for the user to fix or discard.
|
|
80478
|
+
//
|
|
80479
|
+
// An edge/gateway-injected 400 (the duplicate-record incident, @W-23445154) has NO such
|
|
80480
|
+
// body — it's a tiny generic error page ({ message: 'Bad Request' }), a plain string, or
|
|
80481
|
+
// empty — and is returned on a request that may already have committed at the origin.
|
|
80482
|
+
// Only those should be retried with the same idempotency key so the server can dedupe.
|
|
80483
|
+
isServerGeneratedError(body) {
|
|
80484
|
+
if (this.isUiApiErrors(body)) {
|
|
80485
|
+
return true;
|
|
80486
|
+
}
|
|
80487
|
+
// enhancedErrorType is the origin's marker for a structured record error (field
|
|
80488
|
+
// validation, backdating collision, etc.). Guard the deref so a string/undefined
|
|
80489
|
+
// edge body doesn't throw.
|
|
80490
|
+
return (body !== null &&
|
|
80491
|
+
typeof body === 'object' &&
|
|
80492
|
+
body.enhancedErrorType !== undefined);
|
|
80493
|
+
}
|
|
80006
80494
|
isBackdatingError(body, action) {
|
|
80007
|
-
if (
|
|
80495
|
+
if (
|
|
80496
|
+
// An edge/gateway-injected 400 can carry an empty, string, or missing body; guard
|
|
80497
|
+
// the deref so classifying such a response never throws. @W-23445154
|
|
80498
|
+
body !== null &&
|
|
80499
|
+
typeof body === 'object' &&
|
|
80500
|
+
body.enhancedErrorType &&
|
|
80008
80501
|
body.enhancedErrorType === 'RecordError' &&
|
|
80009
80502
|
body.output &&
|
|
80010
80503
|
body.output.errors &&
|
|
@@ -80579,229 +81072,6 @@ class AbstractQuickActionHandler extends AbstractResourceRequestActionHandler {
|
|
|
80579
81072
|
}
|
|
80580
81073
|
}
|
|
80581
81074
|
|
|
80582
|
-
function attachObserversToAdapterRequestContext(observers, adapterRequestContext) {
|
|
80583
|
-
if (adapterRequestContext === undefined) {
|
|
80584
|
-
return { eventObservers: observers };
|
|
80585
|
-
}
|
|
80586
|
-
if (adapterRequestContext.eventObservers === undefined) {
|
|
80587
|
-
return { ...adapterRequestContext, eventObservers: observers };
|
|
80588
|
-
}
|
|
80589
|
-
return {
|
|
80590
|
-
...adapterRequestContext,
|
|
80591
|
-
eventObservers: adapterRequestContext.eventObservers.concat(observers),
|
|
80592
|
-
};
|
|
80593
|
-
}
|
|
80594
|
-
/**
|
|
80595
|
-
* Use this method to sanitize the unknown error object when
|
|
80596
|
-
* we are unsure of the type of the error thrown
|
|
80597
|
-
*
|
|
80598
|
-
* @param err Unknown object to sanitize
|
|
80599
|
-
* @returns an instance of error
|
|
80600
|
-
*/
|
|
80601
|
-
function normalizeError$1(err) {
|
|
80602
|
-
if (err instanceof Error) {
|
|
80603
|
-
return err;
|
|
80604
|
-
}
|
|
80605
|
-
else if (typeof err === 'string') {
|
|
80606
|
-
return new Error(err);
|
|
80607
|
-
}
|
|
80608
|
-
return new Error(stringify$5(err));
|
|
80609
|
-
}
|
|
80610
|
-
// metrics
|
|
80611
|
-
/** GraphQL */
|
|
80612
|
-
const GRAPHQL_EVAL_ERROR = 'gql-eval-error';
|
|
80613
|
-
const GRAPHQL_EVAL_DB_READ_DURATION = 'gql-eval-db-read-duration';
|
|
80614
|
-
const GRAPHQL_EVAL_ROOT_QUERY_COUNT = 'gql-eval-root-query-count';
|
|
80615
|
-
const GRAPHQL_EVAL_TOTAL_QUERY_COUNT = 'gql-eval-total-query-count';
|
|
80616
|
-
const GRAPHQL_EVAL_MAX_CHILD_RELATIONSHIPS_COUNT = 'gql-eval-max-child-count';
|
|
80617
|
-
const GRAPHQL_EVAL_QUERY_RECORD_COUNT = 'gql-eval-query-record-count';
|
|
80618
|
-
const GRAPHQL_SNAPSHOT_REFRESH_UNDEFINED = 'gql-snapshot-refresh-undefined';
|
|
80619
|
-
/** Draft Queue */
|
|
80620
|
-
const DRAFT_QUEUE_STATE_STARTED = 'draft-queue-state-started';
|
|
80621
|
-
const DRAFT_QUEUE_STATE_ERROR = 'draft-queue-state-error';
|
|
80622
|
-
const DRAFT_QUEUE_STATE_WAITING = 'draft-queue-state-waiting';
|
|
80623
|
-
const DRAFT_QUEUE_STATE_STOPPED = 'draft-queue-state-stopped';
|
|
80624
|
-
const DRAFT_QUEUE_ACTION_ADDED = 'draft-queue-action-added';
|
|
80625
|
-
const DRAFT_QUEUE_ACTION_UPLOADING = 'draft-queue-action-uploading';
|
|
80626
|
-
const DRAFT_QUEUE_ACTION_COMPLETED = 'draft-queue-action-completed';
|
|
80627
|
-
const DRAFT_QUEUE_ACTION_DELETED = 'draft-queue-action-deleted';
|
|
80628
|
-
const DRAFT_QUEUE_ACTION_UPDATED = 'draft-queue-action-updated';
|
|
80629
|
-
const DRAFT_QUEUE_ACTION_FAILED = 'draft-queue-action-failed';
|
|
80630
|
-
const DRAFT_QUEUE_TOTAL_MERGE_ACTIONS_CALLS = 'draft-queue-total-mergeActions-calls';
|
|
80631
|
-
/** Content Document */
|
|
80632
|
-
const CREATE_CONTENT_DOCUMENT_AND_VERSION_TOTAL_SYNTHESIZE_CALLS = 'content-document-version-total-synthesize-calls';
|
|
80633
|
-
const CREATE_CONTENT_DOCUMENT_AND_VERSION_DRAFT_SYNTHESIZE_ERROR = 'create-content-document-version-draft-synthesize-error';
|
|
80634
|
-
/** Priming */
|
|
80635
|
-
const PRIMING_TOTAL_SESSION_COUNT = 'priming-total-session-count';
|
|
80636
|
-
const PRIMING_TOTAL_ERROR_COUNT = 'priming-total-error-count';
|
|
80637
|
-
const PRIMING_TOTAL_PRIMED_COUNT = 'priming-total-primed-count';
|
|
80638
|
-
const PRIMING_TOTAL_CONFLICT_COUNT = 'priming-total-conflict-count';
|
|
80639
|
-
// logs
|
|
80640
|
-
const GRAPHQL_QUERY_PARSE_ERROR = 'gql-query-parse-error';
|
|
80641
|
-
const GRAPHQL_SQL_EVAL_PRECONDITION_ERROR = 'gql-sql-pre-eval-error';
|
|
80642
|
-
const GRAPHQL_CREATE_SNAPSHOT_ERROR = 'gql-create-snapshot-error';
|
|
80643
|
-
const DRAFT_AWARE_CREATE_CONTENT_DOCUMENT_AND_VERSION_ERROR = 'draft-aware-create-content-document-and-version-error';
|
|
80644
|
-
/** Garbage Collection */
|
|
80645
|
-
const GARBAGE_COLLECTION_AGGRESSIVE_TRIM_COUNT = 'garbage-collection-aggressive-trim-count';
|
|
80646
|
-
const GARBAGE_COLLECTION_AGGRESSIVE_TRIM_RECORDS_TRIMMED = 'garbage-collection-aggressive-trim-records-trimmed';
|
|
80647
|
-
const GARBAGE_COLLECTION_AGGRESSIVE_TRIM_TOTAL_RECORDS_BEFORE_TRIM = 'garbage-collection-aggressive-trim-total-records-before-trim';
|
|
80648
|
-
const ldsMobileInstrumentation$2 = getInstrumentation();
|
|
80649
|
-
const nimbusLogger = typeof __nimbus !== 'undefined' &&
|
|
80650
|
-
__nimbus.plugins !== undefined &&
|
|
80651
|
-
__nimbus.plugins.JSLoggerPlugin !== undefined
|
|
80652
|
-
? __nimbus.plugins.JSLoggerPlugin
|
|
80653
|
-
: undefined;
|
|
80654
|
-
function reportGraphqlQueryParseError(err) {
|
|
80655
|
-
const error = normalizeError$1(err);
|
|
80656
|
-
const errorCode = GRAPHQL_QUERY_PARSE_ERROR;
|
|
80657
|
-
// Metric
|
|
80658
|
-
reportGraphqlAdapterError(errorCode);
|
|
80659
|
-
// Log
|
|
80660
|
-
ldsMobileInstrumentation$2.error(error, errorCode);
|
|
80661
|
-
}
|
|
80662
|
-
function reportGraphqlSqlEvalPreconditionError(err) {
|
|
80663
|
-
const error = normalizeError$1(err);
|
|
80664
|
-
const errorCode = GRAPHQL_SQL_EVAL_PRECONDITION_ERROR;
|
|
80665
|
-
// Metric
|
|
80666
|
-
reportGraphqlAdapterError(errorCode);
|
|
80667
|
-
// Log
|
|
80668
|
-
ldsMobileInstrumentation$2.error(error, errorCode);
|
|
80669
|
-
}
|
|
80670
|
-
function reportGraphqlCreateSnapshotError(err) {
|
|
80671
|
-
const error = normalizeError$1(err);
|
|
80672
|
-
const errorCode = GRAPHQL_CREATE_SNAPSHOT_ERROR;
|
|
80673
|
-
// Metric
|
|
80674
|
-
reportGraphqlAdapterError(errorCode);
|
|
80675
|
-
// Log
|
|
80676
|
-
ldsMobileInstrumentation$2.error(error, errorCode);
|
|
80677
|
-
}
|
|
80678
|
-
function reportGraphQlEvalDbReadDuration(duration) {
|
|
80679
|
-
ldsMobileInstrumentation$2.trackValue(GRAPHQL_EVAL_DB_READ_DURATION, duration);
|
|
80680
|
-
}
|
|
80681
|
-
function reportGraphqlAdapterError(errorCode) {
|
|
80682
|
-
// Increment overall count with errorCode as tag
|
|
80683
|
-
ldsMobileInstrumentation$2.incrementCounter(GRAPHQL_EVAL_ERROR, 1, true, { errorCode });
|
|
80684
|
-
}
|
|
80685
|
-
function reportGraphqlQueryInstrumentation(data) {
|
|
80686
|
-
const queryBuckets = [1, 2, 3, 4, 5, 10, 20, 50, 100];
|
|
80687
|
-
const recordBuckets = [
|
|
80688
|
-
1, 5, 10, 20, 50, 100, 1000, 2000, 5000, 10000, 50000, 100000, 1000000,
|
|
80689
|
-
];
|
|
80690
|
-
ldsMobileInstrumentation$2.bucketValue(GRAPHQL_EVAL_ROOT_QUERY_COUNT, data.rootQueryCount, queryBuckets);
|
|
80691
|
-
ldsMobileInstrumentation$2.bucketValue(GRAPHQL_EVAL_TOTAL_QUERY_COUNT, data.totalQueryCount, queryBuckets);
|
|
80692
|
-
ldsMobileInstrumentation$2.bucketValue(GRAPHQL_EVAL_MAX_CHILD_RELATIONSHIPS_COUNT, data.maxChildRelationships, queryBuckets);
|
|
80693
|
-
ldsMobileInstrumentation$2.bucketValue(GRAPHQL_EVAL_QUERY_RECORD_COUNT, data.requestedRecordCount, recordBuckets);
|
|
80694
|
-
}
|
|
80695
|
-
function incrementGraphQLRefreshUndfined() {
|
|
80696
|
-
ldsMobileInstrumentation$2.incrementCounter(GRAPHQL_SNAPSHOT_REFRESH_UNDEFINED);
|
|
80697
|
-
}
|
|
80698
|
-
function reportDraftActionEvent(state, draftCount, message) {
|
|
80699
|
-
if (nimbusLogger) {
|
|
80700
|
-
nimbusLogger.logInfo(`Draft action event: ${state}, depth: ${draftCount}${message ? `, message: ${message}` : ''}`);
|
|
80701
|
-
}
|
|
80702
|
-
switch (state) {
|
|
80703
|
-
case 'added':
|
|
80704
|
-
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_ADDED);
|
|
80705
|
-
break;
|
|
80706
|
-
case 'uploading':
|
|
80707
|
-
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_UPLOADING);
|
|
80708
|
-
break;
|
|
80709
|
-
case 'completed':
|
|
80710
|
-
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_COMPLETED);
|
|
80711
|
-
break;
|
|
80712
|
-
case 'deleted':
|
|
80713
|
-
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_DELETED);
|
|
80714
|
-
break;
|
|
80715
|
-
case 'failed':
|
|
80716
|
-
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_FAILED, 1, true);
|
|
80717
|
-
break;
|
|
80718
|
-
case 'updated':
|
|
80719
|
-
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_ACTION_UPDATED);
|
|
80720
|
-
break;
|
|
80721
|
-
}
|
|
80722
|
-
}
|
|
80723
|
-
function reportDraftQueueState(state, draftCount) {
|
|
80724
|
-
if (nimbusLogger) {
|
|
80725
|
-
nimbusLogger.logInfo(`Draft state changed: ${state}, depth: ${draftCount}`);
|
|
80726
|
-
}
|
|
80727
|
-
switch (state) {
|
|
80728
|
-
case 'started':
|
|
80729
|
-
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_STATE_STARTED);
|
|
80730
|
-
break;
|
|
80731
|
-
case 'error':
|
|
80732
|
-
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_STATE_ERROR, 1, true);
|
|
80733
|
-
break;
|
|
80734
|
-
case 'waiting':
|
|
80735
|
-
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_STATE_WAITING);
|
|
80736
|
-
break;
|
|
80737
|
-
case 'stopped':
|
|
80738
|
-
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_STATE_STOPPED);
|
|
80739
|
-
break;
|
|
80740
|
-
}
|
|
80741
|
-
}
|
|
80742
|
-
function reportDraftAwareContentDocumentVersionSynthesizeError(err) {
|
|
80743
|
-
let error;
|
|
80744
|
-
if (err.body !== undefined) {
|
|
80745
|
-
error = err.body;
|
|
80746
|
-
}
|
|
80747
|
-
else {
|
|
80748
|
-
error = normalizeError$1(err);
|
|
80749
|
-
}
|
|
80750
|
-
const errorCode = DRAFT_AWARE_CREATE_CONTENT_DOCUMENT_AND_VERSION_ERROR;
|
|
80751
|
-
const errorType = error.errorType;
|
|
80752
|
-
const tags = {
|
|
80753
|
-
errorCode,
|
|
80754
|
-
};
|
|
80755
|
-
if (errorType !== undefined) {
|
|
80756
|
-
tags.errorType = errorType;
|
|
80757
|
-
}
|
|
80758
|
-
// Metric
|
|
80759
|
-
ldsMobileInstrumentation$2.incrementCounter(CREATE_CONTENT_DOCUMENT_AND_VERSION_DRAFT_SYNTHESIZE_ERROR, 1, true, tags);
|
|
80760
|
-
// Log
|
|
80761
|
-
ldsMobileInstrumentation$2.error(error, errorCode);
|
|
80762
|
-
}
|
|
80763
|
-
function reportDraftAwareContentVersionSynthesizeCalls(mimeType) {
|
|
80764
|
-
ldsMobileInstrumentation$2.incrementCounter(CREATE_CONTENT_DOCUMENT_AND_VERSION_TOTAL_SYNTHESIZE_CALLS, 1, undefined, { mimeType });
|
|
80765
|
-
}
|
|
80766
|
-
/** Priming */
|
|
80767
|
-
function reportPrimingSessionCreated() {
|
|
80768
|
-
ldsMobileInstrumentation$2.incrementCounter(PRIMING_TOTAL_SESSION_COUNT, 1, undefined, {});
|
|
80769
|
-
}
|
|
80770
|
-
function reportPrimingError(errorType, recordCount) {
|
|
80771
|
-
ldsMobileInstrumentation$2.incrementCounter(PRIMING_TOTAL_ERROR_COUNT, recordCount, undefined, {
|
|
80772
|
-
errorType,
|
|
80773
|
-
});
|
|
80774
|
-
}
|
|
80775
|
-
function reportPrimingSuccess(recordCount) {
|
|
80776
|
-
ldsMobileInstrumentation$2.incrementCounter(PRIMING_TOTAL_PRIMED_COUNT, recordCount, undefined);
|
|
80777
|
-
}
|
|
80778
|
-
function reportPrimingConflict(resolutionType, recordCount) {
|
|
80779
|
-
ldsMobileInstrumentation$2.incrementCounter(PRIMING_TOTAL_CONFLICT_COUNT, recordCount, undefined, {
|
|
80780
|
-
resolutionType,
|
|
80781
|
-
});
|
|
80782
|
-
}
|
|
80783
|
-
/** Network */
|
|
80784
|
-
function reportChunkCandidateUrlLength(urlLength) {
|
|
80785
|
-
const buckets = [8000, 10000, 12000, 14000, 16000];
|
|
80786
|
-
ldsMobileInstrumentation$2.bucketValue('chunk-candidate-url-length-histogram', urlLength, buckets);
|
|
80787
|
-
}
|
|
80788
|
-
/** Garbage Collection */
|
|
80789
|
-
function reportAggressiveTrimTriggered(trimCount, beforeTrimRecordCount, totalRecordsTrimmed) {
|
|
80790
|
-
ldsMobileInstrumentation$2.trackValue(GARBAGE_COLLECTION_AGGRESSIVE_TRIM_COUNT, trimCount);
|
|
80791
|
-
ldsMobileInstrumentation$2.trackValue(GARBAGE_COLLECTION_AGGRESSIVE_TRIM_TOTAL_RECORDS_BEFORE_TRIM, beforeTrimRecordCount);
|
|
80792
|
-
ldsMobileInstrumentation$2.trackValue(GARBAGE_COLLECTION_AGGRESSIVE_TRIM_RECORDS_TRIMMED, totalRecordsTrimmed);
|
|
80793
|
-
}
|
|
80794
|
-
/** One Store Cache Purge */
|
|
80795
|
-
const ONESTORE_CACHE_PURGING_RECORDS_PURGED = 'onestore-cache-purging-records-purged';
|
|
80796
|
-
const ONESTORE_CACHE_PURGING_RECORDS_ERROR = 'onestore-cache-purging-records-error';
|
|
80797
|
-
function reportOneStoreRecordsPurgedFromCache(recordsPurged) {
|
|
80798
|
-
ldsMobileInstrumentation$2.trackValue(ONESTORE_CACHE_PURGING_RECORDS_PURGED, recordsPurged);
|
|
80799
|
-
}
|
|
80800
|
-
function reportOneStoreCachePurgingError(error) {
|
|
80801
|
-
const errorMessage = normalizeError$1(error);
|
|
80802
|
-
ldsMobileInstrumentation$2.error(errorMessage, ONESTORE_CACHE_PURGING_RECORDS_ERROR);
|
|
80803
|
-
}
|
|
80804
|
-
|
|
80805
81075
|
const QUICK_ACTION_HANDLER = 'QUICK_ACTION_HANDLER';
|
|
80806
81076
|
class QuickActionExecutionRepresentationHandler extends AbstractQuickActionHandler {
|
|
80807
81077
|
constructor(getLuvio, draftRecordService, draftQueue, networkAdapter, isDraftId, sideEffectService, objectInfoService, getRecord) {
|
|
@@ -85508,7 +85778,7 @@ function isRecordType(type) {
|
|
|
85508
85778
|
return Boolean(interfaces.find((iface) => iface.name === 'Record'));
|
|
85509
85779
|
}
|
|
85510
85780
|
|
|
85511
|
-
var uiapiSchemaString = "# Auto-generated merged GraphQL schema\n# Generated at: 2025-10-14T15:00:19.876399281Z\n# Source files: ui-services-private/java/resources/graphql-schemas/analytics.graphqls, ui-services-private/java/resources/graphql-schemas/setup-listview.graphqls, ui-services-private/java/resources/graphql-schemas/setup.graphqls, ui-services-private/java/resources/graphql-schemas/uiapi.graphqls\n\n# ============================================================\n# Source: ui-services-private/java/resources/graphql-schemas/analytics.graphqls\n# ============================================================\ninput Analytics__AnalyticsFilter @team(name: \"TUA-Admin-Home-Search\") {\n Id: Setup__IdOperators\n MasterLabel: StringOperators\n DeveloperName: StringOperators\n NamespacePrefix: StringOperators\n AssetApiName: StringOperators\n DataConnectorType: StringOperators\n CreatedById: Setup__IdOperators\n LastModifiedById: Setup__IdOperators\n SemanticMetricId: Setup__IdOperators\n SemanticModelId: Setup__IdOperators\n LastModifiedDate: DateTimeOperators\n CreatedDate: DateTimeOperators\n AssetUsageType: PicklistOperators\n ActivePromotionRequestId: Setup__IdOperators\n SemanticModel: Analytics__SemanticModelFilter\n and: [Analytics__AnalyticsFilter]\n or: [Analytics__AnalyticsFilter]\n not: Analytics__AnalyticsFilter\n}\n\ninput Analytics__SemanticModelFilter @team(name: \"TUA-Admin-Home-Search\") {\n DeveloperName: StringOperators\n MasterLabel: StringOperators\n}\n\nenum Analytics__SortEnumType @team(name: \"TUA-Admin-Home-Search\") {\n ASC\n DESC\n}\n\ntype Analytics__SemanticSubMetricDefinitionConnection @team(name: \"TUA-Admin-Home-Search\") {\n edges: [Analytics__SemanticSubMetricDefinitionEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticSubMetricDefinitionEdge @team(name: \"TUA-Admin-Home-Search\") {\n node: Analytics__SemanticSubMetricDefinitionRepresentation\n cursor: String!\n}\n\ntype Analytics__DataspaceRepresentation @team(name: \"TUA-Admin-Home-Search\") {\n Id: ID!\n ApiName: String!\n MasterLabel: String\n DeveloperName: String\n}\n\ninterface Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\ntype Analytics__AnalyticsBrowse @team(name: \"TUA-Admin-Home-Search\") {\n edges: [Analytics__AnalyticsEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\n# Empty enum is invalid GraphQL\n# enum AnalyticsAssetType @team(name: \"TUA-Admin-Home-Search\") @generic {\n# }\n\ntype Analytics__AnalyticsWorkspaceAssetConnection @team(name: \"TUA-Admin-Home-Search\") {\n edges: [Analytics__AnalyticsWorkspaceAssetEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticDefinition implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n SemanticModelId: IDValue\n SemanticModel: Analytics__SemanticModel\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n SubMetrics(first: Int, after: String): Analytics__SemanticSubMetricDefinitionConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\ntype Analytics__DominoTemplate implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA Intel MarketPlace\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n TemplateStatus: StringValue\n TemplateType: StringValue\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\ntype Analytics__AnalyticsEdge @team(name: \"TUA-Admin-Home-Search\") {\n node: Analytics__AnalyticsRepresentationInterface\n cursor: String!\n}\n\ntype Analytics__AnalyticsWorkspace @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n}\n\ntype Analytics__SemanticSubMetricDefinitionRepresentation @team(name: \"TUA-Admin-Home-Search\") {\n Id: ID!\n ApiName: String!\n SemanticModelId: IDValue\n SemanticMetricId: IDValue\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n}\n\ntype Analytics__AnalyticsWorkspaceAssetEdge @team(name: \"TUA-Admin-Home-Search\") {\n node: Analytics__AnalyticsWorkspaceAsset\n cursor: String!\n}\n\ninput Analytics__OrderByInput @team(name: \"TUA-Admin-Home-Search\") {\n order: Analytics__SortEnumType\n}\n\ntype Analytics__AnalyticsRepresentation implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n RecordOperations: [String]\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\ntype Analytics__SemanticModelRelatedModelConnection @team(name: \"TUA-Admin-Home-Search\") {\n edges: [Analytics__SemanticModelRelatedModelEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticModelRelatedModelRepresentation @team(name: \"TUA-Admin-Home-Search\") {\n Id: ID!\n ApiName: String!\n SemanticModelId: IDValue\n RelatedSemanticModel: Analytics__SemanticModel\n}\n\ntype Analytics__SemanticModelRelatedModelEdge @team(name: \"TUA-Admin-Home-Search\") {\n node: Analytics__SemanticModelRelatedModelRepresentation\n cursor: String!\n}\n\ntype Analytics__SemanticModel implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n NamespacePrefix: StringValue\n RelatedModel(first: Int, after: String): Analytics__SemanticModelRelatedModelConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\n# assetTypes: AnalyticsAssetType - empty enum is invalid GraphQL so replace with String\ntype Analytics__Analytics @team(name: \"TUA-Admin-Home-Search\") {\n browse(where: Analytics__AnalyticsFilter, assetTypes: [String], orderBy: Analytics__AnalyticsOrderBy, first: Int, orgId: ID, after: String): Analytics__AnalyticsBrowse! @fieldCategory\n}\n\ntype Analytics__AnalyticsWorkspaceAsset @team(name: \"TUA-Admin-Home-Search\") {\n AnalyticsWorkspace: Analytics__AnalyticsWorkspace\n AssetUsageType: PicklistValue\n ActivePromotionRequestId: IDValue\n MetadataSourceType: PicklistValue\n}\n\ninput Analytics__AnalyticsOrderBy @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: Analytics__OrderByInput\n Id: Analytics__OrderByInput\n ApiName: Analytics__OrderByInput\n LastModifiedById: Analytics__OrderByInput\n CreatedById: Analytics__OrderByInput\n LastModifiedDate: Analytics__OrderByInput\n CreatedDate: Analytics__OrderByInput\n}\n\ntype Analytics__MktDataConnector implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n NamespacePrefix: StringValue\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n DataConnectorType: StringValue\n AssetApiName: String\n DloActiveStatus: Boolean\n}\n\n# ============================================================\n# Source: ui-services-private/java/resources/graphql-schemas/setup-listview.graphqls\n# ============================================================\ninput Setup__ListOrderInput {\n apiName: String!\n order: ResultsOrder\n}\n\ntype Setup__ListOrder {\n apiName: String!\n order: ResultsOrder\n label: String\n}\n\ntype Setup__ListViewRowConnection {\n edges: [Setup__ListViewRowEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ntype Setup__ListView {\n listViewType: String!\n label: String\n displayColumns: [Setup__ListColumn!]!\n filters: [Setup__ListFilter!]\n filterLogic: String\n orderedByInfo: [Setup__ListOrder!]!\n searchable: Boolean!\n rows(first: Int, after: String, upperBound: Int, orderBy: Setup__ListOrderInput, searchTerm: String): Setup__ListViewRowConnection\n}\n\nenum Setup__ListFilterOperator {\n EQUALS\n NOT_EQUAL\n LESS_THAN\n GREATER_THAN\n LESS_OR_EQUAL\n GREATER_OR_EQUAL\n CONTAINS\n NOT_CONTAIN\n STARTS_WITH\n INCLUDES\n EXCLUDES\n WITHIN\n}\n\ntype Setup__ListFilter {\n apiName: String!\n operator: Setup__ListFilterOperator!\n operand: [String!]!\n label: String\n}\n\ntype Setup__ListColumn {\n apiName: String!\n label: String!\n type: DataType!\n displayable: Boolean!\n filterable: Boolean!\n defaultOperator: Setup__ListFilterOperator\n allowedOperators: [Setup__ListFilterOperator!]\n sortable: Boolean\n navigable: Boolean\n}\n\ntype Setup__ListScalarField {\n apiName: String!\n value: String\n dataType: DataType\n displayValue: String\n format: String\n label: String\n lookupRecordId: String\n lookupObjectApiName: String\n}\n\ntype Setup__ListViewRow {\n id: String\n columns(apiNames: [String!]): [Setup__ListScalarField]!\n}\n\ntype Setup__ListViewRowEdge {\n cursor: String!\n node: Setup__ListViewRow\n}\n\ntype Setup__ListViewObjectInfo {\n columns(apiNames: [String!], displayable: Boolean, filterable: Boolean) : [Setup__ListColumn!]!\n}\n\ninput Setup__ListFilterInput {\n apiName: String!\n operator: Setup__ListFilterOperator!\n operand: [String!]!\n}\n\nextend type Setup__Setup {\n ListView(listViewType: String!, label: String, displayColumns: [String!], filters: [Setup__ListFilterInput!], filterLogic: String): Setup__ListView!\n ListViewObjectInfo(listViewType: String!): Setup__ListViewObjectInfo!\n}\n\n# ============================================================\n# Source: ui-services-private/java/resources/graphql-schemas/setup.graphqls\n# ============================================================\n# scope should be RecordScope, but it is an empty enum\ntype Setup__SetupQueryAggregate {\n recordQueryAggregate(first: Int, after: String, where: Setup__SetupFilter, orderBy: Setup__SetupAggregateOrderBy, scope: String, groupBy: Setup__SetupGroupBy, upperBound: Int, includeDeleted: Boolean): Setup__SetupAggregateConnection @fieldCategory\n}\n\nunion Setup__SetupPolymorphicParentRelationship @generic = Setup__EntityRepresentation\n\ninput Setup__SetupPolymorphicParentRelationshipRecordOrderBy @generic {\n Setup__SetupOrderBy: Setup__SetupOrderBy @fieldCategory\n}\n\ninput Setup__IdOperators {\n eq: ID\n ne: ID\n lt: ID\n gt: ID\n lte: ID\n gte: ID\n in: [ID]\n nin: [ID]\n inq: Setup__JoinInput\n ninq: Setup__JoinInput\n}\n\ninput Setup__JoinInput {\n Record: Setup__SetupFilter @fieldCategory\n ApiName: String\n}\n\ntype Setup__SetupAggregateConnection @generic {\n edges: [Setup__SetupAggregateEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ninput Setup__SetupAggregateOrderBy @generic {\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: Setup__SetupAggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipOrderBy @fieldCategory\n}\n\ntype Setup__SetupConnection @generic {\n edges: [Setup__SetupEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n pageResultCount: Int!\n}\n\ntype Setup__SetupAggregateEdge @generic {\n node: Setup__SetupRecordResult\n cursor: String!\n}\n\ninput Setup__SetupPolymorphicParentRelationshipRecordFilter @generic {\n Setup__SetupFilter: Setup__SetupFilter @fieldCategory\n}\n\ntype Setup__SetupRecordResult @generic {\n aggregate: Setup__SetupRecordAggregate\n}\n\ntype Setup__SetupRecordAggregate @generic {\n ApiName: String!\n BooleanAggregate: BooleanAggregate @fieldCategory\n CurrencyAggregate: CurrencyAggregate @fieldCategory\n DateAggregate: DateAggregate @fieldCategory\n DoubleAggregate: DoubleAggregate @fieldCategory\n EmailAggregate: EmailAggregate @fieldCategory\n IDAggregate: IDAggregate @fieldCategory\n IntAggregate: IntAggregate @fieldCategory\n LatitudeAggregate: LatitudeAggregate @fieldCategory\n LongitudeAggregate: LongitudeAggregate @fieldCategory\n LongAggregate: LongAggregate @fieldCategory\n PercentAggregate: PercentAggregate @fieldCategory\n PhoneNumberAggregate: PhoneNumberAggregate @fieldCategory\n PicklistAggregate: PicklistAggregate @fieldCategory\n StringAggregate: StringAggregate @fieldCategory\n TextAreaAggregate: TextAreaAggregate @fieldCategory\n TimeAggregate: TimeAggregate @fieldCategory\n UrlAggregate: UrlAggregate @fieldCategory\n parentRelationship: Setup__SetupRecordAggregate @fieldCategory\n polymorphicParentRelationship: Setup__SetupPolymorphicAggregateParentRelationship @fieldCategory\n}\n\ninput Setup__SetupOrderBy @generic {\n orderableField: OrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: Setup__SetupOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipRecordOrderBy @fieldCategory\n}\n\ninput Setup__SetupPolymorphicParentRelationshipOrderBy @generic {\n Setup__SetupAggregateOrderBy: Setup__SetupAggregateOrderBy @fieldCategory\n}\n\ntype Setup__SetupEdge @generic {\n node: Setup__EntityRepresentation\n cursor: String!\n}\n\n # scope should be RecordScope, but it is an empty enum\ntype Setup__SetupQuery {\n recordQuery(first: Int, after: String, where: Setup__SetupFilter, orderBy: Setup__SetupOrderBy, scope: String, upperBound: Int, includeDeleted: Boolean, updateMRU: Boolean): Setup__SetupConnection @fieldCategory\n}\n\ntype Setup__EntityRepresentation @generic {\n Id: ID!\n ApiName: String!\n Entity__fields(type: SObject__FieldType): [SObject__Field]! @ignoreRule(rules:[{ rule: \"FieldCamelOrPascalCaseRule\" teamName: \"UI Experience API\" justification: \"SObject__ prefix added to prevent name collisions.\" }])\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n AnyType: AnyType @fieldCategory\n parentRelationship: Setup__EntityRepresentation @fieldCategory\n polymorphicParentRelationship: Setup__SetupPolymorphicParentRelationship @fieldCategory\n childRelationship(first: Int, after: String, where: Setup__SetupFilter, orderBy: Setup__SetupOrderBy, upperBound: Int): Setup__SetupConnection @fieldCategory\n CompoundField: CompoundField @fieldCategory\n}\n\ninput Setup__SetupFilter @generic {\n and: [Setup__SetupFilter]\n or: [Setup__SetupFilter]\n not: Setup__SetupFilter\n parentRelationshipRecordFilter: Setup__SetupFilter @fieldCategory\n polymorphicParentRelationshipRecordFilter: Setup__SetupPolymorphicParentRelationshipRecordFilter @fieldCategory\n IntegerOperator: IntegerOperators @fieldCategory\n LongOperator: LongOperators @fieldCategory\n StringOperator: StringOperators @fieldCategory\n DoubleOperator: DoubleOperators @fieldCategory\n PercentOperator: PercentOperators @fieldCategory\n LongitudeOperator: LongitudeOperators @fieldCategory\n LatitudeOperator: LatitudeOperators @fieldCategory\n EmailOperator: EmailOperators @fieldCategory\n TextAreaOperator: TextAreaOperators @fieldCategory\n LongTextAreaOperator: LongTextAreaOperators @fieldCategory\n URLOperator: URLOperators @fieldCategory\n PhoneNumberOperator: PhoneNumberOperators @fieldCategory\n BooleanOperator: BooleanOperators @fieldCategory\n Setup__IdOperator: Setup__IdOperators @fieldCategory\n CurrencyOperator: CurrencyOperators @fieldCategory\n TimeOperator: TimeOperators @fieldCategory\n DateOperator: DateOperators @fieldCategory\n DateTimeOperator: DateTimeOperators @fieldCategory\n PicklistOperator: PicklistOperators @fieldCategory\n MultiPicklistOperator: MultiPicklistOperators @fieldCategory\n GeolocationOperator: GeolocationOperators @fieldCategory\n}\n\ninput Setup__SetupGroupBy @generic {\n groupableField: GroupByClause @fieldCategory\n groupableDateField: GroupByDateFunction @fieldCategory\n groupableParentRelationship: Setup__SetupGroupBy @fieldCategory\n groupablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipGroupBy @fieldCategory\n type: GroupByType = GROUP_BY\n}\n\nunion Setup__SetupPolymorphicAggregateParentRelationship @generic = Setup__SetupRecordAggregate\n\ntype Setup__Setup {\n query: Setup__SetupQuery!\n aggregate: Setup__SetupQueryAggregate!\n objectInfos(apiNames: [String!], locale: String, objectInfoInputs: [ObjectInfoInput!]): [ObjectInfo]\n}\n\ninput Setup__SetupPolymorphicParentRelationshipGroupBy @generic {\n Setup__SetupGroupBy: Setup__SetupGroupBy @fieldCategory\n}\n\n\n# ============================================================\n# Source: ui-services-private/java/resources/graphql-schemas/uiapi.graphqls\n# ============================================================\nscalar BigDecimal\nscalar Byte\nscalar Char\nscalar BigInteger\nscalar Short\nscalar String\nscalar Currency\nscalar Longitude\nscalar Float\nscalar PhoneNumber\nscalar Email\nscalar TextArea\nscalar Latitude\nscalar RichTextArea\nscalar EncryptedString\nscalar Long\nscalar JSON\nscalar Time\nscalar Percent\nscalar LongTextArea\nscalar DateTime\nscalar ID\nscalar Boolean\nscalar MultiPicklist\nscalar Base64\nscalar Url\nscalar Picklist\nscalar Double\nscalar Int\nscalar IdOrRef\nscalar Date\n\ntype PercentAggregate implements FieldValue {\n value: Percent\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: PercentValue\n min: PercentValue\n sum: PercentValue\n}\n\ntype StringAggregate implements FieldValue {\n value: String\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: StringValue\n min: StringValue\n}\n\ntype Query {\n uiapi: UIAPI!\n setup: Setup__Setup! @fieldCategory\n analytics: Analytics__Analytics! @fieldCategory\n}\n\ninput EmailOperators {\n eq: Email\n ne: Email\n like: Email\n lt: Email\n gt: Email\n lte: Email\n gte: Email\n in: [Email]\n nin: [Email]\n}\n\ninput DoubleOperators {\n eq: Double\n ne: Double\n lt: Double\n gt: Double\n lte: Double\n gte: Double\n in: [Double]\n nin: [Double]\n}\n\ntype DateOnlyAggregation {\n value: Date\n format: String\n}\n\ntype DateAggregate implements FieldValue {\n value: Date\n displayValue: String\n calendarMonth: DateFunctionAggregation\n calendarQuarter: DateFunctionAggregation\n calendarYear: DateFunctionAggregation\n count: LongValue\n countDistinct: LongValue\n dayInMonth: DateFunctionAggregation\n dayInWeek: DateFunctionAggregation\n dayInYear: DateFunctionAggregation\n fiscalMonth: DateFunctionAggregation\n fiscalQuarter: DateFunctionAggregation\n fiscalYear: DateFunctionAggregation\n format: String\n grouping: IntValue\n max: DateValue\n min: DateValue\n weekInMonth: DateFunctionAggregation\n weekInYear: DateFunctionAggregation\n}\n\nenum GroupByFunction {\n DAY_IN_WEEK\n DAY_IN_MONTH\n DAY_IN_YEAR\n WEEK_IN_MONTH\n WEEK_IN_YEAR\n CALENDAR_MONTH\n CALENDAR_QUARTER\n CALENDAR_YEAR\n FISCAL_MONTH\n FISCAL_QUARTER\n FISCAL_YEAR\n DAY_ONLY\n HOUR_IN_DAY\n}\n\ntype RecordTypeInfo {\n available: Boolean!\n defaultRecordTypeMapping: Boolean!\n master: Boolean!\n name: String\n recordTypeId: ID\n}\n\ninput UIAPIMutationsInput {\n \"Determines whether or not all the operations should be rolled back in the event one or more operations fail.\"\n allOrNone: Boolean = true\n}\n\ntype ReferenceToInfo {\n ApiName: String!\n nameFields: [String]!\n objectInfo: ObjectInfo\n}\n\ninterface FieldValue {\n displayValue: String\n}\n\ntype LongitudeValue implements FieldValue {\n value: Longitude\n displayValue: String\n}\n\ntype IntValue implements FieldValue {\n value: Int\n displayValue: String\n format: String\n}\n\ntype UrlValue implements FieldValue {\n value: Url\n displayValue: String\n}\n\ntype LongAggregate implements FieldValue {\n value: Long\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n grouping: IntValue\n max: LongValue\n min: LongValue\n sum: LongValue\n}\n\ninput TimeOperators {\n eq: Time\n ne: Time\n lt: Time\n gt: Time\n lte: Time\n gte: Time\n in: [Time]\n nin: [Time]\n}\n\ntype PicklistValue implements FieldValue {\n value: Picklist\n displayValue: String\n label: String\n}\n\ntype RelatedListInfo @team(name: \"Lists Platform\") {\n childApiName: String!\n relatedListName: String!\n label: String!\n displayColumns: [ListColumn!]!\n orderedByInfo: [ListOrder!]!\n parentApiName: String!\n fieldApiName: String!\n}\n\ninput StringOperators {\n eq: String\n ne: String\n like: String\n lt: String\n gt: String\n lte: String\n gte: String\n in: [String]\n nin: [String]\n}\n\ntype UIAPI {\n query: RecordQuery!\n aggregate: RecordQueryAggregate!\n objectInfos(apiNames: [String!], locale: String, objectInfoInputs: [ObjectInfoInput!]): [ObjectInfo]\n relatedListByName(parentApiName: String!, relatedListName: String!): RelatedListInfo\n}\n\n\"Input for ObjectInfo and PickValues\"\ninput ObjectInfoInput {\n apiName: String!\n recordTypeIDs: [ID!]\n fieldNames: [String!]\n}\n\ninput MultiPicklistOperators {\n eq: MultiPicklist\n ne: MultiPicklist\n includes: [MultiPicklist]\n excludes: [MultiPicklist]\n}\n\ntype DateTimeAggregate implements FieldValue {\n value: DateTime\n displayValue: String\n calendarMonth: DateFunctionAggregation\n calendarQuarter: DateFunctionAggregation\n calendarYear: DateFunctionAggregation\n count: LongValue\n countDistinct: LongValue\n dayInMonth: DateFunctionAggregation\n dayInWeek: DateFunctionAggregation\n dayInYear: DateFunctionAggregation\n dayOnly: DateOnlyAggregation\n fiscalMonth: DateFunctionAggregation\n fiscalQuarter: DateFunctionAggregation\n fiscalYear: DateFunctionAggregation\n format: String\n hourInDay: DateFunctionAggregation\n max: DateTimeValue\n min: DateTimeValue\n weekInMonth: DateFunctionAggregation\n weekInYear: DateFunctionAggregation\n}\n\ntype EmailAggregate implements FieldValue {\n value: Email\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: EmailValue\n min: EmailValue\n}\n\ninput GroupByDateFunction {\n function: GroupByFunction\n}\n\ntype RichTextAreaValue implements FieldValue {\n value: RichTextArea\n displayValue: String\n label: String\n}\n\ninput DatePrimitiveOperators {\n eq: Date\n ne: Date\n lt: Date\n gt: Date\n lte: Date\n gte: Date\n in: [Date]\n nin: [Date]\n}\n\ntype TimeAggregate implements FieldValue {\n value: Time\n displayValue: String\n format: String\n hourInDay: DateFunctionAggregation\n}\n\ninput DistanceInput {\n latitude: Latitude!\n longitude: Longitude!\n}\n\nunion PolymorphicParentRelationship @generic = RecordRepresentation\n\nenum AggregateOrderByNumberFunction {\n AVG\n COUNT\n COUNT_DISTINCT\n MAX\n MIN\n SUM\n}\n\ntype LongTextAreaValue implements FieldValue {\n value: LongTextArea\n displayValue: String\n label: String\n}\n\ninput OrderByClause {\n order: ResultOrder\n nulls: NullOrder\n}\n\ntype SObject__Field {\n name: String!\n value: String\n}\n\ntype RecordAggregateConnection @generic {\n edges: [RecordAggregateEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ntype LongitudeAggregate implements FieldValue {\n value: Longitude\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n max: LongitudeValue\n min: LongitudeValue\n sum: DoubleValue\n}\n\ntype DateValue implements FieldValue {\n value: Date\n displayValue: String\n format: String\n}\n\ninput URLOperators {\n eq: Url\n ne: Url\n like: Url\n lt: Url\n gt: Url\n lte: Url\n gte: Url\n in: [Url]\n nin: [Url]\n}\n\ninput LongOperators {\n eq: Long\n ne: Long\n lt: Long\n gt: Long\n lte: Long\n gte: Long\n in: [Long]\n nin: [Long]\n}\n\nenum DataType {\n STRING\n TEXTAREA\n PHONE\n EMAIL\n URL\n ENCRYPTEDSTRING\n BOOLEAN\n CURRENCY\n INT\n LONG\n DOUBLE\n PERCENT\n DATETIME\n TIME\n DATE\n REFERENCE\n PICKLIST\n MULTIPICKLIST\n ADDRESS\n LOCATION\n BASE64\n COMPLEXVALUE\n COMBOBOX\n JSON\n JUNCTIONIDLIST\n ANYTYPE\n}\n\ntype DoubleAggregate implements FieldValue {\n value: Double\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: DoubleValue\n min: DoubleValue\n sum: DoubleValue\n}\n\ninput DateOperators {\n eq: DateInput\n ne: DateInput\n lt: DateInput\n gt: DateInput\n lte: DateInput\n gte: DateInput\n in: [DateInput]\n nin: [DateInput]\n DAY_IN_WEEK: DateFunctionInput\n DAY_IN_MONTH: DateFunctionInput\n DAY_IN_YEAR: DateFunctionInput\n WEEK_IN_MONTH: DateFunctionInput\n WEEK_IN_YEAR: DateFunctionInput\n CALENDAR_MONTH: DateFunctionInput\n CALENDAR_QUARTER: DateFunctionInput\n CALENDAR_YEAR: DateFunctionInput\n FISCAL_MONTH: DateFunctionInput\n FISCAL_QUARTER: DateFunctionInput\n FISCAL_YEAR: DateFunctionInput\n}\n\ninput GeolocationInput {\n latitude: Latitude!\n longitude: Longitude!\n radius: Float!\n unit: Unit!\n}\n\ninput JoinInput {\n Record: RecordFilter @fieldCategory\n ApiName: String\n}\n\ntype RecordUpdatePayload @generic {\n Record: RecordRepresentation\n success: Boolean @deprecated\n}\n\ninput PercentOperators {\n eq: Percent\n ne: Percent\n lt: Percent\n gt: Percent\n lte: Percent\n gte: Percent\n in: [Percent]\n nin: [Percent]\n}\n\ntype DoubleValue implements FieldValue {\n value: Double\n displayValue: String\n format: String\n}\n\ntype IDAggregate implements FieldValue {\n value: ID\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: IDValue\n min: IDValue\n}\n\ninput RecordCreateInput @generic {\n record: RecordCreateRepresentation! @fieldCategory\n}\n\ninput AggregateOrderByStringClause {\n function: AggregateOrderByStringFunction\n order: ResultsOrder\n nulls: NullsOrder\n}\n\n\"The return value for the mutation to delete a Record\"\ntype RecordDeletePayload {\n \"The ID of the deleted Record\"\n Id: ID\n}\n\nenum DateLiteral {\n YESTERDAY\n TODAY\n TOMORROW\n LAST_WEEK\n THIS_WEEK\n NEXT_WEEK\n LAST_MONTH\n THIS_MONTH\n NEXT_MONTH\n LAST_90_DAYS\n NEXT_90_DAYS\n LAST_QUARTER\n THIS_QUARTER\n NEXT_QUARTER\n LAST_FISCAL_QUARTER\n THIS_FISCAL_QUARTER\n NEXT_FISCAL_QUARTER\n LAST_YEAR\n THIS_YEAR\n NEXT_YEAR\n LAST_FISCAL_YEAR\n THIS_FISCAL_YEAR\n NEXT_FISCAL_YEAR\n}\n\ntype RecordRepresentation implements Record @generic {\n Id: ID!\n ApiName: String!\n WeakEtag: Long!\n DisplayValue: String\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n SystemModstamp: DateTimeValue\n RecordTypeId(fallback: Boolean): IDValue\n SetupUserSpecialField: BooleanValue @fieldCategory\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n AnyType: AnyType @fieldCategory\n parentRelationship: RecordRepresentation @fieldCategory\n polymorphicParentRelationship: PolymorphicParentRelationship @fieldCategory\n childRelationship(first: Int, after: String, where: RecordFilter, orderBy: RecordOrderBy, upperBound: Int): RecordConnection @fieldCategory\n CompoundField: CompoundField @fieldCategory\n}\n\ninput OrderByGeolocationClause {\n distance: DistanceInput\n order: ResultOrder\n nulls: NullOrder\n}\n\ntype TextAreaAggregate implements FieldValue {\n value: TextArea\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: TextAreaValue\n min: TextAreaValue\n}\n\nenum GroupByType {\n GROUP_BY\n ROLLUP\n CUBE\n}\n\nenum ResultsOrder {\n ASC\n DESC\n}\n\ntype PicklistAggregate implements FieldValue {\n value: Picklist\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: PicklistValue\n min: PicklistValue\n}\n\ninput RecordUpdateRepresentation @generic {\n Int: Int @fieldCategory\n String: String @fieldCategory\n Boolean: Boolean @fieldCategory\n ID: IdOrRef @fieldCategory\n DateTime: DateTime @fieldCategory\n Time: Time @fieldCategory\n Date: Date @fieldCategory\n TextArea: TextArea @fieldCategory\n LongTextArea: LongTextArea @fieldCategory\n RichTextArea: RichTextArea @fieldCategory\n PhoneNumber: PhoneNumber @fieldCategory\n Email: Email @fieldCategory\n Url: Url @fieldCategory\n EncryptedString: EncryptedString @fieldCategory\n Currency: Currency @fieldCategory\n Longitude: Longitude @fieldCategory\n Latitude: Latitude @fieldCategory\n Picklist: Picklist @fieldCategory\n MultiPicklist: MultiPicklist @fieldCategory\n Long: Long @fieldCategory\n Double: Double @fieldCategory\n Percent: Percent @fieldCategory\n Base64: Base64 @fieldCategory\n JSON: JSON @fieldCategory\n}\n\ntype DateTimeValue implements FieldValue {\n value: DateTime\n displayValue: String\n format: String\n}\n\n\"Input to the mutation to delete a Record\"\ninput RecordDeleteInput {\n \"The ID of the Record to delete\"\n Id: IdOrRef!\n}\n\ntype ListOrder @team(name: \"Lists Platform\") {\n fieldApiName: String!\n sortDirection: ResultOrder\n}\n\nenum AggregateOrderByStringFunction {\n COUNT\n COUNT_DISTINCT\n MAX\n MIN\n}\n\ntype LongValue implements FieldValue {\n value: Long\n displayValue: String\n format: String\n}\n\ntype DependentField {\n controllingField: String!\n dependentFields: [String]!\n}\n\ntype PercentValue implements FieldValue {\n value: Percent\n displayValue: String\n format: String\n}\n\ninput NoFunctionAggregateOrderByClause {\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ntype RecordConnection @generic {\n edges: [RecordEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n pageResultCount: Int!\n}\n\ntype FilteredLookupInfo {\n controllingFields: [String]!\n dependent: Boolean!\n optionalFilter: Boolean!\n}\n\ninput PhoneNumberOperators {\n eq: PhoneNumber\n ne: PhoneNumber\n like: PhoneNumber\n lt: PhoneNumber\n gt: PhoneNumber\n lte: PhoneNumber\n gte: PhoneNumber\n in: [PhoneNumber]\n nin: [PhoneNumber]\n}\n\ntype ObjectInfo {\n ApiName: String!\n childRelationships: [ChildRelationship]!\n createable: Boolean!\n custom: Boolean!\n defaultRecordTypeId: ID\n deletable: Boolean!\n dependentFields: [DependentField]!\n feedEnabled: Boolean!\n fields: [Field]!\n keyPrefix: String\n label: String\n labelPlural: String\n layoutable: Boolean!\n mruEnabled: Boolean!\n nameFields: [String]!\n queryable: Boolean!\n recordTypeInfos: [RecordTypeInfo]!\n searchable: Boolean!\n themeInfo: ThemeInfo\n updateable: Boolean!\n locale: String\n}\n\ninput LongitudeOperators {\n eq: Longitude\n ne: Longitude\n lt: Longitude\n gt: Longitude\n lte: Longitude\n gte: Longitude\n in: [Longitude]\n nin: [Longitude]\n}\n\ninterface Field {\n ApiName: String!\n calculated: Boolean!\n compound: Boolean!\n compoundComponentName: String\n compoundFieldName: String\n controllerName: String\n controllingFields: [String]!\n createable: Boolean!\n custom: Boolean!\n dataType: DataType\n extraTypeInfo: FieldExtraTypeInfo\n filterable: Boolean!\n filteredLookupInfo: FilteredLookupInfo\n highScaleNumber: Boolean!\n htmlFormatted: Boolean!\n inlineHelpText: String\n label: String\n nameField: Boolean!\n polymorphicForeignKey: Boolean!\n precision: Int\n reference: Boolean!\n referenceTargetField: String\n referenceToInfos: [ReferenceToInfo]!\n relationshipName: String\n required: Boolean!\n scale: Int\n searchPrefilterable: Boolean\n sortable: Boolean!\n updateable: Boolean!\n}\n\ntype StandardField implements Field {\n ApiName: String!\n calculated: Boolean!\n compound: Boolean!\n compoundComponentName: String\n compoundFieldName: String\n controllerName: String\n controllingFields: [String]!\n createable: Boolean!\n custom: Boolean!\n dataType: DataType\n extraTypeInfo: FieldExtraTypeInfo\n filterable: Boolean!\n filteredLookupInfo: FilteredLookupInfo\n highScaleNumber: Boolean!\n htmlFormatted: Boolean!\n inlineHelpText: String\n label: String\n nameField: Boolean!\n polymorphicForeignKey: Boolean!\n precision: Int\n reference: Boolean!\n referenceTargetField: String\n referenceToInfos: [ReferenceToInfo]!\n relationshipName: String\n required: Boolean!\n scale: Int\n searchPrefilterable: Boolean\n sortable: Boolean!\n updateable: Boolean!\n}\n\ntype PicklistField implements Field {\n ApiName: String!\n calculated: Boolean!\n compound: Boolean!\n compoundComponentName: String\n compoundFieldName: String\n controllerName: String\n controllingFields: [String]!\n createable: Boolean!\n custom: Boolean!\n dataType: DataType\n extraTypeInfo: FieldExtraTypeInfo\n filterable: Boolean!\n filteredLookupInfo: FilteredLookupInfo\n highScaleNumber: Boolean!\n htmlFormatted: Boolean!\n inlineHelpText: String\n label: String\n nameField: Boolean!\n polymorphicForeignKey: Boolean!\n picklistValuesByRecordTypeIDs: [PicklistValueByRecordTypeIDs]\n precision: Int\n reference: Boolean!\n referenceTargetField: String\n referenceToInfos: [ReferenceToInfo]!\n relationshipName: String\n required: Boolean!\n scale: Int\n searchPrefilterable: Boolean\n sortable: Boolean!\n updateable: Boolean!\n}\n\ntype PicklistValueByRecordTypeIDs {\n recordTypeID: String!\n controllerValues: [ControllerValues!]\n picklistValues: [PicklistValues!]\n defaultValue: PicklistValues\n}\n\ntype ControllerValues {\n value: String\n index: Int\n}\n\ntype PicklistValues {\n value: String\n label: String\n validFor: [Int]\n attributes: PicklistAttributes\n}\n\ntype PicklistAttributes {\n picklistAtrributesValueType: String\n connectDisplayName: String\n internalName: String\n}\n\ninput DateTimeFunctionInput {\n value: DatePrimitiveOperators\n convertTimezoneValue: DatePrimitiveOperators\n}\n\ntype Base64Value implements FieldValue {\n value: Base64\n displayValue: String\n}\n\ntype CompoundField @generic {\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n}\n\ninput RecordUpdateInput @generic {\n Id: IdOrRef!\n record: RecordUpdateRepresentation! @fieldCategory\n}\n\ninput DateTimeInput {\n value: DateTime\n literal: DateLiteral\n range: DateRange\n}\n\ntype ChildRelationship {\n childObjectApiName: String!\n fieldName: String\n junctionIdListNames: [String]!\n junctionReferenceTo: [String]!\n relationshipName: String\n objectInfo: ObjectInfo\n}\n\ntype RecordResult @generic {\n aggregate: RecordAggregate\n}\n\ntype PageInfo {\n hasNextPage: Boolean!\n hasPreviousPage: Boolean!\n startCursor: String\n endCursor: String\n}\n\ntype CurrencyValue implements FieldValue {\n value: Currency\n displayValue: String\n format: String\n convertCurrency: Currency\n}\n\ntype DateFunctionAggregation {\n value: Long\n format: String\n}\n\ninput PolymorphicParentRelationshipRecordOrderBy @generic {\n RecordOrderBy: RecordOrderBy @fieldCategory\n}\n\ntype RecordCreatePayload @generic {\n Record: RecordRepresentation\n}\n\ninput PolymorphicParentRelationshipGroupBy @generic {\n RecordGroupBy: RecordGroupBy @fieldCategory\n}\n\ntype BooleanValue implements FieldValue {\n value: Boolean\n displayValue: String\n}\n\ntype StringValue implements FieldValue {\n value: String\n displayValue: String\n label: String\n}\n\ninput IdOperators {\n eq: ID\n ne: ID\n lt: ID\n gt: ID\n lte: ID\n gte: ID\n in: [ID]\n nin: [ID]\n inq: JoinInput\n ninq: JoinInput\n}\n\ntype PhoneNumberAggregate implements FieldValue {\n value: PhoneNumber\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: PhoneNumberValue\n min: PhoneNumberValue\n}\n\ntype CurrencyAggregate implements FieldValue {\n value: Currency\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: CurrencyValue\n min: CurrencyValue\n sum: CurrencyValue\n}\n\ninput BooleanOperators {\n eq: Boolean\n ne: Boolean\n}\n\ntype MultiPicklistValue implements FieldValue {\n value: MultiPicklist\n displayValue: String\n label: String\n}\n\ntype ListColumn @team(name: \"Lists Platform\") {\n fieldApiName: String!\n label: String!\n lookupId: String\n sortable: Boolean\n}\n\ntype LatitudeAggregate implements FieldValue {\n value: Latitude\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n max: LatitudeValue\n min: LatitudeValue\n sum: DoubleValue\n}\n\ninput CurrencyOperators {\n eq: Currency\n ne: Currency\n lt: Currency\n gt: Currency\n lte: Currency\n gte: Currency\n in: [Currency]\n nin: [Currency]\n}\n\ntype LatitudeValue implements FieldValue {\n value: Latitude\n displayValue: String\n}\n\ninput GroupByClause {\n group: Boolean\n}\n\ntype RecordEdge @generic {\n node: RecordRepresentation\n cursor: String!\n}\n\nenum NullOrder {\n FIRST\n LAST\n}\n\ntype PhoneNumberValue implements FieldValue {\n value: PhoneNumber\n displayValue: String\n}\n\n# RecordScope is an empty enum\n# enum RecordScope @generic {\n# }\n\ninput TextAreaOperators {\n eq: TextArea\n ne: TextArea\n like: TextArea\n lt: TextArea\n gt: TextArea\n lte: TextArea\n gte: TextArea\n in: [TextArea]\n nin: [TextArea]\n}\n\ntype TextAreaValue implements FieldValue {\n value: TextArea\n displayValue: String\n label: String\n}\n\ntype RecordAggregateEdge @generic {\n node: RecordResult\n cursor: String!\n}\n\ntype ThemeInfo {\n color: String\n iconUrl: String\n}\n\ntype UrlAggregate implements FieldValue {\n value: Url\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: UrlValue\n min: UrlValue\n}\n\ntype IDValue implements FieldValue {\n value: ID\n displayValue: String\n}\n\nenum Unit {\n MI\n KM\n}\n\ninput PolymorphicParentRelationshipOrderBy @generic {\n RecordAggregateOrderBy: RecordAggregateOrderBy @fieldCategory\n}\n\nenum NullsOrder {\n FIRST\n LAST\n}\n\nenum ResultOrder {\n ASC\n DESC\n}\n\ninput RecordOrderBy @generic {\n orderableField: OrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: RecordOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipRecordOrderBy @fieldCategory\n}\n\ninput PicklistOperators {\n eq: Picklist\n ne: Picklist\n in: [Picklist]\n nin: [Picklist]\n like: Picklist\n lt: Picklist\n gt: Picklist\n lte: Picklist\n gte: Picklist\n}\n\ninput RecordFilter @generic {\n and: [RecordFilter]\n or: [RecordFilter]\n not: RecordFilter\n parentRelationshipRecordFilter: RecordFilter @fieldCategory\n polymorphicParentRelationshipRecordFilter: PolymorphicParentRelationshipRecordFilter @fieldCategory\n IntegerOperator: IntegerOperators @fieldCategory\n LongOperator: LongOperators @fieldCategory\n StringOperator: StringOperators @fieldCategory\n DoubleOperator: DoubleOperators @fieldCategory\n PercentOperator: PercentOperators @fieldCategory\n LongitudeOperator: LongitudeOperators @fieldCategory\n LatitudeOperator: LatitudeOperators @fieldCategory\n EmailOperator: EmailOperators @fieldCategory\n TextAreaOperator: TextAreaOperators @fieldCategory\n LongTextAreaOperator: LongTextAreaOperators @fieldCategory\n URLOperator: URLOperators @fieldCategory\n PhoneNumberOperator: PhoneNumberOperators @fieldCategory\n BooleanOperator: BooleanOperators @fieldCategory\n IdOperator: IdOperators @fieldCategory\n CurrencyOperator: CurrencyOperators @fieldCategory\n TimeOperator: TimeOperators @fieldCategory\n DateOperator: DateOperators @fieldCategory\n DateTimeOperator: DateTimeOperators @fieldCategory\n PicklistOperator: PicklistOperators @fieldCategory\n MultiPicklistOperator: MultiPicklistOperators @fieldCategory\n GeolocationOperator: GeolocationOperators @fieldCategory\n}\n\ntype TimeValue implements FieldValue {\n value: Time\n displayValue: String\n format: String\n}\n\ninput GeolocationOperators {\n lt: GeolocationInput\n gt: GeolocationInput\n}\n\ninput LatitudeOperators {\n eq: Latitude\n ne: Latitude\n lt: Latitude\n gt: Latitude\n lte: Latitude\n gte: Latitude\n in: [Latitude]\n nin: [Latitude]\n}\n\ntype IntAggregate implements FieldValue {\n value: Int\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n grouping: IntValue\n max: IntValue\n min: IntValue\n sum: LongValue\n}\n\ntype RecordAggregate @generic {\n ApiName: String!\n BooleanAggregate: BooleanAggregate @fieldCategory\n CurrencyAggregate: CurrencyAggregate @fieldCategory\n DateAggregate: DateAggregate @fieldCategory\n DoubleAggregate: DoubleAggregate @fieldCategory\n EmailAggregate: EmailAggregate @fieldCategory\n IDAggregate: IDAggregate @fieldCategory\n IntAggregate: IntAggregate @fieldCategory\n LatitudeAggregate: LatitudeAggregate @fieldCategory\n LongitudeAggregate: LongitudeAggregate @fieldCategory\n LongAggregate: LongAggregate @fieldCategory\n PercentAggregate: PercentAggregate @fieldCategory\n PhoneNumberAggregate: PhoneNumberAggregate @fieldCategory\n PicklistAggregate: PicklistAggregate @fieldCategory\n StringAggregate: StringAggregate @fieldCategory\n TextAreaAggregate: TextAreaAggregate @fieldCategory\n TimeAggregate: TimeAggregate @fieldCategory\n UrlAggregate: UrlAggregate @fieldCategory\n parentRelationship: RecordAggregate @fieldCategory\n polymorphicParentRelationship: PolymorphicAggregateParentRelationship @fieldCategory\n}\n\nenum SObject__FieldType {\n ALL\n STANDARD\n CUSTOM\n}\n\ntype JSONValue implements FieldValue {\n value: JSON\n displayValue: String\n}\n\ntype EmailValue implements FieldValue {\n value: Email\n displayValue: String\n}\n\ninput DateFunctionInput {\n value: LongOperators\n convertTimezoneValue: LongOperators\n}\n\n# Mutations are not supported by Luvio.\n# type Mutation {\n# uiapi(input: UIAPIMutationsInput): UIAPIMutations!\n# }\n\nunion PolymorphicAggregateParentRelationship @generic = RecordAggregate\n\ninput LongTextAreaOperators {\n eq: LongTextArea\n ne: LongTextArea\n like: LongTextArea\n lt: LongTextArea\n gt: LongTextArea\n lte: LongTextArea\n gte: LongTextArea\n in: [LongTextArea]\n nin: [LongTextArea]\n}\n\ninput DateTimeOperators {\n eq: DateTimeInput\n ne: DateTimeInput\n lt: DateTimeInput\n gt: DateTimeInput\n lte: DateTimeInput\n gte: DateTimeInput\n in: [DateTimeInput]\n nin: [DateTimeInput]\n DAY_IN_WEEK: DateFunctionInput\n DAY_IN_MONTH: DateFunctionInput\n DAY_IN_YEAR: DateFunctionInput\n WEEK_IN_MONTH: DateFunctionInput\n WEEK_IN_YEAR: DateFunctionInput\n CALENDAR_MONTH: DateFunctionInput\n CALENDAR_QUARTER: DateFunctionInput\n CALENDAR_YEAR: DateFunctionInput\n FISCAL_MONTH: DateFunctionInput\n FISCAL_QUARTER: DateFunctionInput\n FISCAL_YEAR: DateFunctionInput\n DAY_ONLY: DateTimeFunctionInput\n HOUR_IN_DAY: DateFunctionInput\n}\n\ntype BooleanAggregate implements FieldValue {\n value: Boolean\n displayValue: String\n grouping: IntValue\n}\n\ntype RecordQueryAggregate {\n # scope should be RecordScope, but it is an empty enum\n recordQueryAggregate(first: Int, after: String, where: RecordFilter, orderBy: RecordAggregateOrderBy, scope: String, groupBy: RecordGroupBy, upperBound: Int): RecordAggregateConnection @fieldCategory\n}\n\ninput RecordCreateRepresentation @generic {\n Int: Int @fieldCategory\n String: String @fieldCategory\n Boolean: Boolean @fieldCategory\n ID: IdOrRef @fieldCategory\n DateTime: DateTime @fieldCategory\n Time: Time @fieldCategory\n Date: Date @fieldCategory\n TextArea: TextArea @fieldCategory\n LongTextArea: LongTextArea @fieldCategory\n RichTextArea: RichTextArea @fieldCategory\n PhoneNumber: PhoneNumber @fieldCategory\n Email: Email @fieldCategory\n Url: Url @fieldCategory\n EncryptedString: EncryptedString @fieldCategory\n Currency: Currency @fieldCategory\n Longitude: Longitude @fieldCategory\n Latitude: Latitude @fieldCategory\n Picklist: Picklist @fieldCategory\n MultiPicklist: MultiPicklist @fieldCategory\n Long: Long @fieldCategory\n Double: Double @fieldCategory\n Percent: Percent @fieldCategory\n Base64: Base64 @fieldCategory\n JSON: JSON @fieldCategory\n}\n\nenum FieldExtraTypeInfo {\n IMAGE_URL\n EXTERNAL_LOOKUP\n INDIRECT_LOOKUP\n PERSONNAME\n SWITCHABLE_PERSONNAME\n PLAINTEXTAREA\n RICHTEXTAREA\n}\n\ntype RateLimit {\n cost: Long\n limit: Long\n remaining: Long\n resetAt: DateTime\n}\n\ninput DateRange {\n last_n_days: Int\n next_n_days: Int\n last_n_weeks: Int\n next_n_weeks: Int\n last_n_months: Int\n next_n_months: Int\n last_n_quarters: Int\n next_n_quarters: Int\n last_n_fiscal_quarters: Int\n next_n_fiscal_quarters: Int\n last_n_years: Int\n next_n_years: Int\n last_n_fiscal_years: Int\n next_n_fiscal_years: Int\n n_days_ago: Int\n n_weeks_ago: Int\n n_months_ago: Int\n n_quarters_ago: Int\n n_years_ago: Int\n n_fiscal_quarters_ago: Int\n n_fiscal_years_ago: Int\n}\n\ntype UIAPIMutations {\n recordCreate(input: RecordCreateInput!): RecordCreatePayload @fieldCategory\n recordDelete(input: RecordDeleteInput!): RecordDeletePayload @fieldCategory\n recordUpdate(input: RecordUpdateInput!): RecordUpdatePayload @fieldCategory\n}\n\ninput IntegerOperators {\n eq: Int\n ne: Int\n lt: Int\n gt: Int\n lte: Int\n gte: Int\n in: [Int]\n nin: [Int]\n}\n\ntype EncryptedStringValue implements FieldValue {\n value: EncryptedString\n displayValue: String\n}\n\ninterface Record {\n Id: ID!\n ApiName: String!\n WeakEtag: Long!\n DisplayValue: String\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n SystemModstamp: DateTimeValue\n RecordTypeId(fallback: Boolean): IDValue\n}\n\ninput PolymorphicParentRelationshipRecordFilter @generic {\n RecordFilter: RecordFilter @fieldCategory\n}\n\n\"\"\"\nA type that can contain any of the following types: Boolean, Date, DateTime, Double, String.\nFormat and Label are not supported by AnyType and displayValue is an unformatted string representation of the value.\n\"\"\"\nunion AnyType = BooleanValue | DateValue | DateTimeValue | DoubleValue | StringValue\n\ninput AggregateOrderByNumberClause {\n function: AggregateOrderByNumberFunction\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ninput DateInput {\n value: Date\n literal: DateLiteral\n range: DateRange\n}\n\ninput RecordGroupBy @generic {\n groupableField: GroupByClause @fieldCategory\n groupableDateField: GroupByDateFunction @fieldCategory\n groupableParentRelationship: RecordGroupBy @fieldCategory\n groupablePolymorphicParentRelationship: PolymorphicParentRelationshipGroupBy @fieldCategory\n type: GroupByType = GROUP_BY\n}\n\ntype RecordQuery {\n # scope should be RecordScope, but it is an empty enum\n recordQuery(first: Int, after: String, where: RecordFilter, orderBy: RecordOrderBy, scope: String, upperBound: Int, updateMRU: Boolean): RecordConnection @fieldCategory\n}\n\ninput RecordAggregateOrderBy @generic {\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: RecordAggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipOrderBy @fieldCategory\n}\n\ninput IgnoreRule {\n rule: String!\n teamName: String!\n justification: String!\n}\n\ndirective @generic on OBJECT | INTERFACE | UNION | ENUM | INPUT_OBJECT\ndirective @fieldCategory on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | ENUM_VALUE\ndirective @category(name: String!) on FIELD\n\"Specifies the team name for a type\"\ndirective @team(name: String!) on OBJECT | INPUT_OBJECT | INTERFACE | ENUM | UNION | SCALAR\n\"Specifies the validation rules to ignore for this element.\"\ndirective @ignoreRule(rules: [IgnoreRule!]!) on OBJECT\n | INPUT_OBJECT\n | INTERFACE\n | ENUM\n | UNION\n | SCALAR\n | FIELD_DEFINITION\n | INPUT_FIELD_DEFINITION\n | ARGUMENT_DEFINITION\n | ENUM_VALUE\ndirective @optional on FIELD\n\ntype __Type {\n kind: __TypeKind!\n name: String\n description: String\n fields(includeDeprecated: Boolean = false): [__Field!]\n interfaces: [__Type!]\n possibleTypes: [__Type!]\n enumValues(includeDeprecated: Boolean = false): [__EnumValue!]\n inputFields: [__InputValue!]\n ofType: __Type\n}";
|
|
85781
|
+
var uiapiSchemaString = "# Auto-generated merged GraphQL schema\n# Generated at: 2025-10-14T15:00:19.876399281Z\n# Source files: ui-services-private/java/resources/graphql-schemas/analytics.graphqls, ui-services-private/java/resources/graphql-schemas/setup-listview.graphqls, ui-services-private/java/resources/graphql-schemas/setup.graphqls, ui-services-private/java/resources/graphql-schemas/uiapi.graphqls\n\n# ============================================================\n# Source: ui-services-private/java/resources/graphql-schemas/analytics.graphqls\n# ============================================================\ninput Analytics__AnalyticsFilter @team(name: \"TUA-Admin-Home-Search\") {\n Id: Setup__IdOperators\n MasterLabel: StringOperators\n DeveloperName: StringOperators\n NamespacePrefix: StringOperators\n AssetApiName: StringOperators\n DataConnectorType: StringOperators\n CreatedById: Setup__IdOperators\n LastModifiedById: Setup__IdOperators\n SemanticMetricId: Setup__IdOperators\n SemanticModelId: Setup__IdOperators\n LastModifiedDate: DateTimeOperators\n CreatedDate: DateTimeOperators\n AssetUsageType: PicklistOperators\n ActivePromotionRequestId: Setup__IdOperators\n SemanticModel: Analytics__SemanticModelFilter\n and: [Analytics__AnalyticsFilter]\n or: [Analytics__AnalyticsFilter]\n not: Analytics__AnalyticsFilter\n}\n\ninput Analytics__SemanticModelFilter @team(name: \"TUA-Admin-Home-Search\") {\n DeveloperName: StringOperators\n MasterLabel: StringOperators\n}\n\nenum Analytics__SortEnumType @team(name: \"TUA-Admin-Home-Search\") {\n ASC\n DESC\n}\n\ntype Analytics__SemanticSubMetricDefinitionConnection @team(name: \"TUA-Admin-Home-Search\") {\n edges: [Analytics__SemanticSubMetricDefinitionEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticSubMetricDefinitionEdge @team(name: \"TUA-Admin-Home-Search\") {\n node: Analytics__SemanticSubMetricDefinitionRepresentation\n cursor: String!\n}\n\ntype Analytics__DataspaceRepresentation @team(name: \"TUA-Admin-Home-Search\") {\n Id: ID!\n ApiName: String!\n MasterLabel: String\n DeveloperName: String\n}\n\ninterface Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n ReusedAssetStatus: String\n}\n\ntype Analytics__AnalyticsBrowse @team(name: \"TUA-Admin-Home-Search\") {\n edges: [Analytics__AnalyticsEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\n# Empty enum is invalid GraphQL\n# enum AnalyticsAssetType @team(name: \"TUA-Admin-Home-Search\") @generic {\n# }\n\ntype Analytics__AnalyticsWorkspaceAssetConnection @team(name: \"TUA-Admin-Home-Search\") {\n edges: [Analytics__AnalyticsWorkspaceAssetEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticDefinition implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n SemanticModelId: IDValue\n SemanticModel: Analytics__SemanticModel\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n SubMetrics(first: Int, after: String): Analytics__SemanticSubMetricDefinitionConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n ReusedAssetStatus: String\n}\n\ntype Analytics__DominoTemplate implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA Intel MarketPlace\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n TemplateStatus: StringValue\n TemplateType: StringValue\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n ReusedAssetStatus: String\n}\n\ntype Analytics__AnalyticsEdge @team(name: \"TUA-Admin-Home-Search\") {\n node: Analytics__AnalyticsRepresentationInterface\n cursor: String!\n}\n\ntype Analytics__AnalyticsWorkspace @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n}\n\ntype Analytics__SemanticSubMetricDefinitionRepresentation @team(name: \"TUA-Admin-Home-Search\") {\n Id: ID!\n ApiName: String!\n SemanticModelId: IDValue\n SemanticMetricId: IDValue\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n}\n\ntype Analytics__AnalyticsWorkspaceAssetEdge @team(name: \"TUA-Admin-Home-Search\") {\n node: Analytics__AnalyticsWorkspaceAsset\n cursor: String!\n}\n\ninput Analytics__OrderByInput @team(name: \"TUA-Admin-Home-Search\") {\n order: Analytics__SortEnumType\n}\n\ntype Analytics__AnalyticsRepresentation implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n RecordOperations: [String]\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n AssetApiName: String\n DloActiveStatus: Boolean\n ReusedAssetStatus: String\n}\n\ntype Analytics__SemanticModelRelatedModelConnection @team(name: \"TUA-Admin-Home-Search\") {\n edges: [Analytics__SemanticModelRelatedModelEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticModelRelatedModelRepresentation @team(name: \"TUA-Admin-Home-Search\") {\n Id: ID!\n ApiName: String!\n SemanticModelId: IDValue\n RelatedSemanticModel: Analytics__SemanticModel\n}\n\ntype Analytics__SemanticModelRelatedModelEdge @team(name: \"TUA-Admin-Home-Search\") {\n node: Analytics__SemanticModelRelatedModelRepresentation\n cursor: String!\n}\n\ntype Analytics__SemanticModel implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n NamespacePrefix: StringValue\n RelatedModel(first: Int, after: String): Analytics__SemanticModelRelatedModelConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n AssetApiName: String\n DloActiveStatus: Boolean\n ReusedAssetStatus: String\n}\n\n# assetTypes: AnalyticsAssetType - empty enum is invalid GraphQL so replace with String\ntype Analytics__Analytics @team(name: \"TUA-Admin-Home-Search\") {\n browse(where: Analytics__AnalyticsFilter, assetTypes: [String], orderBy: Analytics__AnalyticsOrderBy, first: Int, orgId: ID, after: String): Analytics__AnalyticsBrowse! @fieldCategory\n}\n\ntype Analytics__AnalyticsWorkspaceAsset @team(name: \"TUA-Admin-Home-Search\") {\n AnalyticsWorkspace: Analytics__AnalyticsWorkspace\n AssetUsageType: PicklistValue\n ActivePromotionRequestId: IDValue\n MetadataSourceType: PicklistValue\n}\n\ninput Analytics__AnalyticsOrderBy @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: Analytics__OrderByInput\n Id: Analytics__OrderByInput\n ApiName: Analytics__OrderByInput\n LastModifiedById: Analytics__OrderByInput\n CreatedById: Analytics__OrderByInput\n LastModifiedDate: Analytics__OrderByInput\n CreatedDate: Analytics__OrderByInput\n}\n\ntype Analytics__MktDataConnector implements Analytics__AnalyticsRepresentationInterface @team(name: \"TUA-Admin-Home-Search\") {\n MasterLabel: StringValue\n DeveloperName: StringValue\n Description: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n AnalyticsWorkspaces(first: Int, after: String): Analytics__AnalyticsWorkspaceAssetConnection\n NamespacePrefix: StringValue\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n DataConnectorType: StringValue\n AssetApiName: String\n DloActiveStatus: Boolean\n ReusedAssetStatus: String\n}\n\n# ============================================================\n# Source: ui-services-private/java/resources/graphql-schemas/setup-listview.graphqls\n# ============================================================\ninput Setup__ListOrderInput {\n apiName: String!\n order: ResultsOrder\n}\n\ntype Setup__ListOrder {\n apiName: String!\n order: ResultsOrder\n label: String\n}\n\ntype Setup__ListViewRowConnection {\n edges: [Setup__ListViewRowEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ntype Setup__ListView {\n listViewType: String!\n label: String\n displayColumns: [Setup__ListColumn!]!\n filters: [Setup__ListFilter!]\n filterLogic: String\n orderedByInfo: [Setup__ListOrder!]!\n searchable: Boolean!\n rows(first: Int, after: String, upperBound: Int, orderBy: Setup__ListOrderInput, searchTerm: String): Setup__ListViewRowConnection\n}\n\nenum Setup__ListFilterOperator {\n EQUALS\n NOT_EQUAL\n LESS_THAN\n GREATER_THAN\n LESS_OR_EQUAL\n GREATER_OR_EQUAL\n CONTAINS\n NOT_CONTAIN\n STARTS_WITH\n INCLUDES\n EXCLUDES\n WITHIN\n}\n\ntype Setup__ListFilter {\n apiName: String!\n operator: Setup__ListFilterOperator!\n operand: [String!]!\n label: String\n}\n\ntype Setup__ListColumn {\n apiName: String!\n label: String!\n type: DataType!\n displayable: Boolean!\n filterable: Boolean!\n defaultOperator: Setup__ListFilterOperator\n allowedOperators: [Setup__ListFilterOperator!]\n sortable: Boolean\n navigable: Boolean\n}\n\ntype Setup__ListScalarField {\n apiName: String!\n value: String\n dataType: DataType\n displayValue: String\n format: String\n label: String\n lookupRecordId: String\n lookupObjectApiName: String\n}\n\ntype Setup__ListViewRow {\n id: String\n columns(apiNames: [String!]): [Setup__ListScalarField]!\n}\n\ntype Setup__ListViewRowEdge {\n cursor: String!\n node: Setup__ListViewRow\n}\n\ntype Setup__ListViewObjectInfo {\n columns(apiNames: [String!], displayable: Boolean, filterable: Boolean) : [Setup__ListColumn!]!\n}\n\ninput Setup__ListFilterInput {\n apiName: String!\n operator: Setup__ListFilterOperator!\n operand: [String!]!\n}\n\nextend type Setup__Setup {\n ListView(listViewType: String!, label: String, displayColumns: [String!], filters: [Setup__ListFilterInput!], filterLogic: String): Setup__ListView!\n ListViewObjectInfo(listViewType: String!): Setup__ListViewObjectInfo!\n}\n\n# ============================================================\n# Source: ui-services-private/java/resources/graphql-schemas/setup.graphqls\n# ============================================================\n# scope should be RecordScope, but it is an empty enum\ntype Setup__SetupQueryAggregate {\n recordQueryAggregate(first: Int, after: String, where: Setup__SetupFilter, orderBy: Setup__SetupAggregateOrderBy, scope: String, groupBy: Setup__SetupGroupBy, upperBound: Int, includeDeleted: Boolean): Setup__SetupAggregateConnection @fieldCategory\n}\n\nunion Setup__SetupPolymorphicParentRelationship @generic = Setup__EntityRepresentation\n\ninput Setup__SetupPolymorphicParentRelationshipRecordOrderBy @generic {\n Setup__SetupOrderBy: Setup__SetupOrderBy @fieldCategory\n}\n\ninput Setup__IdOperators {\n eq: ID\n ne: ID\n lt: ID\n gt: ID\n lte: ID\n gte: ID\n in: [ID]\n nin: [ID]\n inq: Setup__JoinInput\n ninq: Setup__JoinInput\n}\n\ninput Setup__JoinInput {\n Record: Setup__SetupFilter @fieldCategory\n ApiName: String\n}\n\ntype Setup__SetupAggregateConnection @generic {\n edges: [Setup__SetupAggregateEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ninput Setup__SetupAggregateOrderBy @generic {\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: Setup__SetupAggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipOrderBy @fieldCategory\n}\n\ntype Setup__SetupConnection @generic {\n edges: [Setup__SetupEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n pageResultCount: Int!\n}\n\ntype Setup__SetupAggregateEdge @generic {\n node: Setup__SetupRecordResult\n cursor: String!\n}\n\ninput Setup__SetupPolymorphicParentRelationshipRecordFilter @generic {\n Setup__SetupFilter: Setup__SetupFilter @fieldCategory\n}\n\ntype Setup__SetupRecordResult @generic {\n aggregate: Setup__SetupRecordAggregate\n}\n\ntype Setup__SetupRecordAggregate @generic {\n ApiName: String!\n BooleanAggregate: BooleanAggregate @fieldCategory\n CurrencyAggregate: CurrencyAggregate @fieldCategory\n DateAggregate: DateAggregate @fieldCategory\n DoubleAggregate: DoubleAggregate @fieldCategory\n EmailAggregate: EmailAggregate @fieldCategory\n IDAggregate: IDAggregate @fieldCategory\n IntAggregate: IntAggregate @fieldCategory\n LatitudeAggregate: LatitudeAggregate @fieldCategory\n LongitudeAggregate: LongitudeAggregate @fieldCategory\n LongAggregate: LongAggregate @fieldCategory\n PercentAggregate: PercentAggregate @fieldCategory\n PhoneNumberAggregate: PhoneNumberAggregate @fieldCategory\n PicklistAggregate: PicklistAggregate @fieldCategory\n StringAggregate: StringAggregate @fieldCategory\n TextAreaAggregate: TextAreaAggregate @fieldCategory\n TimeAggregate: TimeAggregate @fieldCategory\n UrlAggregate: UrlAggregate @fieldCategory\n parentRelationship: Setup__SetupRecordAggregate @fieldCategory\n polymorphicParentRelationship: Setup__SetupPolymorphicAggregateParentRelationship @fieldCategory\n}\n\ninput Setup__SetupOrderBy @generic {\n orderableField: OrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: Setup__SetupOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipRecordOrderBy @fieldCategory\n}\n\ninput Setup__SetupPolymorphicParentRelationshipOrderBy @generic {\n Setup__SetupAggregateOrderBy: Setup__SetupAggregateOrderBy @fieldCategory\n}\n\ntype Setup__SetupEdge @generic {\n node: Setup__EntityRepresentation\n cursor: String!\n}\n\n # scope should be RecordScope, but it is an empty enum\ntype Setup__SetupQuery {\n recordQuery(first: Int, after: String, where: Setup__SetupFilter, orderBy: Setup__SetupOrderBy, scope: String, upperBound: Int, includeDeleted: Boolean, updateMRU: Boolean): Setup__SetupConnection @fieldCategory\n}\n\ntype Setup__EntityRepresentation @generic {\n Id: ID!\n ApiName: String!\n Entity__fields(type: SObject__FieldType): [SObject__Field]! @ignoreRule(rules:[{ rule: \"FieldCamelOrPascalCaseRule\" teamName: \"UI Experience API\" justification: \"SObject__ prefix added to prevent name collisions.\" }])\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n AnyType: AnyType @fieldCategory\n parentRelationship: Setup__EntityRepresentation @fieldCategory\n polymorphicParentRelationship: Setup__SetupPolymorphicParentRelationship @fieldCategory\n childRelationship(first: Int, after: String, where: Setup__SetupFilter, orderBy: Setup__SetupOrderBy, upperBound: Int): Setup__SetupConnection @fieldCategory\n CompoundField: CompoundField @fieldCategory\n}\n\ninput Setup__SetupFilter @generic {\n and: [Setup__SetupFilter]\n or: [Setup__SetupFilter]\n not: Setup__SetupFilter\n parentRelationshipRecordFilter: Setup__SetupFilter @fieldCategory\n polymorphicParentRelationshipRecordFilter: Setup__SetupPolymorphicParentRelationshipRecordFilter @fieldCategory\n IntegerOperator: IntegerOperators @fieldCategory\n LongOperator: LongOperators @fieldCategory\n StringOperator: StringOperators @fieldCategory\n DoubleOperator: DoubleOperators @fieldCategory\n PercentOperator: PercentOperators @fieldCategory\n LongitudeOperator: LongitudeOperators @fieldCategory\n LatitudeOperator: LatitudeOperators @fieldCategory\n EmailOperator: EmailOperators @fieldCategory\n TextAreaOperator: TextAreaOperators @fieldCategory\n LongTextAreaOperator: LongTextAreaOperators @fieldCategory\n URLOperator: URLOperators @fieldCategory\n PhoneNumberOperator: PhoneNumberOperators @fieldCategory\n BooleanOperator: BooleanOperators @fieldCategory\n Setup__IdOperator: Setup__IdOperators @fieldCategory\n CurrencyOperator: CurrencyOperators @fieldCategory\n TimeOperator: TimeOperators @fieldCategory\n DateOperator: DateOperators @fieldCategory\n DateTimeOperator: DateTimeOperators @fieldCategory\n PicklistOperator: PicklistOperators @fieldCategory\n MultiPicklistOperator: MultiPicklistOperators @fieldCategory\n GeolocationOperator: GeolocationOperators @fieldCategory\n}\n\ninput Setup__SetupGroupBy @generic {\n groupableField: GroupByClause @fieldCategory\n groupableDateField: GroupByDateFunction @fieldCategory\n groupableParentRelationship: Setup__SetupGroupBy @fieldCategory\n groupablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipGroupBy @fieldCategory\n type: GroupByType = GROUP_BY\n}\n\nunion Setup__SetupPolymorphicAggregateParentRelationship @generic = Setup__SetupRecordAggregate\n\ntype Setup__Setup {\n query: Setup__SetupQuery!\n aggregate: Setup__SetupQueryAggregate!\n objectInfos(apiNames: [String!], locale: String, objectInfoInputs: [ObjectInfoInput!]): [ObjectInfo]\n}\n\ninput Setup__SetupPolymorphicParentRelationshipGroupBy @generic {\n Setup__SetupGroupBy: Setup__SetupGroupBy @fieldCategory\n}\n\n\n# ============================================================\n# Source: ui-services-private/java/resources/graphql-schemas/uiapi.graphqls\n# ============================================================\nscalar BigDecimal\nscalar Byte\nscalar Char\nscalar BigInteger\nscalar Short\nscalar String\nscalar Currency\nscalar Longitude\nscalar Float\nscalar PhoneNumber\nscalar Email\nscalar TextArea\nscalar Latitude\nscalar RichTextArea\nscalar EncryptedString\nscalar Long\nscalar JSON\nscalar Time\nscalar Percent\nscalar LongTextArea\nscalar DateTime\nscalar ID\nscalar Boolean\nscalar MultiPicklist\nscalar Base64\nscalar Url\nscalar Picklist\nscalar Double\nscalar Int\nscalar IdOrRef\nscalar Date\n\ntype PercentAggregate implements FieldValue {\n value: Percent\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: PercentValue\n min: PercentValue\n sum: PercentValue\n}\n\ntype StringAggregate implements FieldValue {\n value: String\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: StringValue\n min: StringValue\n}\n\ntype Query {\n uiapi: UIAPI!\n setup: Setup__Setup! @fieldCategory\n analytics: Analytics__Analytics! @fieldCategory\n}\n\ninput EmailOperators {\n eq: Email\n ne: Email\n like: Email\n lt: Email\n gt: Email\n lte: Email\n gte: Email\n in: [Email]\n nin: [Email]\n}\n\ninput DoubleOperators {\n eq: Double\n ne: Double\n lt: Double\n gt: Double\n lte: Double\n gte: Double\n in: [Double]\n nin: [Double]\n}\n\ntype DateOnlyAggregation {\n value: Date\n format: String\n}\n\ntype DateAggregate implements FieldValue {\n value: Date\n displayValue: String\n calendarMonth: DateFunctionAggregation\n calendarQuarter: DateFunctionAggregation\n calendarYear: DateFunctionAggregation\n count: LongValue\n countDistinct: LongValue\n dayInMonth: DateFunctionAggregation\n dayInWeek: DateFunctionAggregation\n dayInYear: DateFunctionAggregation\n fiscalMonth: DateFunctionAggregation\n fiscalQuarter: DateFunctionAggregation\n fiscalYear: DateFunctionAggregation\n format: String\n grouping: IntValue\n max: DateValue\n min: DateValue\n weekInMonth: DateFunctionAggregation\n weekInYear: DateFunctionAggregation\n}\n\nenum GroupByFunction {\n DAY_IN_WEEK\n DAY_IN_MONTH\n DAY_IN_YEAR\n WEEK_IN_MONTH\n WEEK_IN_YEAR\n CALENDAR_MONTH\n CALENDAR_QUARTER\n CALENDAR_YEAR\n FISCAL_MONTH\n FISCAL_QUARTER\n FISCAL_YEAR\n DAY_ONLY\n HOUR_IN_DAY\n}\n\ntype RecordTypeInfo {\n available: Boolean!\n defaultRecordTypeMapping: Boolean!\n master: Boolean!\n name: String\n recordTypeId: ID\n}\n\ninput UIAPIMutationsInput {\n \"Determines whether or not all the operations should be rolled back in the event one or more operations fail.\"\n allOrNone: Boolean = true\n}\n\ntype ReferenceToInfo {\n ApiName: String!\n nameFields: [String]!\n objectInfo: ObjectInfo\n}\n\ninterface FieldValue {\n displayValue: String\n}\n\ntype LongitudeValue implements FieldValue {\n value: Longitude\n displayValue: String\n}\n\ntype IntValue implements FieldValue {\n value: Int\n displayValue: String\n format: String\n}\n\ntype UrlValue implements FieldValue {\n value: Url\n displayValue: String\n}\n\ntype LongAggregate implements FieldValue {\n value: Long\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n grouping: IntValue\n max: LongValue\n min: LongValue\n sum: LongValue\n}\n\ninput TimeOperators {\n eq: Time\n ne: Time\n lt: Time\n gt: Time\n lte: Time\n gte: Time\n in: [Time]\n nin: [Time]\n}\n\ntype PicklistValue implements FieldValue {\n value: Picklist\n displayValue: String\n label: String\n}\n\ntype RelatedListInfo @team(name: \"Lists Platform\") {\n childApiName: String!\n relatedListName: String!\n label: String!\n displayColumns: [ListColumn!]!\n orderedByInfo: [ListOrder!]!\n parentApiName: String!\n fieldApiName: String!\n}\n\ninput StringOperators {\n eq: String\n ne: String\n like: String\n lt: String\n gt: String\n lte: String\n gte: String\n in: [String]\n nin: [String]\n}\n\ntype UIAPI {\n query: RecordQuery!\n aggregate: RecordQueryAggregate!\n objectInfos(apiNames: [String!], locale: String, objectInfoInputs: [ObjectInfoInput!]): [ObjectInfo]\n relatedListByName(parentApiName: String!, relatedListName: String!): RelatedListInfo\n}\n\n\"Input for ObjectInfo and PickValues\"\ninput ObjectInfoInput {\n apiName: String!\n recordTypeIDs: [ID!]\n fieldNames: [String!]\n}\n\ninput MultiPicklistOperators {\n eq: MultiPicklist\n ne: MultiPicklist\n includes: [MultiPicklist]\n excludes: [MultiPicklist]\n}\n\ntype DateTimeAggregate implements FieldValue {\n value: DateTime\n displayValue: String\n calendarMonth: DateFunctionAggregation\n calendarQuarter: DateFunctionAggregation\n calendarYear: DateFunctionAggregation\n count: LongValue\n countDistinct: LongValue\n dayInMonth: DateFunctionAggregation\n dayInWeek: DateFunctionAggregation\n dayInYear: DateFunctionAggregation\n dayOnly: DateOnlyAggregation\n fiscalMonth: DateFunctionAggregation\n fiscalQuarter: DateFunctionAggregation\n fiscalYear: DateFunctionAggregation\n format: String\n hourInDay: DateFunctionAggregation\n max: DateTimeValue\n min: DateTimeValue\n weekInMonth: DateFunctionAggregation\n weekInYear: DateFunctionAggregation\n}\n\ntype EmailAggregate implements FieldValue {\n value: Email\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: EmailValue\n min: EmailValue\n}\n\ninput GroupByDateFunction {\n function: GroupByFunction\n}\n\ntype RichTextAreaValue implements FieldValue {\n value: RichTextArea\n displayValue: String\n label: String\n}\n\ninput DatePrimitiveOperators {\n eq: Date\n ne: Date\n lt: Date\n gt: Date\n lte: Date\n gte: Date\n in: [Date]\n nin: [Date]\n}\n\ntype TimeAggregate implements FieldValue {\n value: Time\n displayValue: String\n format: String\n hourInDay: DateFunctionAggregation\n}\n\ninput DistanceInput {\n latitude: Latitude!\n longitude: Longitude!\n}\n\nunion PolymorphicParentRelationship @generic = RecordRepresentation\n\nenum AggregateOrderByNumberFunction {\n AVG\n COUNT\n COUNT_DISTINCT\n MAX\n MIN\n SUM\n}\n\ntype LongTextAreaValue implements FieldValue {\n value: LongTextArea\n displayValue: String\n label: String\n}\n\ninput OrderByClause {\n order: ResultOrder\n nulls: NullOrder\n}\n\ntype SObject__Field {\n name: String!\n value: String\n}\n\ntype RecordAggregateConnection @generic {\n edges: [RecordAggregateEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ntype LongitudeAggregate implements FieldValue {\n value: Longitude\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n max: LongitudeValue\n min: LongitudeValue\n sum: DoubleValue\n}\n\ntype DateValue implements FieldValue {\n value: Date\n displayValue: String\n format: String\n}\n\ninput URLOperators {\n eq: Url\n ne: Url\n like: Url\n lt: Url\n gt: Url\n lte: Url\n gte: Url\n in: [Url]\n nin: [Url]\n}\n\ninput LongOperators {\n eq: Long\n ne: Long\n lt: Long\n gt: Long\n lte: Long\n gte: Long\n in: [Long]\n nin: [Long]\n}\n\nenum DataType {\n STRING\n TEXTAREA\n PHONE\n EMAIL\n URL\n ENCRYPTEDSTRING\n BOOLEAN\n CURRENCY\n INT\n LONG\n DOUBLE\n PERCENT\n DATETIME\n TIME\n DATE\n REFERENCE\n PICKLIST\n MULTIPICKLIST\n ADDRESS\n LOCATION\n BASE64\n COMPLEXVALUE\n COMBOBOX\n JSON\n JUNCTIONIDLIST\n ANYTYPE\n}\n\ntype DoubleAggregate implements FieldValue {\n value: Double\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: DoubleValue\n min: DoubleValue\n sum: DoubleValue\n}\n\ninput DateOperators {\n eq: DateInput\n ne: DateInput\n lt: DateInput\n gt: DateInput\n lte: DateInput\n gte: DateInput\n in: [DateInput]\n nin: [DateInput]\n DAY_IN_WEEK: DateFunctionInput\n DAY_IN_MONTH: DateFunctionInput\n DAY_IN_YEAR: DateFunctionInput\n WEEK_IN_MONTH: DateFunctionInput\n WEEK_IN_YEAR: DateFunctionInput\n CALENDAR_MONTH: DateFunctionInput\n CALENDAR_QUARTER: DateFunctionInput\n CALENDAR_YEAR: DateFunctionInput\n FISCAL_MONTH: DateFunctionInput\n FISCAL_QUARTER: DateFunctionInput\n FISCAL_YEAR: DateFunctionInput\n}\n\ninput GeolocationInput {\n latitude: Latitude!\n longitude: Longitude!\n radius: Float!\n unit: Unit!\n}\n\ninput JoinInput {\n Record: RecordFilter @fieldCategory\n ApiName: String\n}\n\ntype RecordUpdatePayload @generic {\n Record: RecordRepresentation\n success: Boolean @deprecated\n}\n\ninput PercentOperators {\n eq: Percent\n ne: Percent\n lt: Percent\n gt: Percent\n lte: Percent\n gte: Percent\n in: [Percent]\n nin: [Percent]\n}\n\ntype DoubleValue implements FieldValue {\n value: Double\n displayValue: String\n format: String\n}\n\ntype IDAggregate implements FieldValue {\n value: ID\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: IDValue\n min: IDValue\n}\n\ninput RecordCreateInput @generic {\n record: RecordCreateRepresentation! @fieldCategory\n}\n\ninput AggregateOrderByStringClause {\n function: AggregateOrderByStringFunction\n order: ResultsOrder\n nulls: NullsOrder\n}\n\n\"The return value for the mutation to delete a Record\"\ntype RecordDeletePayload {\n \"The ID of the deleted Record\"\n Id: ID\n}\n\nenum DateLiteral {\n YESTERDAY\n TODAY\n TOMORROW\n LAST_WEEK\n THIS_WEEK\n NEXT_WEEK\n LAST_MONTH\n THIS_MONTH\n NEXT_MONTH\n LAST_90_DAYS\n NEXT_90_DAYS\n LAST_QUARTER\n THIS_QUARTER\n NEXT_QUARTER\n LAST_FISCAL_QUARTER\n THIS_FISCAL_QUARTER\n NEXT_FISCAL_QUARTER\n LAST_YEAR\n THIS_YEAR\n NEXT_YEAR\n LAST_FISCAL_YEAR\n THIS_FISCAL_YEAR\n NEXT_FISCAL_YEAR\n}\n\ntype RecordRepresentation implements Record @generic {\n Id: ID!\n ApiName: String!\n WeakEtag: Long!\n DisplayValue: String\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n SystemModstamp: DateTimeValue\n RecordTypeId(fallback: Boolean): IDValue\n SetupUserSpecialField: BooleanValue @fieldCategory\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n AnyType: AnyType @fieldCategory\n parentRelationship: RecordRepresentation @fieldCategory\n polymorphicParentRelationship: PolymorphicParentRelationship @fieldCategory\n childRelationship(first: Int, after: String, where: RecordFilter, orderBy: RecordOrderBy, upperBound: Int): RecordConnection @fieldCategory\n CompoundField: CompoundField @fieldCategory\n}\n\ninput OrderByGeolocationClause {\n distance: DistanceInput\n order: ResultOrder\n nulls: NullOrder\n}\n\ntype TextAreaAggregate implements FieldValue {\n value: TextArea\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: TextAreaValue\n min: TextAreaValue\n}\n\nenum GroupByType {\n GROUP_BY\n ROLLUP\n CUBE\n}\n\nenum ResultsOrder {\n ASC\n DESC\n}\n\ntype PicklistAggregate implements FieldValue {\n value: Picklist\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: PicklistValue\n min: PicklistValue\n}\n\ninput RecordUpdateRepresentation @generic {\n Int: Int @fieldCategory\n String: String @fieldCategory\n Boolean: Boolean @fieldCategory\n ID: IdOrRef @fieldCategory\n DateTime: DateTime @fieldCategory\n Time: Time @fieldCategory\n Date: Date @fieldCategory\n TextArea: TextArea @fieldCategory\n LongTextArea: LongTextArea @fieldCategory\n RichTextArea: RichTextArea @fieldCategory\n PhoneNumber: PhoneNumber @fieldCategory\n Email: Email @fieldCategory\n Url: Url @fieldCategory\n EncryptedString: EncryptedString @fieldCategory\n Currency: Currency @fieldCategory\n Longitude: Longitude @fieldCategory\n Latitude: Latitude @fieldCategory\n Picklist: Picklist @fieldCategory\n MultiPicklist: MultiPicklist @fieldCategory\n Long: Long @fieldCategory\n Double: Double @fieldCategory\n Percent: Percent @fieldCategory\n Base64: Base64 @fieldCategory\n JSON: JSON @fieldCategory\n}\n\ntype DateTimeValue implements FieldValue {\n value: DateTime\n displayValue: String\n format: String\n}\n\n\"Input to the mutation to delete a Record\"\ninput RecordDeleteInput {\n \"The ID of the Record to delete\"\n Id: IdOrRef!\n}\n\ntype ListOrder @team(name: \"Lists Platform\") {\n fieldApiName: String!\n sortDirection: ResultOrder\n}\n\nenum AggregateOrderByStringFunction {\n COUNT\n COUNT_DISTINCT\n MAX\n MIN\n}\n\ntype LongValue implements FieldValue {\n value: Long\n displayValue: String\n format: String\n}\n\ntype DependentField {\n controllingField: String!\n dependentFields: [String]!\n}\n\ntype PercentValue implements FieldValue {\n value: Percent\n displayValue: String\n format: String\n}\n\ninput NoFunctionAggregateOrderByClause {\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ntype RecordConnection @generic {\n edges: [RecordEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n pageResultCount: Int!\n}\n\ntype FilteredLookupInfo {\n controllingFields: [String]!\n dependent: Boolean!\n optionalFilter: Boolean!\n}\n\ninput PhoneNumberOperators {\n eq: PhoneNumber\n ne: PhoneNumber\n like: PhoneNumber\n lt: PhoneNumber\n gt: PhoneNumber\n lte: PhoneNumber\n gte: PhoneNumber\n in: [PhoneNumber]\n nin: [PhoneNumber]\n}\n\ntype ObjectInfo {\n ApiName: String!\n childRelationships: [ChildRelationship]!\n createable: Boolean!\n custom: Boolean!\n defaultRecordTypeId: ID\n deletable: Boolean!\n dependentFields: [DependentField]!\n feedEnabled: Boolean!\n fields: [Field]!\n keyPrefix: String\n label: String\n labelPlural: String\n layoutable: Boolean!\n mruEnabled: Boolean!\n nameFields: [String]!\n queryable: Boolean!\n recordTypeInfos: [RecordTypeInfo]!\n searchable: Boolean!\n themeInfo: ThemeInfo\n updateable: Boolean!\n locale: String\n}\n\ninput LongitudeOperators {\n eq: Longitude\n ne: Longitude\n lt: Longitude\n gt: Longitude\n lte: Longitude\n gte: Longitude\n in: [Longitude]\n nin: [Longitude]\n}\n\ninterface Field {\n ApiName: String!\n calculated: Boolean!\n compound: Boolean!\n compoundComponentName: String\n compoundFieldName: String\n controllerName: String\n controllingFields: [String]!\n createable: Boolean!\n custom: Boolean!\n dataType: DataType\n extraTypeInfo: FieldExtraTypeInfo\n filterable: Boolean!\n filteredLookupInfo: FilteredLookupInfo\n highScaleNumber: Boolean!\n htmlFormatted: Boolean!\n inlineHelpText: String\n label: String\n nameField: Boolean!\n polymorphicForeignKey: Boolean!\n precision: Int\n reference: Boolean!\n referenceTargetField: String\n referenceToInfos: [ReferenceToInfo]!\n relationshipName: String\n required: Boolean!\n scale: Int\n searchPrefilterable: Boolean\n sortable: Boolean!\n updateable: Boolean!\n}\n\ntype StandardField implements Field {\n ApiName: String!\n calculated: Boolean!\n compound: Boolean!\n compoundComponentName: String\n compoundFieldName: String\n controllerName: String\n controllingFields: [String]!\n createable: Boolean!\n custom: Boolean!\n dataType: DataType\n extraTypeInfo: FieldExtraTypeInfo\n filterable: Boolean!\n filteredLookupInfo: FilteredLookupInfo\n highScaleNumber: Boolean!\n htmlFormatted: Boolean!\n inlineHelpText: String\n label: String\n nameField: Boolean!\n polymorphicForeignKey: Boolean!\n precision: Int\n reference: Boolean!\n referenceTargetField: String\n referenceToInfos: [ReferenceToInfo]!\n relationshipName: String\n required: Boolean!\n scale: Int\n searchPrefilterable: Boolean\n sortable: Boolean!\n updateable: Boolean!\n}\n\ntype PicklistField implements Field {\n ApiName: String!\n calculated: Boolean!\n compound: Boolean!\n compoundComponentName: String\n compoundFieldName: String\n controllerName: String\n controllingFields: [String]!\n createable: Boolean!\n custom: Boolean!\n dataType: DataType\n extraTypeInfo: FieldExtraTypeInfo\n filterable: Boolean!\n filteredLookupInfo: FilteredLookupInfo\n highScaleNumber: Boolean!\n htmlFormatted: Boolean!\n inlineHelpText: String\n label: String\n nameField: Boolean!\n polymorphicForeignKey: Boolean!\n picklistValuesByRecordTypeIDs: [PicklistValueByRecordTypeIDs]\n precision: Int\n reference: Boolean!\n referenceTargetField: String\n referenceToInfos: [ReferenceToInfo]!\n relationshipName: String\n required: Boolean!\n scale: Int\n searchPrefilterable: Boolean\n sortable: Boolean!\n updateable: Boolean!\n}\n\ntype PicklistValueByRecordTypeIDs {\n recordTypeID: String!\n controllerValues: [ControllerValues!]\n picklistValues: [PicklistValues!]\n defaultValue: PicklistValues\n}\n\ntype ControllerValues {\n value: String\n index: Int\n}\n\ntype PicklistValues {\n value: String\n label: String\n validFor: [Int]\n attributes: PicklistAttributes\n}\n\ntype PicklistAttributes {\n picklistAtrributesValueType: String\n connectDisplayName: String\n internalName: String\n}\n\ninput DateTimeFunctionInput {\n value: DatePrimitiveOperators\n convertTimezoneValue: DatePrimitiveOperators\n}\n\ntype Base64Value implements FieldValue {\n value: Base64\n displayValue: String\n}\n\ntype CompoundField @generic {\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n}\n\ninput RecordUpdateInput @generic {\n Id: IdOrRef!\n record: RecordUpdateRepresentation! @fieldCategory\n}\n\ninput DateTimeInput {\n value: DateTime\n literal: DateLiteral\n range: DateRange\n}\n\ntype ChildRelationship {\n childObjectApiName: String!\n fieldName: String\n junctionIdListNames: [String]!\n junctionReferenceTo: [String]!\n relationshipName: String\n objectInfo: ObjectInfo\n}\n\ntype RecordResult @generic {\n aggregate: RecordAggregate\n}\n\ntype PageInfo {\n hasNextPage: Boolean!\n hasPreviousPage: Boolean!\n startCursor: String\n endCursor: String\n}\n\ntype CurrencyValue implements FieldValue {\n value: Currency\n displayValue: String\n format: String\n convertCurrency: Currency\n}\n\ntype DateFunctionAggregation {\n value: Long\n format: String\n}\n\ninput PolymorphicParentRelationshipRecordOrderBy @generic {\n RecordOrderBy: RecordOrderBy @fieldCategory\n}\n\ntype RecordCreatePayload @generic {\n Record: RecordRepresentation\n}\n\ninput PolymorphicParentRelationshipGroupBy @generic {\n RecordGroupBy: RecordGroupBy @fieldCategory\n}\n\ntype BooleanValue implements FieldValue {\n value: Boolean\n displayValue: String\n}\n\ntype StringValue implements FieldValue {\n value: String\n displayValue: String\n label: String\n}\n\ninput IdOperators {\n eq: ID\n ne: ID\n lt: ID\n gt: ID\n lte: ID\n gte: ID\n in: [ID]\n nin: [ID]\n inq: JoinInput\n ninq: JoinInput\n}\n\ntype PhoneNumberAggregate implements FieldValue {\n value: PhoneNumber\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: PhoneNumberValue\n min: PhoneNumberValue\n}\n\ntype CurrencyAggregate implements FieldValue {\n value: Currency\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: CurrencyValue\n min: CurrencyValue\n sum: CurrencyValue\n}\n\ninput BooleanOperators {\n eq: Boolean\n ne: Boolean\n}\n\ntype MultiPicklistValue implements FieldValue {\n value: MultiPicklist\n displayValue: String\n label: String\n}\n\ntype ListColumn @team(name: \"Lists Platform\") {\n fieldApiName: String!\n label: String!\n lookupId: String\n sortable: Boolean\n}\n\ntype LatitudeAggregate implements FieldValue {\n value: Latitude\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n max: LatitudeValue\n min: LatitudeValue\n sum: DoubleValue\n}\n\ninput CurrencyOperators {\n eq: Currency\n ne: Currency\n lt: Currency\n gt: Currency\n lte: Currency\n gte: Currency\n in: [Currency]\n nin: [Currency]\n}\n\ntype LatitudeValue implements FieldValue {\n value: Latitude\n displayValue: String\n}\n\ninput GroupByClause {\n group: Boolean\n}\n\ntype RecordEdge @generic {\n node: RecordRepresentation\n cursor: String!\n}\n\nenum NullOrder {\n FIRST\n LAST\n}\n\ntype PhoneNumberValue implements FieldValue {\n value: PhoneNumber\n displayValue: String\n}\n\n# RecordScope is an empty enum\n# enum RecordScope @generic {\n# }\n\ninput TextAreaOperators {\n eq: TextArea\n ne: TextArea\n like: TextArea\n lt: TextArea\n gt: TextArea\n lte: TextArea\n gte: TextArea\n in: [TextArea]\n nin: [TextArea]\n}\n\ntype TextAreaValue implements FieldValue {\n value: TextArea\n displayValue: String\n label: String\n}\n\ntype RecordAggregateEdge @generic {\n node: RecordResult\n cursor: String!\n}\n\ntype ThemeInfo {\n color: String\n iconUrl: String\n}\n\ntype UrlAggregate implements FieldValue {\n value: Url\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: UrlValue\n min: UrlValue\n}\n\ntype IDValue implements FieldValue {\n value: ID\n displayValue: String\n}\n\nenum Unit {\n MI\n KM\n}\n\ninput PolymorphicParentRelationshipOrderBy @generic {\n RecordAggregateOrderBy: RecordAggregateOrderBy @fieldCategory\n}\n\nenum NullsOrder {\n FIRST\n LAST\n}\n\nenum ResultOrder {\n ASC\n DESC\n}\n\ninput RecordOrderBy @generic {\n orderableField: OrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: RecordOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipRecordOrderBy @fieldCategory\n}\n\ninput PicklistOperators {\n eq: Picklist\n ne: Picklist\n in: [Picklist]\n nin: [Picklist]\n like: Picklist\n lt: Picklist\n gt: Picklist\n lte: Picklist\n gte: Picklist\n}\n\ninput RecordFilter @generic {\n and: [RecordFilter]\n or: [RecordFilter]\n not: RecordFilter\n parentRelationshipRecordFilter: RecordFilter @fieldCategory\n polymorphicParentRelationshipRecordFilter: PolymorphicParentRelationshipRecordFilter @fieldCategory\n IntegerOperator: IntegerOperators @fieldCategory\n LongOperator: LongOperators @fieldCategory\n StringOperator: StringOperators @fieldCategory\n DoubleOperator: DoubleOperators @fieldCategory\n PercentOperator: PercentOperators @fieldCategory\n LongitudeOperator: LongitudeOperators @fieldCategory\n LatitudeOperator: LatitudeOperators @fieldCategory\n EmailOperator: EmailOperators @fieldCategory\n TextAreaOperator: TextAreaOperators @fieldCategory\n LongTextAreaOperator: LongTextAreaOperators @fieldCategory\n URLOperator: URLOperators @fieldCategory\n PhoneNumberOperator: PhoneNumberOperators @fieldCategory\n BooleanOperator: BooleanOperators @fieldCategory\n IdOperator: IdOperators @fieldCategory\n CurrencyOperator: CurrencyOperators @fieldCategory\n TimeOperator: TimeOperators @fieldCategory\n DateOperator: DateOperators @fieldCategory\n DateTimeOperator: DateTimeOperators @fieldCategory\n PicklistOperator: PicklistOperators @fieldCategory\n MultiPicklistOperator: MultiPicklistOperators @fieldCategory\n GeolocationOperator: GeolocationOperators @fieldCategory\n}\n\ntype TimeValue implements FieldValue {\n value: Time\n displayValue: String\n format: String\n}\n\ninput GeolocationOperators {\n lt: GeolocationInput\n gt: GeolocationInput\n}\n\ninput LatitudeOperators {\n eq: Latitude\n ne: Latitude\n lt: Latitude\n gt: Latitude\n lte: Latitude\n gte: Latitude\n in: [Latitude]\n nin: [Latitude]\n}\n\ntype IntAggregate implements FieldValue {\n value: Int\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n grouping: IntValue\n max: IntValue\n min: IntValue\n sum: LongValue\n}\n\ntype RecordAggregate @generic {\n ApiName: String!\n BooleanAggregate: BooleanAggregate @fieldCategory\n CurrencyAggregate: CurrencyAggregate @fieldCategory\n DateAggregate: DateAggregate @fieldCategory\n DoubleAggregate: DoubleAggregate @fieldCategory\n EmailAggregate: EmailAggregate @fieldCategory\n IDAggregate: IDAggregate @fieldCategory\n IntAggregate: IntAggregate @fieldCategory\n LatitudeAggregate: LatitudeAggregate @fieldCategory\n LongitudeAggregate: LongitudeAggregate @fieldCategory\n LongAggregate: LongAggregate @fieldCategory\n PercentAggregate: PercentAggregate @fieldCategory\n PhoneNumberAggregate: PhoneNumberAggregate @fieldCategory\n PicklistAggregate: PicklistAggregate @fieldCategory\n StringAggregate: StringAggregate @fieldCategory\n TextAreaAggregate: TextAreaAggregate @fieldCategory\n TimeAggregate: TimeAggregate @fieldCategory\n UrlAggregate: UrlAggregate @fieldCategory\n parentRelationship: RecordAggregate @fieldCategory\n polymorphicParentRelationship: PolymorphicAggregateParentRelationship @fieldCategory\n}\n\nenum SObject__FieldType {\n ALL\n STANDARD\n CUSTOM\n}\n\ntype JSONValue implements FieldValue {\n value: JSON\n displayValue: String\n}\n\ntype EmailValue implements FieldValue {\n value: Email\n displayValue: String\n}\n\ninput DateFunctionInput {\n value: LongOperators\n convertTimezoneValue: LongOperators\n}\n\n# Mutations are not supported by Luvio.\n# type Mutation {\n# uiapi(input: UIAPIMutationsInput): UIAPIMutations!\n# }\n\nunion PolymorphicAggregateParentRelationship @generic = RecordAggregate\n\ninput LongTextAreaOperators {\n eq: LongTextArea\n ne: LongTextArea\n like: LongTextArea\n lt: LongTextArea\n gt: LongTextArea\n lte: LongTextArea\n gte: LongTextArea\n in: [LongTextArea]\n nin: [LongTextArea]\n}\n\ninput DateTimeOperators {\n eq: DateTimeInput\n ne: DateTimeInput\n lt: DateTimeInput\n gt: DateTimeInput\n lte: DateTimeInput\n gte: DateTimeInput\n in: [DateTimeInput]\n nin: [DateTimeInput]\n DAY_IN_WEEK: DateFunctionInput\n DAY_IN_MONTH: DateFunctionInput\n DAY_IN_YEAR: DateFunctionInput\n WEEK_IN_MONTH: DateFunctionInput\n WEEK_IN_YEAR: DateFunctionInput\n CALENDAR_MONTH: DateFunctionInput\n CALENDAR_QUARTER: DateFunctionInput\n CALENDAR_YEAR: DateFunctionInput\n FISCAL_MONTH: DateFunctionInput\n FISCAL_QUARTER: DateFunctionInput\n FISCAL_YEAR: DateFunctionInput\n DAY_ONLY: DateTimeFunctionInput\n HOUR_IN_DAY: DateFunctionInput\n}\n\ntype BooleanAggregate implements FieldValue {\n value: Boolean\n displayValue: String\n grouping: IntValue\n}\n\ntype RecordQueryAggregate {\n # scope should be RecordScope, but it is an empty enum\n recordQueryAggregate(first: Int, after: String, where: RecordFilter, orderBy: RecordAggregateOrderBy, scope: String, groupBy: RecordGroupBy, upperBound: Int): RecordAggregateConnection @fieldCategory\n}\n\ninput RecordCreateRepresentation @generic {\n Int: Int @fieldCategory\n String: String @fieldCategory\n Boolean: Boolean @fieldCategory\n ID: IdOrRef @fieldCategory\n DateTime: DateTime @fieldCategory\n Time: Time @fieldCategory\n Date: Date @fieldCategory\n TextArea: TextArea @fieldCategory\n LongTextArea: LongTextArea @fieldCategory\n RichTextArea: RichTextArea @fieldCategory\n PhoneNumber: PhoneNumber @fieldCategory\n Email: Email @fieldCategory\n Url: Url @fieldCategory\n EncryptedString: EncryptedString @fieldCategory\n Currency: Currency @fieldCategory\n Longitude: Longitude @fieldCategory\n Latitude: Latitude @fieldCategory\n Picklist: Picklist @fieldCategory\n MultiPicklist: MultiPicklist @fieldCategory\n Long: Long @fieldCategory\n Double: Double @fieldCategory\n Percent: Percent @fieldCategory\n Base64: Base64 @fieldCategory\n JSON: JSON @fieldCategory\n}\n\nenum FieldExtraTypeInfo {\n IMAGE_URL\n EXTERNAL_LOOKUP\n INDIRECT_LOOKUP\n PERSONNAME\n SWITCHABLE_PERSONNAME\n PLAINTEXTAREA\n RICHTEXTAREA\n}\n\ntype RateLimit {\n cost: Long\n limit: Long\n remaining: Long\n resetAt: DateTime\n}\n\ninput DateRange {\n last_n_days: Int\n next_n_days: Int\n last_n_weeks: Int\n next_n_weeks: Int\n last_n_months: Int\n next_n_months: Int\n last_n_quarters: Int\n next_n_quarters: Int\n last_n_fiscal_quarters: Int\n next_n_fiscal_quarters: Int\n last_n_years: Int\n next_n_years: Int\n last_n_fiscal_years: Int\n next_n_fiscal_years: Int\n n_days_ago: Int\n n_weeks_ago: Int\n n_months_ago: Int\n n_quarters_ago: Int\n n_years_ago: Int\n n_fiscal_quarters_ago: Int\n n_fiscal_years_ago: Int\n}\n\ntype UIAPIMutations {\n recordCreate(input: RecordCreateInput!): RecordCreatePayload @fieldCategory\n recordDelete(input: RecordDeleteInput!): RecordDeletePayload @fieldCategory\n recordUpdate(input: RecordUpdateInput!): RecordUpdatePayload @fieldCategory\n}\n\ninput IntegerOperators {\n eq: Int\n ne: Int\n lt: Int\n gt: Int\n lte: Int\n gte: Int\n in: [Int]\n nin: [Int]\n}\n\ntype EncryptedStringValue implements FieldValue {\n value: EncryptedString\n displayValue: String\n}\n\ninterface Record {\n Id: ID!\n ApiName: String!\n WeakEtag: Long!\n DisplayValue: String\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n SystemModstamp: DateTimeValue\n RecordTypeId(fallback: Boolean): IDValue\n}\n\ninput PolymorphicParentRelationshipRecordFilter @generic {\n RecordFilter: RecordFilter @fieldCategory\n}\n\n\"\"\"\nA type that can contain any of the following types: Boolean, Date, DateTime, Double, String.\nFormat and Label are not supported by AnyType and displayValue is an unformatted string representation of the value.\n\"\"\"\nunion AnyType = BooleanValue | DateValue | DateTimeValue | DoubleValue | StringValue\n\ninput AggregateOrderByNumberClause {\n function: AggregateOrderByNumberFunction\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ninput DateInput {\n value: Date\n literal: DateLiteral\n range: DateRange\n}\n\ninput RecordGroupBy @generic {\n groupableField: GroupByClause @fieldCategory\n groupableDateField: GroupByDateFunction @fieldCategory\n groupableParentRelationship: RecordGroupBy @fieldCategory\n groupablePolymorphicParentRelationship: PolymorphicParentRelationshipGroupBy @fieldCategory\n type: GroupByType = GROUP_BY\n}\n\ntype RecordQuery {\n # scope should be RecordScope, but it is an empty enum\n recordQuery(first: Int, after: String, where: RecordFilter, orderBy: RecordOrderBy, scope: String, upperBound: Int, updateMRU: Boolean): RecordConnection @fieldCategory\n}\n\ninput RecordAggregateOrderBy @generic {\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: RecordAggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipOrderBy @fieldCategory\n}\n\ninput IgnoreRule {\n rule: String!\n teamName: String!\n justification: String!\n}\n\ndirective @generic on OBJECT | INTERFACE | UNION | ENUM | INPUT_OBJECT\ndirective @fieldCategory on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | ENUM_VALUE\ndirective @category(name: String!) on FIELD\n\"Specifies the team name for a type\"\ndirective @team(name: String!) on OBJECT | INPUT_OBJECT | INTERFACE | ENUM | UNION | SCALAR\n\"Specifies the validation rules to ignore for this element.\"\ndirective @ignoreRule(rules: [IgnoreRule!]!) on OBJECT\n | INPUT_OBJECT\n | INTERFACE\n | ENUM\n | UNION\n | SCALAR\n | FIELD_DEFINITION\n | INPUT_FIELD_DEFINITION\n | ARGUMENT_DEFINITION\n | ENUM_VALUE\ndirective @optional on FIELD\n\ntype __Type {\n kind: __TypeKind!\n name: String\n description: String\n fields(includeDeprecated: Boolean = false): [__Field!]\n interfaces: [__Type!]\n possibleTypes: [__Type!]\n enumValues(includeDeprecated: Boolean = false): [__EnumValue!]\n inputFields: [__InputValue!]\n ofType: __Type\n}";
|
|
85512
85782
|
|
|
85513
85783
|
// Define additional schema that is missing from uiapi that we use in local evaluation
|
|
85514
85784
|
const additionalSchemaDefinitions = /* GraphQL */ `
|
|
@@ -89423,7 +89693,7 @@ const withInstrumentation = (operation, config) => {
|
|
|
89423
89693
|
return operation()
|
|
89424
89694
|
.catch((err) => {
|
|
89425
89695
|
hasError = true;
|
|
89426
|
-
const error = normalizeError$
|
|
89696
|
+
const error = normalizeError$2(err);
|
|
89427
89697
|
tags['errorMessage'] = error.message;
|
|
89428
89698
|
if (logError) {
|
|
89429
89699
|
ldsMobileInstrumentation$2.error(error);
|
|
@@ -95112,14 +95382,27 @@ const _FetchNetworkCommand = class _FetchNetworkCommand extends NetworkCommand {
|
|
|
95112
95382
|
constructor(services) {
|
|
95113
95383
|
super(services);
|
|
95114
95384
|
this.services = services;
|
|
95385
|
+
this.additionalNullResponses = [];
|
|
95115
95386
|
}
|
|
95116
|
-
fetch() {
|
|
95387
|
+
fetch(contextSeed) {
|
|
95117
95388
|
try {
|
|
95118
|
-
|
|
95389
|
+
const [input, init] = this.fetchParams;
|
|
95390
|
+
const initWithSeed = contextSeed === void 0 ? init : { ...init, __contextSeed: contextSeed };
|
|
95391
|
+
const fetchCall = initWithSeed === void 0 ? this.services.fetch(input) : this.services.fetch(input, initWithSeed);
|
|
95392
|
+
return this.convertFetchResponseToData(fetchCall);
|
|
95119
95393
|
} catch (reason) {
|
|
95120
95394
|
return resolvedPromiseLike$2(err$1(toError(reason)));
|
|
95121
95395
|
}
|
|
95122
95396
|
}
|
|
95397
|
+
isSemanticNullResponse(response) {
|
|
95398
|
+
return this.additionalNullResponses.includes(response.status);
|
|
95399
|
+
}
|
|
95400
|
+
isProtocolNoBodyStatus(status) {
|
|
95401
|
+
return status === 204 || status === 205;
|
|
95402
|
+
}
|
|
95403
|
+
isUndeclaredNoBodyResponse(response) {
|
|
95404
|
+
return this.isProtocolNoBodyStatus(response.status) && !this.isSemanticNullResponse(response);
|
|
95405
|
+
}
|
|
95123
95406
|
async coerceError(errorResponse) {
|
|
95124
95407
|
return toError(errorResponse.statusText);
|
|
95125
95408
|
}
|
|
@@ -95127,10 +95410,24 @@ const _FetchNetworkCommand = class _FetchNetworkCommand extends NetworkCommand {
|
|
|
95127
95410
|
return response.then(
|
|
95128
95411
|
(response2) => {
|
|
95129
95412
|
if (response2.ok) {
|
|
95130
|
-
|
|
95131
|
-
|
|
95132
|
-
|
|
95133
|
-
|
|
95413
|
+
let resultPromise;
|
|
95414
|
+
if (this.isSemanticNullResponse(response2)) {
|
|
95415
|
+
resultPromise = Promise.resolve(ok$1(null));
|
|
95416
|
+
} else if (this.isUndeclaredNoBodyResponse(response2)) {
|
|
95417
|
+
resultPromise = Promise.resolve(
|
|
95418
|
+
err$1(
|
|
95419
|
+
toError(
|
|
95420
|
+
`Unexpected ${response2.status} response: no-content status was not declared in the API specification. Declare this response in your OAS without a content property.`
|
|
95421
|
+
)
|
|
95422
|
+
)
|
|
95423
|
+
);
|
|
95424
|
+
} else {
|
|
95425
|
+
resultPromise = response2.json().then(
|
|
95426
|
+
(json) => ok$1(json),
|
|
95427
|
+
(reason) => err$1(toError(reason))
|
|
95428
|
+
);
|
|
95429
|
+
}
|
|
95430
|
+
return resultPromise.finally(() => {
|
|
95134
95431
|
try {
|
|
95135
95432
|
this.afterRequestHooks({ statusCode: response2.status });
|
|
95136
95433
|
} catch {
|
|
@@ -95177,6 +95474,7 @@ class HttpCacheControlCommand extends CacheControlCommand {
|
|
|
95177
95474
|
constructor(services) {
|
|
95178
95475
|
super(services);
|
|
95179
95476
|
this.services = services;
|
|
95477
|
+
this.additionalNullResponses = [];
|
|
95180
95478
|
}
|
|
95181
95479
|
requestFromNetwork() {
|
|
95182
95480
|
return this.fetch();
|
|
@@ -95188,6 +95486,15 @@ class HttpCacheControlCommand extends CacheControlCommand {
|
|
|
95188
95486
|
return resolvedPromiseLike$2(err$1(toError(reason)));
|
|
95189
95487
|
}
|
|
95190
95488
|
}
|
|
95489
|
+
isSemanticNullResponse(response) {
|
|
95490
|
+
return this.additionalNullResponses.includes(response.status);
|
|
95491
|
+
}
|
|
95492
|
+
isProtocolNoBodyStatus(status) {
|
|
95493
|
+
return status === 204 || status === 205;
|
|
95494
|
+
}
|
|
95495
|
+
isUndeclaredNoBodyResponse(response) {
|
|
95496
|
+
return this.isProtocolNoBodyStatus(response.status) && !this.isSemanticNullResponse(response);
|
|
95497
|
+
}
|
|
95191
95498
|
async coerceError(errorResponse) {
|
|
95192
95499
|
return toError(errorResponse.statusText);
|
|
95193
95500
|
}
|
|
@@ -95198,12 +95505,26 @@ class HttpCacheControlCommand extends CacheControlCommand {
|
|
|
95198
95505
|
return response.then(
|
|
95199
95506
|
(response2) => {
|
|
95200
95507
|
if (response2.ok) {
|
|
95201
|
-
|
|
95202
|
-
|
|
95203
|
-
|
|
95204
|
-
|
|
95205
|
-
|
|
95206
|
-
|
|
95508
|
+
let resultPromise;
|
|
95509
|
+
if (this.isSemanticNullResponse(response2)) {
|
|
95510
|
+
resultPromise = Promise.resolve(ok$1(null));
|
|
95511
|
+
} else if (this.isUndeclaredNoBodyResponse(response2)) {
|
|
95512
|
+
resultPromise = Promise.resolve(
|
|
95513
|
+
err$1(
|
|
95514
|
+
toError(
|
|
95515
|
+
`Unexpected ${response2.status} response: no-content status was not declared in the API specification. Declare this response in your OAS without a content property.`
|
|
95516
|
+
)
|
|
95517
|
+
)
|
|
95518
|
+
);
|
|
95519
|
+
} else {
|
|
95520
|
+
resultPromise = response2.json().then(
|
|
95521
|
+
(json) => {
|
|
95522
|
+
return this.processFetchReturnValue(json);
|
|
95523
|
+
},
|
|
95524
|
+
(reason) => err$1(toError(reason))
|
|
95525
|
+
);
|
|
95526
|
+
}
|
|
95527
|
+
return resultPromise.finally(() => {
|
|
95207
95528
|
try {
|
|
95208
95529
|
this.afterRequestHooks({ statusCode: response2.status });
|
|
95209
95530
|
} catch {
|
|
@@ -96191,7 +96512,7 @@ function buildServiceDescriptor$b(luvio) {
|
|
|
96191
96512
|
},
|
|
96192
96513
|
};
|
|
96193
96514
|
}
|
|
96194
|
-
// version: 1.428.0-
|
|
96515
|
+
// version: 1.428.0-dev20-d72ac06681
|
|
96195
96516
|
|
|
96196
96517
|
/**
|
|
96197
96518
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -96217,7 +96538,7 @@ function buildServiceDescriptor$a(notifyRecordUpdateAvailable, getNormalizedLuvi
|
|
|
96217
96538
|
},
|
|
96218
96539
|
};
|
|
96219
96540
|
}
|
|
96220
|
-
// version: 1.428.0-
|
|
96541
|
+
// version: 1.428.0-dev20-d72ac06681
|
|
96221
96542
|
|
|
96222
96543
|
/*!
|
|
96223
96544
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -96702,6 +97023,9 @@ function invalidSchemaResponseWithError$1(error) {
|
|
|
96702
97023
|
return err$1([error]);
|
|
96703
97024
|
}
|
|
96704
97025
|
function validateJsonSchema$1(data, schema, path = "$", document = schema) {
|
|
97026
|
+
return validateJsonSchemaInternal$1(data, schema, path, document, /* @__PURE__ */ new Map());
|
|
97027
|
+
}
|
|
97028
|
+
function validateJsonSchemaInternal$1(data, schema, path, document, visited) {
|
|
96705
97029
|
if (schema === true) return validSchemaResponse$1();
|
|
96706
97030
|
if (schema === false)
|
|
96707
97031
|
return invalidSchemaResponseWithError$1(
|
|
@@ -96710,22 +97034,22 @@ function validateJsonSchema$1(data, schema, path = "$", document = schema) {
|
|
|
96710
97034
|
const dataType = data === null ? "null" : Array.isArray(data) ? "array" : typeof data;
|
|
96711
97035
|
const errorCollector = new JsonSchemaErrorCollector$1();
|
|
96712
97036
|
if ("anyOf" in schema) {
|
|
96713
|
-
errorCollector.append(validateAnyOf$1(data, schema, path, document));
|
|
97037
|
+
errorCollector.append(validateAnyOf$1(data, schema, path, document, visited));
|
|
96714
97038
|
} else if ("oneOf" in schema) {
|
|
96715
|
-
errorCollector.append(validateOneOf$1(data, schema, path, document));
|
|
97039
|
+
errorCollector.append(validateOneOf$1(data, schema, path, document, visited));
|
|
96716
97040
|
} else if ("allOf" in schema) {
|
|
96717
|
-
errorCollector.append(validateAllOf$1(data, schema, path, document));
|
|
97041
|
+
errorCollector.append(validateAllOf$1(data, schema, path, document, visited));
|
|
96718
97042
|
} else if ("not" in schema) {
|
|
96719
|
-
errorCollector.append(validateNot$1(data, schema, path, document));
|
|
97043
|
+
errorCollector.append(validateNot$1(data, schema, path, document, visited));
|
|
96720
97044
|
} else if ("$ref" in schema) {
|
|
96721
|
-
errorCollector.append(validateRef$1(data, schema, path, document));
|
|
97045
|
+
errorCollector.append(validateRef$1(data, schema, path, document, visited));
|
|
96722
97046
|
} else if ("type" in schema) {
|
|
96723
97047
|
if (schema.type === "object") {
|
|
96724
97048
|
if (dataType !== "object") {
|
|
96725
97049
|
errorCollector.add(incorrectTypeError$1("object", dataType, path));
|
|
96726
97050
|
} else {
|
|
96727
97051
|
errorCollector.append(
|
|
96728
|
-
validateObject$1(data, schema, path, document)
|
|
97052
|
+
validateObject$1(data, schema, path, document, visited)
|
|
96729
97053
|
);
|
|
96730
97054
|
}
|
|
96731
97055
|
} else if (schema.type === "array") {
|
|
@@ -96733,7 +97057,7 @@ function validateJsonSchema$1(data, schema, path = "$", document = schema) {
|
|
|
96733
97057
|
errorCollector.add(incorrectTypeError$1("array", dataType, path));
|
|
96734
97058
|
} else {
|
|
96735
97059
|
errorCollector.append(
|
|
96736
|
-
validateArray$1(data, schema, path, document)
|
|
97060
|
+
validateArray$1(data, schema, path, document, visited)
|
|
96737
97061
|
);
|
|
96738
97062
|
}
|
|
96739
97063
|
} else {
|
|
@@ -96750,16 +97074,17 @@ function validateJsonSchema$1(data, schema, path = "$", document = schema) {
|
|
|
96750
97074
|
}
|
|
96751
97075
|
return errorCollector.toValidationResponse();
|
|
96752
97076
|
}
|
|
96753
|
-
function validateAnyOf$1(data, schema, path, document) {
|
|
97077
|
+
function validateAnyOf$1(data, schema, path, document, visited) {
|
|
96754
97078
|
let isValid = false;
|
|
96755
97079
|
const errorCollector = new JsonSchemaErrorCollector$1();
|
|
96756
97080
|
for (let i = 0, { length } = schema.anyOf; i < length; i++) {
|
|
96757
97081
|
const element = schema.anyOf[i];
|
|
96758
|
-
const validationResponse =
|
|
97082
|
+
const validationResponse = validateJsonSchemaInternal$1(
|
|
96759
97083
|
data,
|
|
96760
97084
|
element,
|
|
96761
97085
|
`${path}.anyOf[${i}]`,
|
|
96762
|
-
document
|
|
97086
|
+
document,
|
|
97087
|
+
visited
|
|
96763
97088
|
);
|
|
96764
97089
|
if (validationResponse.isOk()) {
|
|
96765
97090
|
isValid = true;
|
|
@@ -96776,13 +97101,22 @@ function validateAnyOf$1(data, schema, path, document) {
|
|
|
96776
97101
|
}
|
|
96777
97102
|
return validSchemaResponse$1();
|
|
96778
97103
|
}
|
|
96779
|
-
function validateOneOf$1(data, schema, path, document) {
|
|
97104
|
+
function validateOneOf$1(data, schema, path, document, visited) {
|
|
97105
|
+
if (schema.discriminator !== void 0) {
|
|
97106
|
+
return validateDiscriminatedOneOf$1(data, schema.discriminator, path, document, visited);
|
|
97107
|
+
}
|
|
96780
97108
|
let validSubShemaPaths = [];
|
|
96781
97109
|
const errorCollector = new JsonSchemaErrorCollector$1();
|
|
96782
97110
|
for (let i = 0, { length } = schema.oneOf; i < length; i++) {
|
|
96783
97111
|
const element = schema.oneOf[i];
|
|
96784
97112
|
const oneOfPath = `${path}.oneOf[${i}]`;
|
|
96785
|
-
const validationResponse =
|
|
97113
|
+
const validationResponse = validateJsonSchemaInternal$1(
|
|
97114
|
+
data,
|
|
97115
|
+
element,
|
|
97116
|
+
oneOfPath,
|
|
97117
|
+
document,
|
|
97118
|
+
visited
|
|
97119
|
+
);
|
|
96786
97120
|
if (validationResponse.isOk()) {
|
|
96787
97121
|
validSubShemaPaths.push(oneOfPath);
|
|
96788
97122
|
} else {
|
|
@@ -96804,16 +97138,45 @@ function validateOneOf$1(data, schema, path, document) {
|
|
|
96804
97138
|
}
|
|
96805
97139
|
return validSchemaResponse$1();
|
|
96806
97140
|
}
|
|
96807
|
-
function
|
|
97141
|
+
function validateDiscriminatedOneOf$1(data, discriminator, path, document, visited) {
|
|
97142
|
+
if (data === null || typeof data !== "object" || Array.isArray(data)) {
|
|
97143
|
+
return invalidSchemaResponseWithError$1(incorrectTypeError$1("object", typeof data, path));
|
|
97144
|
+
}
|
|
97145
|
+
const { propertyName, mapping } = discriminator;
|
|
97146
|
+
const discriminatorValue = data[propertyName];
|
|
97147
|
+
if (discriminatorValue === void 0) {
|
|
97148
|
+
return invalidSchemaResponseWithError$1(
|
|
97149
|
+
new MissingRequiredPropertyError$1(
|
|
97150
|
+
`Object at path '${path}' is missing required discriminator property '${propertyName}'.`
|
|
97151
|
+
)
|
|
97152
|
+
);
|
|
97153
|
+
}
|
|
97154
|
+
if (typeof discriminatorValue !== "string") {
|
|
97155
|
+
return invalidSchemaResponseWithError$1(
|
|
97156
|
+
incorrectTypeError$1("string", typeof discriminatorValue, `${path}.${propertyName}`)
|
|
97157
|
+
);
|
|
97158
|
+
}
|
|
97159
|
+
const targetRef = mapping[discriminatorValue];
|
|
97160
|
+
if (targetRef === void 0) {
|
|
97161
|
+
return invalidSchemaResponseWithError$1(
|
|
97162
|
+
new JsonSchemaViolationError$1(
|
|
97163
|
+
`Discriminator value '${discriminatorValue}' at '${path}.${propertyName}' is not in the mapping. Expected one of: [${Object.keys(mapping).join(", ")}].`
|
|
97164
|
+
)
|
|
97165
|
+
);
|
|
97166
|
+
}
|
|
97167
|
+
return validateJsonSchemaInternal$1(data, { $ref: targetRef }, path, document, visited);
|
|
97168
|
+
}
|
|
97169
|
+
function validateAllOf$1(data, schema, path, document, visited) {
|
|
96808
97170
|
let isValid = true;
|
|
96809
97171
|
const errorCollector = new JsonSchemaErrorCollector$1();
|
|
96810
97172
|
for (let i = 0, { length } = schema.allOf; i < length; i++) {
|
|
96811
97173
|
const element = schema.allOf[i];
|
|
96812
|
-
const validationResponse =
|
|
97174
|
+
const validationResponse = validateJsonSchemaInternal$1(
|
|
96813
97175
|
data,
|
|
96814
97176
|
element,
|
|
96815
97177
|
`${path}.allOf[${i}]`,
|
|
96816
|
-
document
|
|
97178
|
+
document,
|
|
97179
|
+
visited
|
|
96817
97180
|
);
|
|
96818
97181
|
if (!validationResponse.isOk()) {
|
|
96819
97182
|
errorCollector.append(validationResponse);
|
|
@@ -96827,8 +97190,14 @@ function validateAllOf$1(data, schema, path, document) {
|
|
|
96827
97190
|
}
|
|
96828
97191
|
return errorCollector.toValidationResponse();
|
|
96829
97192
|
}
|
|
96830
|
-
function validateNot$1(data, schema, path, document) {
|
|
96831
|
-
const validationResponse =
|
|
97193
|
+
function validateNot$1(data, schema, path, document, visited) {
|
|
97194
|
+
const validationResponse = validateJsonSchemaInternal$1(
|
|
97195
|
+
data,
|
|
97196
|
+
schema.not,
|
|
97197
|
+
path,
|
|
97198
|
+
document,
|
|
97199
|
+
visited
|
|
97200
|
+
);
|
|
96832
97201
|
if (validationResponse.isOk()) {
|
|
96833
97202
|
return invalidSchemaResponseWithError$1(
|
|
96834
97203
|
new JsonSchemaViolationError$1(
|
|
@@ -96838,7 +97207,7 @@ function validateNot$1(data, schema, path, document) {
|
|
|
96838
97207
|
}
|
|
96839
97208
|
return validSchemaResponse$1();
|
|
96840
97209
|
}
|
|
96841
|
-
function validateObject$1(data, schema, path, document) {
|
|
97210
|
+
function validateObject$1(data, schema, path, document, visited) {
|
|
96842
97211
|
const schemaKeys = Object.keys(schema.properties);
|
|
96843
97212
|
const requiredKeys = new Set(schema.required);
|
|
96844
97213
|
const schemaKeySet = new Set(schemaKeys);
|
|
@@ -96846,11 +97215,12 @@ function validateObject$1(data, schema, path, document) {
|
|
|
96846
97215
|
Object.keys(data).forEach((key) => {
|
|
96847
97216
|
if (!schemaKeySet.has(key)) {
|
|
96848
97217
|
errorCollector.append(
|
|
96849
|
-
|
|
97218
|
+
validateJsonSchemaInternal$1(
|
|
96850
97219
|
data[key],
|
|
96851
97220
|
schema.additionalProperties,
|
|
96852
97221
|
`${path}.additionalProperties[${key}]`,
|
|
96853
|
-
document
|
|
97222
|
+
document,
|
|
97223
|
+
visited
|
|
96854
97224
|
)
|
|
96855
97225
|
);
|
|
96856
97226
|
}
|
|
@@ -96867,18 +97237,19 @@ function validateObject$1(data, schema, path, document) {
|
|
|
96867
97237
|
}
|
|
96868
97238
|
if (keyInData) {
|
|
96869
97239
|
errorCollector.append(
|
|
96870
|
-
|
|
97240
|
+
validateJsonSchemaInternal$1(
|
|
96871
97241
|
data[key],
|
|
96872
97242
|
schema.properties[key],
|
|
96873
97243
|
`${path}.${key}`,
|
|
96874
|
-
document
|
|
97244
|
+
document,
|
|
97245
|
+
visited
|
|
96875
97246
|
)
|
|
96876
97247
|
);
|
|
96877
97248
|
}
|
|
96878
97249
|
}
|
|
96879
97250
|
return errorCollector.toValidationResponse();
|
|
96880
97251
|
}
|
|
96881
|
-
function validateArray$1(data, schema, path, document) {
|
|
97252
|
+
function validateArray$1(data, schema, path, document, visited) {
|
|
96882
97253
|
if (schema.minItems !== void 0 && data.length < schema.minItems) {
|
|
96883
97254
|
return invalidSchemaResponseWithError$1(
|
|
96884
97255
|
new MinItemsViolationError$1(
|
|
@@ -96896,7 +97267,13 @@ function validateArray$1(data, schema, path, document) {
|
|
|
96896
97267
|
const errorCollector = new JsonSchemaErrorCollector$1();
|
|
96897
97268
|
data.forEach(
|
|
96898
97269
|
(element, index) => errorCollector.append(
|
|
96899
|
-
|
|
97270
|
+
validateJsonSchemaInternal$1(
|
|
97271
|
+
element,
|
|
97272
|
+
schema.items,
|
|
97273
|
+
`${path}[${index}]`,
|
|
97274
|
+
document,
|
|
97275
|
+
visited
|
|
97276
|
+
)
|
|
96900
97277
|
)
|
|
96901
97278
|
);
|
|
96902
97279
|
return errorCollector.toValidationResponse();
|
|
@@ -96931,7 +97308,7 @@ function validateScalar$1(data, schema, path) {
|
|
|
96931
97308
|
}
|
|
96932
97309
|
return validSchemaResponse$1();
|
|
96933
97310
|
}
|
|
96934
|
-
function validateRef$1(data, schema, path, document) {
|
|
97311
|
+
function validateRef$1(data, schema, path, document, visited) {
|
|
96935
97312
|
if (!schema.$ref.startsWith("#")) {
|
|
96936
97313
|
return invalidSchemaResponseWithError$1(
|
|
96937
97314
|
new InvalidRefError$1(
|
|
@@ -96939,11 +97316,23 @@ function validateRef$1(data, schema, path, document) {
|
|
|
96939
97316
|
)
|
|
96940
97317
|
);
|
|
96941
97318
|
}
|
|
97319
|
+
let refsForData = visited.get(data);
|
|
97320
|
+
if (refsForData !== void 0 && refsForData.has(schema.$ref)) {
|
|
97321
|
+
return validSchemaResponse$1();
|
|
97322
|
+
}
|
|
97323
|
+
if (refsForData === void 0) {
|
|
97324
|
+
refsForData = /* @__PURE__ */ new Set();
|
|
97325
|
+
visited.set(data, refsForData);
|
|
97326
|
+
}
|
|
97327
|
+
refsForData.add(schema.$ref);
|
|
96942
97328
|
try {
|
|
96943
97329
|
const schemaToValidate = findSchemaAtPath$1(document, schema.$ref);
|
|
96944
|
-
return
|
|
97330
|
+
return validateJsonSchemaInternal$1(data, schemaToValidate, path, document, visited);
|
|
96945
97331
|
} catch (e) {
|
|
96946
97332
|
return invalidSchemaResponseWithError$1(e);
|
|
97333
|
+
} finally {
|
|
97334
|
+
refsForData.delete(schema.$ref);
|
|
97335
|
+
if (refsForData.size === 0) visited.delete(data);
|
|
96947
97336
|
}
|
|
96948
97337
|
}
|
|
96949
97338
|
function validateEnum$1(data, enumValue, path) {
|
|
@@ -97828,9 +98217,18 @@ function buildServiceDescriptor$1(interceptors = {
|
|
|
97828
98217
|
return {
|
|
97829
98218
|
type: "fetch",
|
|
97830
98219
|
version: "1.0",
|
|
97831
|
-
service: function(
|
|
98220
|
+
service: function(input, init) {
|
|
97832
98221
|
var _a;
|
|
97833
|
-
|
|
98222
|
+
let contextSeed;
|
|
98223
|
+
let cleanInit = init;
|
|
98224
|
+
if (init !== void 0 && "__contextSeed" in init) {
|
|
98225
|
+
const { __contextSeed, ...initWithoutSeed } = init;
|
|
98226
|
+
contextSeed = __contextSeed;
|
|
98227
|
+
cleanInit = Object.keys(initWithoutSeed).length === 0 ? void 0 : initWithoutSeed;
|
|
98228
|
+
}
|
|
98229
|
+
const fetchArgs = cleanInit === void 0 ? [input] : [input, cleanInit];
|
|
98230
|
+
const baseContext = (_a = interceptors.createContext) == null ? void 0 : _a.call(interceptors);
|
|
98231
|
+
const context = contextSeed === void 0 ? baseContext : { ...baseContext, ...contextSeed };
|
|
97834
98232
|
const {
|
|
97835
98233
|
request: requestInterceptors = [],
|
|
97836
98234
|
retry: retryInterceptor = void 0,
|
|
@@ -97838,17 +98236,17 @@ function buildServiceDescriptor$1(interceptors = {
|
|
|
97838
98236
|
finally: finallyInterceptors = []
|
|
97839
98237
|
} = interceptors;
|
|
97840
98238
|
const pending = requestInterceptors.reduce(
|
|
97841
|
-
(previousPromise, interceptor) => previousPromise.then((
|
|
97842
|
-
resolvedPromiseLike$2(
|
|
98239
|
+
(previousPromise, interceptor) => previousPromise.then((args) => interceptor(args, context)),
|
|
98240
|
+
resolvedPromiseLike$2(fetchArgs)
|
|
97843
98241
|
);
|
|
97844
|
-
return Promise.resolve(pending).then((
|
|
98242
|
+
return Promise.resolve(pending).then((args) => {
|
|
97845
98243
|
if (retryInterceptor) {
|
|
97846
|
-
return retryInterceptor(
|
|
98244
|
+
return retryInterceptor(args, retryService, context);
|
|
97847
98245
|
} else {
|
|
97848
98246
|
if (retryService) {
|
|
97849
|
-
return retryService.applyRetry(() => fetch(...
|
|
98247
|
+
return retryService.applyRetry(() => fetch(...args));
|
|
97850
98248
|
}
|
|
97851
|
-
return fetch(...
|
|
98249
|
+
return fetch(...args);
|
|
97852
98250
|
}
|
|
97853
98251
|
}).then((response) => {
|
|
97854
98252
|
return responseInterceptors.reduce(
|
|
@@ -98874,7 +99272,7 @@ register$1({
|
|
|
98874
99272
|
id: '@salesforce/lds-network-adapter',
|
|
98875
99273
|
instrument: instrument$2,
|
|
98876
99274
|
});
|
|
98877
|
-
// version: 1.428.0-
|
|
99275
|
+
// version: 1.428.0-dev20-1b319a0432
|
|
98878
99276
|
|
|
98879
99277
|
const { create: create$2, keys: keys$2 } = Object;
|
|
98880
99278
|
const { stringify, parse } = JSON;
|
|
@@ -98965,6 +99363,9 @@ function invalidSchemaResponseWithError(error) {
|
|
|
98965
99363
|
return err$4([error]);
|
|
98966
99364
|
}
|
|
98967
99365
|
function validateJsonSchema(data, schema, path = "$", document = schema) {
|
|
99366
|
+
return validateJsonSchemaInternal(data, schema, path, document, /* @__PURE__ */ new Map());
|
|
99367
|
+
}
|
|
99368
|
+
function validateJsonSchemaInternal(data, schema, path, document, visited) {
|
|
98968
99369
|
if (schema === true) return validSchemaResponse();
|
|
98969
99370
|
if (schema === false)
|
|
98970
99371
|
return invalidSchemaResponseWithError(
|
|
@@ -98973,22 +99374,22 @@ function validateJsonSchema(data, schema, path = "$", document = schema) {
|
|
|
98973
99374
|
const dataType = data === null ? "null" : Array.isArray(data) ? "array" : typeof data;
|
|
98974
99375
|
const errorCollector = new JsonSchemaErrorCollector();
|
|
98975
99376
|
if ("anyOf" in schema) {
|
|
98976
|
-
errorCollector.append(validateAnyOf(data, schema, path, document));
|
|
99377
|
+
errorCollector.append(validateAnyOf(data, schema, path, document, visited));
|
|
98977
99378
|
} else if ("oneOf" in schema) {
|
|
98978
|
-
errorCollector.append(validateOneOf(data, schema, path, document));
|
|
99379
|
+
errorCollector.append(validateOneOf(data, schema, path, document, visited));
|
|
98979
99380
|
} else if ("allOf" in schema) {
|
|
98980
|
-
errorCollector.append(validateAllOf(data, schema, path, document));
|
|
99381
|
+
errorCollector.append(validateAllOf(data, schema, path, document, visited));
|
|
98981
99382
|
} else if ("not" in schema) {
|
|
98982
|
-
errorCollector.append(validateNot(data, schema, path, document));
|
|
99383
|
+
errorCollector.append(validateNot(data, schema, path, document, visited));
|
|
98983
99384
|
} else if ("$ref" in schema) {
|
|
98984
|
-
errorCollector.append(validateRef(data, schema, path, document));
|
|
99385
|
+
errorCollector.append(validateRef(data, schema, path, document, visited));
|
|
98985
99386
|
} else if ("type" in schema) {
|
|
98986
99387
|
if (schema.type === "object") {
|
|
98987
99388
|
if (dataType !== "object") {
|
|
98988
99389
|
errorCollector.add(incorrectTypeError("object", dataType, path));
|
|
98989
99390
|
} else {
|
|
98990
99391
|
errorCollector.append(
|
|
98991
|
-
validateObject(data, schema, path, document)
|
|
99392
|
+
validateObject(data, schema, path, document, visited)
|
|
98992
99393
|
);
|
|
98993
99394
|
}
|
|
98994
99395
|
} else if (schema.type === "array") {
|
|
@@ -98996,7 +99397,7 @@ function validateJsonSchema(data, schema, path = "$", document = schema) {
|
|
|
98996
99397
|
errorCollector.add(incorrectTypeError("array", dataType, path));
|
|
98997
99398
|
} else {
|
|
98998
99399
|
errorCollector.append(
|
|
98999
|
-
validateArray(data, schema, path, document)
|
|
99400
|
+
validateArray(data, schema, path, document, visited)
|
|
99000
99401
|
);
|
|
99001
99402
|
}
|
|
99002
99403
|
} else {
|
|
@@ -99013,16 +99414,17 @@ function validateJsonSchema(data, schema, path = "$", document = schema) {
|
|
|
99013
99414
|
}
|
|
99014
99415
|
return errorCollector.toValidationResponse();
|
|
99015
99416
|
}
|
|
99016
|
-
function validateAnyOf(data, schema, path, document) {
|
|
99417
|
+
function validateAnyOf(data, schema, path, document, visited) {
|
|
99017
99418
|
let isValid = false;
|
|
99018
99419
|
const errorCollector = new JsonSchemaErrorCollector();
|
|
99019
99420
|
for (let i = 0, { length } = schema.anyOf; i < length; i++) {
|
|
99020
99421
|
const element = schema.anyOf[i];
|
|
99021
|
-
const validationResponse =
|
|
99422
|
+
const validationResponse = validateJsonSchemaInternal(
|
|
99022
99423
|
data,
|
|
99023
99424
|
element,
|
|
99024
99425
|
`${path}.anyOf[${i}]`,
|
|
99025
|
-
document
|
|
99426
|
+
document,
|
|
99427
|
+
visited
|
|
99026
99428
|
);
|
|
99027
99429
|
if (validationResponse.isOk()) {
|
|
99028
99430
|
isValid = true;
|
|
@@ -99039,13 +99441,22 @@ function validateAnyOf(data, schema, path, document) {
|
|
|
99039
99441
|
}
|
|
99040
99442
|
return validSchemaResponse();
|
|
99041
99443
|
}
|
|
99042
|
-
function validateOneOf(data, schema, path, document) {
|
|
99444
|
+
function validateOneOf(data, schema, path, document, visited) {
|
|
99445
|
+
if (schema.discriminator !== void 0) {
|
|
99446
|
+
return validateDiscriminatedOneOf(data, schema.discriminator, path, document, visited);
|
|
99447
|
+
}
|
|
99043
99448
|
let validSubShemaPaths = [];
|
|
99044
99449
|
const errorCollector = new JsonSchemaErrorCollector();
|
|
99045
99450
|
for (let i = 0, { length } = schema.oneOf; i < length; i++) {
|
|
99046
99451
|
const element = schema.oneOf[i];
|
|
99047
99452
|
const oneOfPath = `${path}.oneOf[${i}]`;
|
|
99048
|
-
const validationResponse =
|
|
99453
|
+
const validationResponse = validateJsonSchemaInternal(
|
|
99454
|
+
data,
|
|
99455
|
+
element,
|
|
99456
|
+
oneOfPath,
|
|
99457
|
+
document,
|
|
99458
|
+
visited
|
|
99459
|
+
);
|
|
99049
99460
|
if (validationResponse.isOk()) {
|
|
99050
99461
|
validSubShemaPaths.push(oneOfPath);
|
|
99051
99462
|
} else {
|
|
@@ -99067,16 +99478,45 @@ function validateOneOf(data, schema, path, document) {
|
|
|
99067
99478
|
}
|
|
99068
99479
|
return validSchemaResponse();
|
|
99069
99480
|
}
|
|
99070
|
-
function
|
|
99481
|
+
function validateDiscriminatedOneOf(data, discriminator, path, document, visited) {
|
|
99482
|
+
if (data === null || typeof data !== "object" || Array.isArray(data)) {
|
|
99483
|
+
return invalidSchemaResponseWithError(incorrectTypeError("object", typeof data, path));
|
|
99484
|
+
}
|
|
99485
|
+
const { propertyName, mapping } = discriminator;
|
|
99486
|
+
const discriminatorValue = data[propertyName];
|
|
99487
|
+
if (discriminatorValue === void 0) {
|
|
99488
|
+
return invalidSchemaResponseWithError(
|
|
99489
|
+
new MissingRequiredPropertyError(
|
|
99490
|
+
`Object at path '${path}' is missing required discriminator property '${propertyName}'.`
|
|
99491
|
+
)
|
|
99492
|
+
);
|
|
99493
|
+
}
|
|
99494
|
+
if (typeof discriminatorValue !== "string") {
|
|
99495
|
+
return invalidSchemaResponseWithError(
|
|
99496
|
+
incorrectTypeError("string", typeof discriminatorValue, `${path}.${propertyName}`)
|
|
99497
|
+
);
|
|
99498
|
+
}
|
|
99499
|
+
const targetRef = mapping[discriminatorValue];
|
|
99500
|
+
if (targetRef === void 0) {
|
|
99501
|
+
return invalidSchemaResponseWithError(
|
|
99502
|
+
new JsonSchemaViolationError(
|
|
99503
|
+
`Discriminator value '${discriminatorValue}' at '${path}.${propertyName}' is not in the mapping. Expected one of: [${Object.keys(mapping).join(", ")}].`
|
|
99504
|
+
)
|
|
99505
|
+
);
|
|
99506
|
+
}
|
|
99507
|
+
return validateJsonSchemaInternal(data, { $ref: targetRef }, path, document, visited);
|
|
99508
|
+
}
|
|
99509
|
+
function validateAllOf(data, schema, path, document, visited) {
|
|
99071
99510
|
let isValid = true;
|
|
99072
99511
|
const errorCollector = new JsonSchemaErrorCollector();
|
|
99073
99512
|
for (let i = 0, { length } = schema.allOf; i < length; i++) {
|
|
99074
99513
|
const element = schema.allOf[i];
|
|
99075
|
-
const validationResponse =
|
|
99514
|
+
const validationResponse = validateJsonSchemaInternal(
|
|
99076
99515
|
data,
|
|
99077
99516
|
element,
|
|
99078
99517
|
`${path}.allOf[${i}]`,
|
|
99079
|
-
document
|
|
99518
|
+
document,
|
|
99519
|
+
visited
|
|
99080
99520
|
);
|
|
99081
99521
|
if (!validationResponse.isOk()) {
|
|
99082
99522
|
errorCollector.append(validationResponse);
|
|
@@ -99090,8 +99530,14 @@ function validateAllOf(data, schema, path, document) {
|
|
|
99090
99530
|
}
|
|
99091
99531
|
return errorCollector.toValidationResponse();
|
|
99092
99532
|
}
|
|
99093
|
-
function validateNot(data, schema, path, document) {
|
|
99094
|
-
const validationResponse =
|
|
99533
|
+
function validateNot(data, schema, path, document, visited) {
|
|
99534
|
+
const validationResponse = validateJsonSchemaInternal(
|
|
99535
|
+
data,
|
|
99536
|
+
schema.not,
|
|
99537
|
+
path,
|
|
99538
|
+
document,
|
|
99539
|
+
visited
|
|
99540
|
+
);
|
|
99095
99541
|
if (validationResponse.isOk()) {
|
|
99096
99542
|
return invalidSchemaResponseWithError(
|
|
99097
99543
|
new JsonSchemaViolationError(
|
|
@@ -99101,7 +99547,7 @@ function validateNot(data, schema, path, document) {
|
|
|
99101
99547
|
}
|
|
99102
99548
|
return validSchemaResponse();
|
|
99103
99549
|
}
|
|
99104
|
-
function validateObject(data, schema, path, document) {
|
|
99550
|
+
function validateObject(data, schema, path, document, visited) {
|
|
99105
99551
|
const schemaKeys = Object.keys(schema.properties);
|
|
99106
99552
|
const requiredKeys = new Set(schema.required);
|
|
99107
99553
|
const schemaKeySet = new Set(schemaKeys);
|
|
@@ -99109,11 +99555,12 @@ function validateObject(data, schema, path, document) {
|
|
|
99109
99555
|
Object.keys(data).forEach((key) => {
|
|
99110
99556
|
if (!schemaKeySet.has(key)) {
|
|
99111
99557
|
errorCollector.append(
|
|
99112
|
-
|
|
99558
|
+
validateJsonSchemaInternal(
|
|
99113
99559
|
data[key],
|
|
99114
99560
|
schema.additionalProperties,
|
|
99115
99561
|
`${path}.additionalProperties[${key}]`,
|
|
99116
|
-
document
|
|
99562
|
+
document,
|
|
99563
|
+
visited
|
|
99117
99564
|
)
|
|
99118
99565
|
);
|
|
99119
99566
|
}
|
|
@@ -99130,18 +99577,19 @@ function validateObject(data, schema, path, document) {
|
|
|
99130
99577
|
}
|
|
99131
99578
|
if (keyInData) {
|
|
99132
99579
|
errorCollector.append(
|
|
99133
|
-
|
|
99580
|
+
validateJsonSchemaInternal(
|
|
99134
99581
|
data[key],
|
|
99135
99582
|
schema.properties[key],
|
|
99136
99583
|
`${path}.${key}`,
|
|
99137
|
-
document
|
|
99584
|
+
document,
|
|
99585
|
+
visited
|
|
99138
99586
|
)
|
|
99139
99587
|
);
|
|
99140
99588
|
}
|
|
99141
99589
|
}
|
|
99142
99590
|
return errorCollector.toValidationResponse();
|
|
99143
99591
|
}
|
|
99144
|
-
function validateArray(data, schema, path, document) {
|
|
99592
|
+
function validateArray(data, schema, path, document, visited) {
|
|
99145
99593
|
if (schema.minItems !== void 0 && data.length < schema.minItems) {
|
|
99146
99594
|
return invalidSchemaResponseWithError(
|
|
99147
99595
|
new MinItemsViolationError(
|
|
@@ -99159,7 +99607,13 @@ function validateArray(data, schema, path, document) {
|
|
|
99159
99607
|
const errorCollector = new JsonSchemaErrorCollector();
|
|
99160
99608
|
data.forEach(
|
|
99161
99609
|
(element, index) => errorCollector.append(
|
|
99162
|
-
|
|
99610
|
+
validateJsonSchemaInternal(
|
|
99611
|
+
element,
|
|
99612
|
+
schema.items,
|
|
99613
|
+
`${path}[${index}]`,
|
|
99614
|
+
document,
|
|
99615
|
+
visited
|
|
99616
|
+
)
|
|
99163
99617
|
)
|
|
99164
99618
|
);
|
|
99165
99619
|
return errorCollector.toValidationResponse();
|
|
@@ -99194,7 +99648,7 @@ function validateScalar(data, schema, path) {
|
|
|
99194
99648
|
}
|
|
99195
99649
|
return validSchemaResponse();
|
|
99196
99650
|
}
|
|
99197
|
-
function validateRef(data, schema, path, document) {
|
|
99651
|
+
function validateRef(data, schema, path, document, visited) {
|
|
99198
99652
|
if (!schema.$ref.startsWith("#")) {
|
|
99199
99653
|
return invalidSchemaResponseWithError(
|
|
99200
99654
|
new InvalidRefError(
|
|
@@ -99202,11 +99656,23 @@ function validateRef(data, schema, path, document) {
|
|
|
99202
99656
|
)
|
|
99203
99657
|
);
|
|
99204
99658
|
}
|
|
99659
|
+
let refsForData = visited.get(data);
|
|
99660
|
+
if (refsForData !== void 0 && refsForData.has(schema.$ref)) {
|
|
99661
|
+
return validSchemaResponse();
|
|
99662
|
+
}
|
|
99663
|
+
if (refsForData === void 0) {
|
|
99664
|
+
refsForData = /* @__PURE__ */ new Set();
|
|
99665
|
+
visited.set(data, refsForData);
|
|
99666
|
+
}
|
|
99667
|
+
refsForData.add(schema.$ref);
|
|
99205
99668
|
try {
|
|
99206
99669
|
const schemaToValidate = findSchemaAtPath(document, schema.$ref);
|
|
99207
|
-
return
|
|
99670
|
+
return validateJsonSchemaInternal(data, schemaToValidate, path, document, visited);
|
|
99208
99671
|
} catch (e) {
|
|
99209
99672
|
return invalidSchemaResponseWithError(e);
|
|
99673
|
+
} finally {
|
|
99674
|
+
refsForData.delete(schema.$ref);
|
|
99675
|
+
if (refsForData.size === 0) visited.delete(data);
|
|
99210
99676
|
}
|
|
99211
99677
|
}
|
|
99212
99678
|
function validateEnum(data, enumValue, path) {
|
|
@@ -101420,6 +101886,7 @@ class Analytics__AnalyticsRepresentationInterfaceRepository extends BaseInterfac
|
|
|
101420
101886
|
RecordOperations: new BaseArrayFieldDef(new BaseScalarFieldDef(true), true),
|
|
101421
101887
|
AssetApiName: new BaseScalarFieldDef(true),
|
|
101422
101888
|
DloActiveStatus: new BaseScalarFieldDef(true),
|
|
101889
|
+
ReusedAssetStatus: new BaseScalarFieldDef(true),
|
|
101423
101890
|
};
|
|
101424
101891
|
}
|
|
101425
101892
|
get possibleTypes() {
|
|
@@ -101461,6 +101928,7 @@ class Analytics__AnalyticsRepresentationRepository extends IdentifiableGraphQLTy
|
|
|
101461
101928
|
Dataspaces: new BaseArrayFieldDef(new BaseObjectFieldDef(this.typeRegistry.Analytics__DataspaceRepresentation, true), true),
|
|
101462
101929
|
AssetApiName: new BaseScalarFieldDef(true),
|
|
101463
101930
|
DloActiveStatus: new BaseScalarFieldDef(true),
|
|
101931
|
+
ReusedAssetStatus: new BaseScalarFieldDef(true),
|
|
101464
101932
|
};
|
|
101465
101933
|
}
|
|
101466
101934
|
get cacheControl() {
|
|
@@ -101610,6 +102078,7 @@ class Analytics__DominoTemplateRepository extends IdentifiableGraphQLTypeReposit
|
|
|
101610
102078
|
RecordOperations: new BaseArrayFieldDef(new BaseScalarFieldDef(true), true),
|
|
101611
102079
|
AssetApiName: new BaseScalarFieldDef(true),
|
|
101612
102080
|
DloActiveStatus: new BaseScalarFieldDef(true),
|
|
102081
|
+
ReusedAssetStatus: new BaseScalarFieldDef(true),
|
|
101613
102082
|
};
|
|
101614
102083
|
}
|
|
101615
102084
|
get cacheControl() {
|
|
@@ -101646,6 +102115,7 @@ class Analytics__MktDataConnectorRepository extends IdentifiableGraphQLTypeRepos
|
|
|
101646
102115
|
DataConnectorType: new BaseObjectFieldDef(this.typeRegistry.StringValue, true),
|
|
101647
102116
|
AssetApiName: new BaseScalarFieldDef(true),
|
|
101648
102117
|
DloActiveStatus: new BaseScalarFieldDef(true),
|
|
102118
|
+
ReusedAssetStatus: new BaseScalarFieldDef(true),
|
|
101649
102119
|
};
|
|
101650
102120
|
}
|
|
101651
102121
|
get cacheControl() {
|
|
@@ -101684,6 +102154,7 @@ class Analytics__SemanticDefinitionRepository extends IdentifiableGraphQLTypeRep
|
|
|
101684
102154
|
RecordOperations: new BaseArrayFieldDef(new BaseScalarFieldDef(true), true),
|
|
101685
102155
|
AssetApiName: new BaseScalarFieldDef(true),
|
|
101686
102156
|
DloActiveStatus: new BaseScalarFieldDef(true),
|
|
102157
|
+
ReusedAssetStatus: new BaseScalarFieldDef(true),
|
|
101687
102158
|
};
|
|
101688
102159
|
}
|
|
101689
102160
|
get cacheControl() {
|
|
@@ -101782,6 +102253,7 @@ class Analytics__SemanticModelRepository extends IdentifiableGraphQLTypeReposito
|
|
|
101782
102253
|
RecordOperations: new BaseArrayFieldDef(new BaseScalarFieldDef(true), true),
|
|
101783
102254
|
AssetApiName: new BaseScalarFieldDef(true),
|
|
101784
102255
|
DloActiveStatus: new BaseScalarFieldDef(true),
|
|
102256
|
+
ReusedAssetStatus: new BaseScalarFieldDef(true),
|
|
101785
102257
|
};
|
|
101786
102258
|
}
|
|
101787
102259
|
get cacheControl() {
|
|
@@ -106364,6 +106836,11 @@ function buildCommandClass(baseClass) {
|
|
|
106364
106836
|
Object.entries(this.latestUsedRecordIdToWeakEtagMap).forEach(([recordId, oneStoreRecordWeakEtag]) => {
|
|
106365
106837
|
const normalizedLuvioRecord = this.services.luvioUiapiRecords.getNormalizedLuvioRecord(recordId, reader);
|
|
106366
106838
|
if (!normalizedLuvioRecord) {
|
|
106839
|
+
// A record that was present when this snapshot was read
|
|
106840
|
+
// is now absent from the Luvio store (e.g. evicted by a
|
|
106841
|
+
// uiRecordApi deleteRecord). Its disappearance changes the
|
|
106842
|
+
// result set, so treat it as a change and re-emit.
|
|
106843
|
+
dataChanged = true;
|
|
106367
106844
|
return;
|
|
106368
106845
|
}
|
|
106369
106846
|
const luvioRecordWeakEtag = normalizedLuvioRecord.weakEtag;
|
|
@@ -106812,7 +107289,7 @@ getServices(serviceRequirements).then((services) => {
|
|
|
106812
107289
|
_(config, CONFIG_SCHEMA);
|
|
106813
107290
|
const baseCommand = new graphql_imperative_ctor(config, documentRootType, services);
|
|
106814
107291
|
return applyDecorators(baseCommand, [services.fetchNetworkCommandBaseClass.availableDecorators.abortable], options);
|
|
106815
|
-
},
|
|
107292
|
+
}, true);
|
|
106816
107293
|
graphql_imperative_legacy = services.graphQLLegacyImperativeBindings.bind(({ config, assertIsValid }) => {
|
|
106817
107294
|
const _ = assertIsValid;
|
|
106818
107295
|
_(config, CONFIG_SCHEMA);
|
|
@@ -106865,7 +107342,7 @@ function registerCallback(cb) {
|
|
|
106865
107342
|
cb(graphql_v1_import, graphql_imperative$1, graphql_imperative_legacy_v1_import, graphql_state_manager, useOneStoreGraphQL);
|
|
106866
107343
|
}
|
|
106867
107344
|
}
|
|
106868
|
-
// version: 1.428.0-
|
|
107345
|
+
// version: 1.428.0-dev20-d72ac06681
|
|
106869
107346
|
|
|
106870
107347
|
function createFragmentMap(documentNode) {
|
|
106871
107348
|
const fragments = {};
|
|
@@ -110927,7 +111404,7 @@ function getInContextFragmentType$1K(fragment, fragmentMap) {
|
|
|
110927
111404
|
}
|
|
110928
111405
|
|
|
110929
111406
|
const name$1k = 'Analytics__SemanticModel';
|
|
110930
|
-
const VERSION$1B = '
|
|
111407
|
+
const VERSION$1B = '0c41256ae05a32ed1af0deea45e4906e';
|
|
110931
111408
|
function keyBuilder$1p(luvio, path, data) {
|
|
110932
111409
|
return keyPrefix$1 + '::uiapi::' + name$1k + '::' + data.Id; // We're missing idNodeName in the actual key here...
|
|
110933
111410
|
}
|
|
@@ -111243,6 +111720,12 @@ function getFieldType$1J(field) {
|
|
|
111243
111720
|
typename: 'Boolean'
|
|
111244
111721
|
};
|
|
111245
111722
|
}
|
|
111723
|
+
case 'ReusedAssetStatus': {
|
|
111724
|
+
return {
|
|
111725
|
+
isArray: false,
|
|
111726
|
+
typename: 'String'
|
|
111727
|
+
};
|
|
111728
|
+
}
|
|
111246
111729
|
default:
|
|
111247
111730
|
return undefined;
|
|
111248
111731
|
}
|
|
@@ -111309,7 +111792,7 @@ function getInContextFragmentType$1J(fragment, fragmentMap) {
|
|
|
111309
111792
|
}
|
|
111310
111793
|
|
|
111311
111794
|
const name$1j = 'Analytics__SemanticDefinition';
|
|
111312
|
-
const VERSION$1A = '
|
|
111795
|
+
const VERSION$1A = 'df1ed427fbc57558390ff0e3537f2290';
|
|
111313
111796
|
function keyBuilder$1o(luvio, path, data) {
|
|
111314
111797
|
return keyPrefix$1 + '::uiapi::' + name$1j + '::' + data.Id; // We're missing idNodeName in the actual key here...
|
|
111315
111798
|
}
|
|
@@ -111651,6 +112134,12 @@ function getFieldType$1I(field) {
|
|
|
111651
112134
|
typename: 'Boolean'
|
|
111652
112135
|
};
|
|
111653
112136
|
}
|
|
112137
|
+
case 'ReusedAssetStatus': {
|
|
112138
|
+
return {
|
|
112139
|
+
isArray: false,
|
|
112140
|
+
typename: 'String'
|
|
112141
|
+
};
|
|
112142
|
+
}
|
|
111654
112143
|
default:
|
|
111655
112144
|
return undefined;
|
|
111656
112145
|
}
|
|
@@ -111722,7 +112211,7 @@ function getInContextFragmentType$1I(fragment, fragmentMap) {
|
|
|
111722
112211
|
}
|
|
111723
112212
|
|
|
111724
112213
|
const name$1i = 'Analytics__DominoTemplate';
|
|
111725
|
-
const VERSION$1z = '
|
|
112214
|
+
const VERSION$1z = 'fda433601cadf10ecc8a0de3d54052ee';
|
|
111726
112215
|
function keyBuilder$1n(luvio, path, data) {
|
|
111727
112216
|
return keyPrefix$1 + '::uiapi::' + name$1i + '::' + data.Id; // We're missing idNodeName in the actual key here...
|
|
111728
112217
|
}
|
|
@@ -112045,6 +112534,12 @@ function getFieldType$1H(field) {
|
|
|
112045
112534
|
typename: 'Boolean'
|
|
112046
112535
|
};
|
|
112047
112536
|
}
|
|
112537
|
+
case 'ReusedAssetStatus': {
|
|
112538
|
+
return {
|
|
112539
|
+
isArray: false,
|
|
112540
|
+
typename: 'String'
|
|
112541
|
+
};
|
|
112542
|
+
}
|
|
112048
112543
|
default:
|
|
112049
112544
|
return undefined;
|
|
112050
112545
|
}
|
|
@@ -112106,7 +112601,7 @@ function getInContextFragmentType$1H(fragment, fragmentMap) {
|
|
|
112106
112601
|
}
|
|
112107
112602
|
|
|
112108
112603
|
const name$1h = 'Analytics__AnalyticsRepresentation';
|
|
112109
|
-
const VERSION$1y = '
|
|
112604
|
+
const VERSION$1y = 'b299cf324d3e10f682533db156b3db05';
|
|
112110
112605
|
function keyBuilder$1m(luvio, path, data) {
|
|
112111
112606
|
return keyPrefix$1 + '::uiapi::' + name$1h + '::' + data.Id; // We're missing idNodeName in the actual key here...
|
|
112112
112607
|
}
|
|
@@ -112407,6 +112902,12 @@ function getFieldType$1G(field) {
|
|
|
112407
112902
|
typename: 'Boolean'
|
|
112408
112903
|
};
|
|
112409
112904
|
}
|
|
112905
|
+
case 'ReusedAssetStatus': {
|
|
112906
|
+
return {
|
|
112907
|
+
isArray: false,
|
|
112908
|
+
typename: 'String'
|
|
112909
|
+
};
|
|
112910
|
+
}
|
|
112410
112911
|
default:
|
|
112411
112912
|
return undefined;
|
|
112412
112913
|
}
|
|
@@ -112468,7 +112969,7 @@ function getInContextFragmentType$1G(fragment, fragmentMap) {
|
|
|
112468
112969
|
}
|
|
112469
112970
|
|
|
112470
112971
|
const name$1g = 'Analytics__MktDataConnector';
|
|
112471
|
-
const VERSION$1x = '
|
|
112972
|
+
const VERSION$1x = 'b0f45c68439021ded5640b5e3920ee2f';
|
|
112472
112973
|
function keyBuilder$1l(luvio, path, data) {
|
|
112473
112974
|
return keyPrefix$1 + '::uiapi::' + name$1g + '::' + data.Id; // We're missing idNodeName in the actual key here...
|
|
112474
112975
|
}
|
|
@@ -112780,6 +113281,12 @@ function getFieldType$1F(field) {
|
|
|
112780
113281
|
typename: 'Boolean'
|
|
112781
113282
|
};
|
|
112782
113283
|
}
|
|
113284
|
+
case 'ReusedAssetStatus': {
|
|
113285
|
+
return {
|
|
113286
|
+
isArray: false,
|
|
113287
|
+
typename: 'String'
|
|
113288
|
+
};
|
|
113289
|
+
}
|
|
112783
113290
|
default:
|
|
112784
113291
|
return undefined;
|
|
112785
113292
|
}
|
|
@@ -113017,6 +113524,12 @@ function getFieldType$1E(field) {
|
|
|
113017
113524
|
typename: 'Boolean'
|
|
113018
113525
|
};
|
|
113019
113526
|
}
|
|
113527
|
+
case 'ReusedAssetStatus': {
|
|
113528
|
+
return {
|
|
113529
|
+
isArray: false,
|
|
113530
|
+
typename: 'String'
|
|
113531
|
+
};
|
|
113532
|
+
}
|
|
113020
113533
|
default:
|
|
113021
113534
|
return undefined;
|
|
113022
113535
|
}
|
|
@@ -136102,7 +136615,7 @@ register$1({
|
|
|
136102
136615
|
configuration: { ...configurationForGraphQLAdapters$1 },
|
|
136103
136616
|
instrument: instrument$1,
|
|
136104
136617
|
});
|
|
136105
|
-
// version: 1.428.0-
|
|
136618
|
+
// version: 1.428.0-dev20-d72ac06681
|
|
136106
136619
|
|
|
136107
136620
|
// On core the unstable adapters are re-exported with different names,
|
|
136108
136621
|
// we want to match them here.
|
|
@@ -136254,7 +136767,7 @@ withDefaultLuvio((luvio) => {
|
|
|
136254
136767
|
unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
|
|
136255
136768
|
graphQLImperative = ldsAdapter;
|
|
136256
136769
|
});
|
|
136257
|
-
// version: 1.428.0-
|
|
136770
|
+
// version: 1.428.0-dev20-d72ac06681
|
|
136258
136771
|
|
|
136259
136772
|
var gqlApi = /*#__PURE__*/Object.freeze({
|
|
136260
136773
|
__proto__: null,
|
|
@@ -137053,7 +137566,7 @@ const callbacks$1 = [];
|
|
|
137053
137566
|
function register(r) {
|
|
137054
137567
|
callbacks$1.forEach((callback) => callback(r));
|
|
137055
137568
|
}
|
|
137056
|
-
// version: 1.428.0-
|
|
137569
|
+
// version: 1.428.0-dev20-1b319a0432
|
|
137057
137570
|
|
|
137058
137571
|
/**
|
|
137059
137572
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -138369,4 +138882,4 @@ const { luvio } = getRuntime();
|
|
|
138369
138882
|
setDefaultLuvio({ luvio });
|
|
138370
138883
|
|
|
138371
138884
|
export { createPrimingSession, draftManager, draftQueue, evictCacheRecordsByIds, evictExpiredCacheEntries, executeAdapter, executeMutatingAdapter, getImperativeAdapterNames, importLuvioAdapterModule, importOneStoreAdapterModule, invokeAdapter, invokeAdapterWithDraftToMerge, invokeAdapterWithDraftToReplace, invokeAdapterWithMetadata, nimbusDraftQueue, registerReportObserver, setMetadataTTL, setUiApiRecordTTL, stopEviction, subscribeToAdapter };
|
|
138372
|
-
// version: 1.428.0-
|
|
138885
|
+
// version: 1.428.0-dev20-1b319a0432
|