@salesforce/lds-runtime-aura 1.413.0 → 1.415.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ldsEngineCreator.js +440 -115
- package/dist/types/__mocks__/@salesforce/lds-environment-settings.d.ts +2 -0
- package/dist/types/aura-instrumentation/main.d.ts +1 -0
- package/dist/types/config-service-util.d.ts +6 -0
- package/dist/types/instrumentation-utils.d.ts +2 -0
- package/dist/types/main.d.ts +1 -0
- package/dist/types/response-interceptors/transport-receive.d.ts +4 -0
- package/package.json +41 -40
- package/dist/types/finally-interceptors/transport-receive.d.ts +0 -3
package/dist/ldsEngineCreator.js
CHANGED
|
@@ -18,7 +18,6 @@ import usePredictiveLoading from '@salesforce/gate/lds.usePredictiveLoading';
|
|
|
18
18
|
import useApexPredictions from '@salesforce/gate/lds.pdl.useApexPredictions';
|
|
19
19
|
import useRelatedListsPredictions from '@salesforce/gate/lds.pdl.useRelatedListsPredictions';
|
|
20
20
|
import useRelatedListPlus from '@salesforce/gate/lds.pdl.useRelatedListPlus';
|
|
21
|
-
import applyPredictionRequestLimit from '@salesforce/gate/lds.pdl.applyRequestLimit';
|
|
22
21
|
import useLocalStorage from '@salesforce/gate/lds.pdl.useLocalStorage';
|
|
23
22
|
import useOneStoreGraphql from '@salesforce/gate/lds.oneStoreGraphqlEnabled.ltng';
|
|
24
23
|
import canCombineRecordLayoutRequests from '@salesforce/gate/lds.pdl.canCombineRecordLayoutRequests';
|
|
@@ -26,19 +25,20 @@ import { GetApexWireAdapterFactory, registerPrefetcher as registerPrefetcher$1 }
|
|
|
26
25
|
import { instrument, getRecordAvatarsAdapterFactory, getRecordAdapterFactory, coerceFieldIdArray, coerceLayoutTypeArray, coerceLayoutModeArray, getRecordsAdapterFactory, getRecordActionsAdapterFactory, getObjectInfosAdapterFactory, coerceObjectIdArray, getObjectInfoAdapterFactory, coerceObjectId, getRelatedListsActionsAdapterFactory, getRelatedListInfoBatchAdapterFactory, getRelatedListInfoAdapterFactory, getRelatedListRecordsBatchAdapterFactory, getRelatedListRecordsAdapterFactory, getListInfoByNameAdapterFactory, getListInfosByObjectNameAdapterFactory, getListRecordsByNameAdapterFactory, getListObjectInfoAdapterFactory, getRelatedListsInfoAdapterFactory, getRelatedListActionsAdapterFactory, getRecordId18Array, buildRecordRepKeyFromId, configuration, InMemoryRecordRepresentationQueryEvaluator, UiApiNamespace, RecordRepresentationRepresentationType, registerPrefetcher, RecordRepresentationVersion } from 'force/ldsAdaptersUiapi';
|
|
27
26
|
import { getInstrumentation } from 'o11y/client';
|
|
28
27
|
import { findExecutableOperation, buildGraphQLInputExtension, addTypenameToDocument } from 'force/luvioGraphqlNormalization';
|
|
29
|
-
import { print,
|
|
28
|
+
import { print, resolveAndValidateGraphQLConfig } from 'force/luvioOnestoreGraphqlParser';
|
|
30
29
|
import { setServices } from 'force/luvioServiceProvisioner1';
|
|
31
30
|
import { assertIsValid, MissingRequiredPropertyError, JsonSchemaViolationError } from 'force/luvioJsonschemaValidate5';
|
|
32
31
|
import { dispatchGlobalEvent, unstable_loadComponentDefs, executeGlobalControllerRawResponse } from 'aura';
|
|
33
32
|
import auraNetworkAdapter, { dispatchAuraAction, defaultActionConfig, instrument as instrument$1, forceRecordTransactionsDisabled as forceRecordTransactionsDisabled$1, ldsNetworkAdapterInstrument, CrudEventState, CrudEventType, UIAPI_RECORDS_PATH, UIAPI_RELATED_LIST_RECORDS_BATCH_PATH, UIAPI_RELATED_LIST_RECORDS_PATH } from 'force/ldsNetwork';
|
|
34
33
|
import { ThirdPartyTracker } from 'instrumentation:thirdPartyTracker';
|
|
35
34
|
import { markStart, markEnd, counter, registerCacheStats, perfStart, perfEnd, registerPeriodicLogger, interaction, timer } from 'instrumentation/service';
|
|
36
|
-
import { instrument as instrument$2,
|
|
35
|
+
import { instrument as instrument$2, setupLexNetworkAdapter } from 'force/ldsNetworkFetch';
|
|
37
36
|
import { REFRESH_ADAPTER_EVENT, ADAPTER_UNFULFILLED_ERROR, instrument as instrument$3 } from 'force/ldsBindings';
|
|
38
|
-
import { LRUCache, instrumentAdapter, instrumentLuvio, setupInstrumentation as setupInstrumentation$1, logObjectInfoChanged as logObjectInfoChanged$1, updatePercentileHistogramMetric, incrementCounterMetric, incrementGetRecordNotifyChangeAllowCount, incrementGetRecordNotifyChangeDropCount, incrementNotifyRecordUpdateAvailableAllowCount, incrementNotifyRecordUpdateAvailableDropCount, setLdsAdaptersUiapiInstrumentation, logError as logError$2, setLdsNetworkAdapterInstrumentation, incrementStateCreatedCount, executeAsyncActivity, METRIC_KEYS, onIdleDetected } from 'force/ldsInstrumentation';
|
|
37
|
+
import { LRUCache, instrumentAdapter, instrumentLuvio, logMessage as logMessage$1, setupInstrumentation as setupInstrumentation$1, logObjectInfoChanged as logObjectInfoChanged$1, updatePercentileHistogramMetric, incrementCounterMetric, incrementGetRecordNotifyChangeAllowCount, incrementGetRecordNotifyChangeDropCount, incrementNotifyRecordUpdateAvailableAllowCount, incrementNotifyRecordUpdateAvailableDropCount, setLdsAdaptersUiapiInstrumentation, logError as logError$2, setLdsNetworkAdapterInstrumentation, incrementStateCreatedCount, executeAsyncActivity, METRIC_KEYS, onIdleDetected } from 'force/ldsInstrumentation';
|
|
39
38
|
import { instrument as instrument$4 } from 'force/adsBridge';
|
|
40
39
|
import { instrument as instrument$5 } from '@lwc/state';
|
|
41
40
|
import { withRegistration, register, setDefaultLuvio } from 'force/ldsEngine';
|
|
41
|
+
import applyPredictionRequestLimit from '@salesforce/gate/lds.pdl.applyRequestLimit';
|
|
42
42
|
import { pageScopedCache } from 'instrumentation/utility';
|
|
43
43
|
import { createStorage, clearStorages } from 'force/ldsStorage';
|
|
44
44
|
import lightningConnectEnabled from '@salesforce/gate/ui.services.LightningConnect.enabled';
|
|
@@ -2705,7 +2705,7 @@ function buildServiceDescriptor$d(luvio) {
|
|
|
2705
2705
|
},
|
|
2706
2706
|
};
|
|
2707
2707
|
}
|
|
2708
|
-
// version: 1.
|
|
2708
|
+
// version: 1.415.0-caf45a5d7e
|
|
2709
2709
|
|
|
2710
2710
|
/*!
|
|
2711
2711
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -3058,7 +3058,7 @@ function buildServiceDescriptor$9(notifyRecordUpdateAvailable, getNormalizedLuvi
|
|
|
3058
3058
|
},
|
|
3059
3059
|
};
|
|
3060
3060
|
}
|
|
3061
|
-
// version: 1.
|
|
3061
|
+
// version: 1.415.0-caf45a5d7e
|
|
3062
3062
|
|
|
3063
3063
|
/*!
|
|
3064
3064
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -3440,7 +3440,7 @@ class LegacyImperativeBindingsService {
|
|
|
3440
3440
|
return { invoke, subscribe };
|
|
3441
3441
|
}
|
|
3442
3442
|
}
|
|
3443
|
-
function buildServiceDescriptor$3() {
|
|
3443
|
+
function buildServiceDescriptor$3$1() {
|
|
3444
3444
|
return {
|
|
3445
3445
|
type: "legacyImperativeBindings",
|
|
3446
3446
|
version: "1.0",
|
|
@@ -3452,7 +3452,16 @@ class GraphQLImperativeBindingsService {
|
|
|
3452
3452
|
return async (...params) => {
|
|
3453
3453
|
try {
|
|
3454
3454
|
if (params.length) {
|
|
3455
|
-
|
|
3455
|
+
const options = {
|
|
3456
|
+
acceptedOperations: ["query"]
|
|
3457
|
+
};
|
|
3458
|
+
const result = resolveAndValidateGraphQLConfig(params[0], options);
|
|
3459
|
+
if (result == null ? void 0 : result.isErr()) {
|
|
3460
|
+
return result.error;
|
|
3461
|
+
}
|
|
3462
|
+
if (result == null ? void 0 : result.isOk()) {
|
|
3463
|
+
params[0] = result.value;
|
|
3464
|
+
}
|
|
3456
3465
|
}
|
|
3457
3466
|
return await buildBaseImperativeInvoker(getCommand, (result) => this.transformResult(result, exposeRefresh))(...params);
|
|
3458
3467
|
} catch (error) {
|
|
@@ -3543,7 +3552,19 @@ function buildServiceDescriptor$2$1() {
|
|
|
3543
3552
|
class GraphQLLegacyImperativeBindingsService {
|
|
3544
3553
|
bind(getCommand) {
|
|
3545
3554
|
const invoke = async (config, requestContext, callback) => {
|
|
3546
|
-
|
|
3555
|
+
if (config) {
|
|
3556
|
+
const options = {
|
|
3557
|
+
acceptedOperations: ["query"]
|
|
3558
|
+
};
|
|
3559
|
+
const result = resolveAndValidateGraphQLConfig(config, options);
|
|
3560
|
+
if (result == null ? void 0 : result.isErr()) {
|
|
3561
|
+
callback(result.error);
|
|
3562
|
+
return;
|
|
3563
|
+
}
|
|
3564
|
+
if (result == null ? void 0 : result.isOk()) {
|
|
3565
|
+
config = result.value;
|
|
3566
|
+
}
|
|
3567
|
+
}
|
|
3547
3568
|
const command = getCommand({ config, assertIsValid });
|
|
3548
3569
|
try {
|
|
3549
3570
|
const overrides = getOverridesForLegacyRequestContext(requestContext);
|
|
@@ -3572,7 +3593,20 @@ class GraphQLLegacyImperativeBindingsService {
|
|
|
3572
3593
|
}
|
|
3573
3594
|
};
|
|
3574
3595
|
const subscribe = (config, requestContext, callback) => {
|
|
3575
|
-
|
|
3596
|
+
if (config) {
|
|
3597
|
+
const options = {
|
|
3598
|
+
acceptedOperations: ["query"]
|
|
3599
|
+
};
|
|
3600
|
+
const result = resolveAndValidateGraphQLConfig(config, options);
|
|
3601
|
+
if (result == null ? void 0 : result.isErr()) {
|
|
3602
|
+
callback(result.error);
|
|
3603
|
+
return () => {
|
|
3604
|
+
};
|
|
3605
|
+
}
|
|
3606
|
+
if (result == null ? void 0 : result.isOk()) {
|
|
3607
|
+
config = result.value;
|
|
3608
|
+
}
|
|
3609
|
+
}
|
|
3576
3610
|
const command = getCommand({ config, assertIsValid });
|
|
3577
3611
|
let unsubscribe = () => {
|
|
3578
3612
|
};
|
|
@@ -3621,9 +3655,19 @@ class GraphQLMutationBindingsService {
|
|
|
3621
3655
|
return async (...params) => {
|
|
3622
3656
|
try {
|
|
3623
3657
|
if (params.length) {
|
|
3624
|
-
|
|
3658
|
+
const options = {
|
|
3625
3659
|
acceptedOperations: ["mutation"]
|
|
3626
|
-
}
|
|
3660
|
+
};
|
|
3661
|
+
const result2 = resolveAndValidateGraphQLConfig(params[0], options);
|
|
3662
|
+
if (result2 == null ? void 0 : result2.isErr()) {
|
|
3663
|
+
return {
|
|
3664
|
+
data: void 0,
|
|
3665
|
+
errors: result2.error.errors
|
|
3666
|
+
};
|
|
3667
|
+
}
|
|
3668
|
+
if (result2 == null ? void 0 : result2.isOk()) {
|
|
3669
|
+
params[0] = result2.value;
|
|
3670
|
+
}
|
|
3627
3671
|
}
|
|
3628
3672
|
const command = getCommand({ params, assertIsValid });
|
|
3629
3673
|
const result = await command.execute({ cacheControlConfig: { type: "no-cache" } });
|
|
@@ -3953,16 +3997,25 @@ class GraphQLCommandWireAdapterConstructor extends CommandWireAdapterConstructor
|
|
|
3953
3997
|
}
|
|
3954
3998
|
update(config, _context) {
|
|
3955
3999
|
this.unsubscribe();
|
|
3956
|
-
const
|
|
3957
|
-
|
|
3958
|
-
|
|
3959
|
-
|
|
3960
|
-
|
|
3961
|
-
|
|
4000
|
+
const options = {
|
|
4001
|
+
acceptedOperations: ["query"]
|
|
4002
|
+
};
|
|
4003
|
+
const result = resolveAndValidateGraphQLConfig(config, options);
|
|
4004
|
+
if (!result) {
|
|
4005
|
+
return;
|
|
3962
4006
|
}
|
|
4007
|
+
if (result.isErr()) {
|
|
4008
|
+
const error = result.error;
|
|
4009
|
+
this.callback({
|
|
4010
|
+
data: void 0,
|
|
4011
|
+
errors: error.errors
|
|
4012
|
+
});
|
|
4013
|
+
return;
|
|
4014
|
+
}
|
|
4015
|
+
const { query, ...rest } = result.value;
|
|
3963
4016
|
this.config = {
|
|
3964
|
-
|
|
3965
|
-
|
|
4017
|
+
query,
|
|
4018
|
+
...sanitize(rest)
|
|
3966
4019
|
};
|
|
3967
4020
|
this.invokeAdapter();
|
|
3968
4021
|
}
|
|
@@ -3981,7 +4034,7 @@ class LWCGraphQLWireBindingsService {
|
|
|
3981
4034
|
};
|
|
3982
4035
|
}
|
|
3983
4036
|
}
|
|
3984
|
-
function buildServiceDescriptor$
|
|
4037
|
+
function buildServiceDescriptor$3() {
|
|
3985
4038
|
return {
|
|
3986
4039
|
type: "lwcGraphQLWireBindings",
|
|
3987
4040
|
version: "1.0",
|
|
@@ -4014,7 +4067,7 @@ function buildLWCWireBindingsServiceDescriptor() {
|
|
|
4014
4067
|
};
|
|
4015
4068
|
}
|
|
4016
4069
|
function buildLWCGraphQLWireBindingsServiceDescriptor() {
|
|
4017
|
-
const base = buildServiceDescriptor$
|
|
4070
|
+
const base = buildServiceDescriptor$3();
|
|
4018
4071
|
const originalBind = base.service.bind.bind(base.service);
|
|
4019
4072
|
const bind = (...args) => {
|
|
4020
4073
|
const ctor = originalBind(...args);
|
|
@@ -4324,7 +4377,7 @@ class JwtManager {
|
|
|
4324
4377
|
* All rights reserved.
|
|
4325
4378
|
* For full license text, see the LICENSE.txt file
|
|
4326
4379
|
*/
|
|
4327
|
-
function buildServiceDescriptor$
|
|
4380
|
+
function buildServiceDescriptor$2(interceptors = {
|
|
4328
4381
|
request: [],
|
|
4329
4382
|
retry: void 0,
|
|
4330
4383
|
response: [],
|
|
@@ -4717,7 +4770,7 @@ const sfapNetworkAdapter = async (resourceRequest, resourceRequestContext) => {
|
|
|
4717
4770
|
authenticatedRequest = modifySfapResourceRequest(authenticatedRequest, jwtToken);
|
|
4718
4771
|
// --- instrumentation block --- start
|
|
4719
4772
|
const uniqueRequestTaskIdentifier = 'sfap-' + sfapRequestCount++;
|
|
4720
|
-
const uniqueRequestGuid = generateRequestId();
|
|
4773
|
+
const uniqueRequestGuid = generateRequestId$1();
|
|
4721
4774
|
// request id header allows logging the request id and searching for the request logs
|
|
4722
4775
|
authenticatedRequest.headers[X_REQUEST_ID_HEADER] = uniqueRequestGuid;
|
|
4723
4776
|
let fetchComplete = false;
|
|
@@ -4756,7 +4809,7 @@ const composedNetworkAdapter$1 = {
|
|
|
4756
4809
|
},
|
|
4757
4810
|
adapter: sfapNetworkAdapter,
|
|
4758
4811
|
};
|
|
4759
|
-
function generateRequestId() {
|
|
4812
|
+
function generateRequestId$1() {
|
|
4760
4813
|
if (typeof crypto !== 'undefined' && crypto.randomUUID) {
|
|
4761
4814
|
// as nov. 2025 caniuse says this has 93.5% support (all modern browsers)
|
|
4762
4815
|
return crypto.randomUUID();
|
|
@@ -4770,46 +4823,6 @@ function generateRequestId() {
|
|
|
4770
4823
|
|
|
4771
4824
|
function e(e){this.message=e;}e.prototype=new Error,e.prototype.name="InvalidCharacterError";"undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(r){var t=String(r).replace(/=+$/,"");if(t.length%4==1)throw new e("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,o,a=0,i=0,c="";o=t.charAt(i++);~o&&(n=a%4?64*n+o:o,a++%4)?c+=String.fromCharCode(255&n>>(-2*a&6)):0)o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o);return c};function n(e){this.message=e;}n.prototype=new Error,n.prototype.name="InvalidTokenError";
|
|
4772
4825
|
|
|
4773
|
-
/**
|
|
4774
|
-
* Copyright (c) 2022, Salesforce, Inc.,
|
|
4775
|
-
* All rights reserved.
|
|
4776
|
-
* For full license text, see the LICENSE.txt file
|
|
4777
|
-
*/
|
|
4778
|
-
|
|
4779
|
-
/*
|
|
4780
|
-
* ATTENTION!
|
|
4781
|
-
* THIS IS A GENERATED FILE FROM https://github.com/salesforce-experience-platform-emu/lds-lightning-platform
|
|
4782
|
-
* If you would like to contribute to LDS, please follow the steps outlined in the git repo.
|
|
4783
|
-
* Any changes made to this file in p4 will be automatically overwritten.
|
|
4784
|
-
* *******************************************************************************************
|
|
4785
|
-
*/
|
|
4786
|
-
/* proxy-compat-disable */
|
|
4787
|
-
var EnvironmentSettings;
|
|
4788
|
-
(function (EnvironmentSettings) {
|
|
4789
|
-
EnvironmentSettings["ForceRecordTransactionsDisabled"] = "forceRecordTransactionsDisabled";
|
|
4790
|
-
})(EnvironmentSettings || (EnvironmentSettings = {}));
|
|
4791
|
-
const GATE_FORCE_RECORD_TRANSACTIONS_DISABLED = '$Browser.S1Features.forceRecordTransactionsDisabled';
|
|
4792
|
-
const supportedEnvironmentSettings = {
|
|
4793
|
-
[EnvironmentSettings.ForceRecordTransactionsDisabled]: GATE_FORCE_RECORD_TRANSACTIONS_DISABLED,
|
|
4794
|
-
};
|
|
4795
|
-
/**
|
|
4796
|
-
* Returns aura configuration settings. Used to check gate/perm statuses.
|
|
4797
|
-
* @param name Name of the setting to check.
|
|
4798
|
-
* @returns Value of the setting, or undefined if $A is not available.
|
|
4799
|
-
*/
|
|
4800
|
-
function getEnvironmentSetting(name) {
|
|
4801
|
-
if (typeof window === 'undefined') {
|
|
4802
|
-
// server environment i.e. SSR in LWR
|
|
4803
|
-
return undefined;
|
|
4804
|
-
}
|
|
4805
|
-
const environmentSetting = supportedEnvironmentSettings[name];
|
|
4806
|
-
if (typeof window.$A !== 'undefined' && environmentSetting !== undefined) {
|
|
4807
|
-
return window.$A.get(environmentSetting);
|
|
4808
|
-
}
|
|
4809
|
-
return undefined;
|
|
4810
|
-
}
|
|
4811
|
-
// version: 1.413.0-8cd312301b
|
|
4812
|
-
|
|
4813
4826
|
/**
|
|
4814
4827
|
* Observability / Critical Availability Program (230+)
|
|
4815
4828
|
*
|
|
@@ -5291,6 +5304,9 @@ function incrementRequestResponseCount(cb) {
|
|
|
5291
5304
|
function logObjectInfoChanged() {
|
|
5292
5305
|
logObjectInfoChanged$1();
|
|
5293
5306
|
}
|
|
5307
|
+
function logMessage(message) {
|
|
5308
|
+
logMessage$1(message);
|
|
5309
|
+
}
|
|
5294
5310
|
/**
|
|
5295
5311
|
* Create a new instrumentation cache stats and return it.
|
|
5296
5312
|
*
|
|
@@ -5398,7 +5414,205 @@ function logCRUDLightningInteraction(eventSource, attributes) {
|
|
|
5398
5414
|
}
|
|
5399
5415
|
const instrumentation = new Instrumentation();
|
|
5400
5416
|
|
|
5401
|
-
|
|
5417
|
+
/*!
|
|
5418
|
+
* Copyright (c) 2022, Salesforce, Inc.,
|
|
5419
|
+
* All rights reserved.
|
|
5420
|
+
* For full license text, see the LICENSE.txt file
|
|
5421
|
+
*/
|
|
5422
|
+
function valueFor(value, path) {
|
|
5423
|
+
if (path.length === 0 || path[0] === "") {
|
|
5424
|
+
return value;
|
|
5425
|
+
} else if (value === null || typeof value !== "object") {
|
|
5426
|
+
return void 0;
|
|
5427
|
+
} else if (Array.isArray(value)) {
|
|
5428
|
+
const index = parseInt(path[0]);
|
|
5429
|
+
if (index >= 0) {
|
|
5430
|
+
return valueFor(value[index], path.slice(1));
|
|
5431
|
+
}
|
|
5432
|
+
return void 0;
|
|
5433
|
+
} else {
|
|
5434
|
+
return valueFor(value[path[0]], path.slice(1));
|
|
5435
|
+
}
|
|
5436
|
+
}
|
|
5437
|
+
class PrioritizedConfigService {
|
|
5438
|
+
constructor(initialConfigDatas) {
|
|
5439
|
+
this.validators = [];
|
|
5440
|
+
this.validated = false;
|
|
5441
|
+
this.readonlyObjectProxies = /* @__PURE__ */ new Map();
|
|
5442
|
+
this.unsafeConfig = this.buildReadonlyObjectProxy([]);
|
|
5443
|
+
this.prioritizedConfigData = {};
|
|
5444
|
+
for (const [p, initialConfigData] of Object.entries(initialConfigDatas)) {
|
|
5445
|
+
this.prioritizedConfigData[p] = initialConfigData || {};
|
|
5446
|
+
}
|
|
5447
|
+
}
|
|
5448
|
+
// ConfigService.addValidator
|
|
5449
|
+
addValidator(validator) {
|
|
5450
|
+
this.validators.push(validator);
|
|
5451
|
+
this.validated = false;
|
|
5452
|
+
}
|
|
5453
|
+
// ConfigService.validate
|
|
5454
|
+
validate() {
|
|
5455
|
+
const errors = [];
|
|
5456
|
+
this.validators.forEach((v) => {
|
|
5457
|
+
const result = v(this.unsafeConfig);
|
|
5458
|
+
if (result.isErr()) {
|
|
5459
|
+
errors.push(...result.error);
|
|
5460
|
+
}
|
|
5461
|
+
});
|
|
5462
|
+
this.validated = errors.length === 0;
|
|
5463
|
+
return errors.length === 0 ? ok$2(void 0) : err$1(errors);
|
|
5464
|
+
}
|
|
5465
|
+
// constructs a proxy for the given non-leaf object path in the config tree
|
|
5466
|
+
buildReadonlyObjectProxy(path) {
|
|
5467
|
+
const key = path.join("\0");
|
|
5468
|
+
let proxy = this.readonlyObjectProxies.get(key);
|
|
5469
|
+
if (proxy) {
|
|
5470
|
+
return proxy;
|
|
5471
|
+
}
|
|
5472
|
+
proxy = new Proxy(/* @__PURE__ */ Object.create(null), {
|
|
5473
|
+
defineProperty: () => {
|
|
5474
|
+
throw new Error("cannot (re)define properties on config");
|
|
5475
|
+
},
|
|
5476
|
+
deleteProperty: () => {
|
|
5477
|
+
throw new Error("cannot delete properties on config");
|
|
5478
|
+
},
|
|
5479
|
+
get: (_, property) => {
|
|
5480
|
+
const propertyPath = [...path, property];
|
|
5481
|
+
const value = this.valueFor(propertyPath);
|
|
5482
|
+
return typeof value === "object" && value !== null && !isArray$3(value) ? this.buildReadonlyObjectProxy(propertyPath) : value;
|
|
5483
|
+
},
|
|
5484
|
+
getOwnPropertyDescriptor: (target, property) => {
|
|
5485
|
+
const propertyPath = [...path, property];
|
|
5486
|
+
const value = this.valueFor(propertyPath);
|
|
5487
|
+
return {
|
|
5488
|
+
value: (
|
|
5489
|
+
// TODO - need to wrap arrays in a Proxy as well
|
|
5490
|
+
typeof value === "object" && value !== null && !isArray$3(value) ? this.buildReadonlyObjectProxy(propertyPath) : value
|
|
5491
|
+
),
|
|
5492
|
+
writable: false,
|
|
5493
|
+
configurable: true,
|
|
5494
|
+
enumerable: true
|
|
5495
|
+
};
|
|
5496
|
+
},
|
|
5497
|
+
has: (_, property) => {
|
|
5498
|
+
return this.valueFor([...path, property]) !== void 0;
|
|
5499
|
+
},
|
|
5500
|
+
ownKeys: () => {
|
|
5501
|
+
const keys = [];
|
|
5502
|
+
for (const v of Object.values(this.prioritizedConfigData)) {
|
|
5503
|
+
const value = valueFor(v, path);
|
|
5504
|
+
if (value) {
|
|
5505
|
+
keys.push(...Object.keys(value));
|
|
5506
|
+
}
|
|
5507
|
+
}
|
|
5508
|
+
return [...new Set(keys)];
|
|
5509
|
+
},
|
|
5510
|
+
set: () => {
|
|
5511
|
+
throw new Error("cannot directly set values on config");
|
|
5512
|
+
}
|
|
5513
|
+
});
|
|
5514
|
+
this.readonlyObjectProxies.set(key, proxy);
|
|
5515
|
+
return proxy;
|
|
5516
|
+
}
|
|
5517
|
+
// ConfigService.config
|
|
5518
|
+
get config() {
|
|
5519
|
+
if (!this.validated) {
|
|
5520
|
+
const result = this.validate();
|
|
5521
|
+
if (result.isErr()) {
|
|
5522
|
+
throw result.error.join("; ");
|
|
5523
|
+
}
|
|
5524
|
+
}
|
|
5525
|
+
return this.unsafeConfig;
|
|
5526
|
+
}
|
|
5527
|
+
// ConfigService.set
|
|
5528
|
+
set(priority, setter) {
|
|
5529
|
+
this.validated = false;
|
|
5530
|
+
return setter(this.prioritizedConfigData[priority]);
|
|
5531
|
+
}
|
|
5532
|
+
// returns the highest priority value for a given path, undefined if no value
|
|
5533
|
+
// is defined for the path at any priority
|
|
5534
|
+
valueFor(path) {
|
|
5535
|
+
for (const [_, data] of Object.entries(this.prioritizedConfigData)) {
|
|
5536
|
+
const value = valueFor(data, path);
|
|
5537
|
+
if (value !== void 0) {
|
|
5538
|
+
return value;
|
|
5539
|
+
}
|
|
5540
|
+
}
|
|
5541
|
+
}
|
|
5542
|
+
}
|
|
5543
|
+
function buildServiceDescriptor$1(initialConfigDatas) {
|
|
5544
|
+
return {
|
|
5545
|
+
type: "config",
|
|
5546
|
+
version: "1.0",
|
|
5547
|
+
service: new PrioritizedConfigService(initialConfigDatas)
|
|
5548
|
+
};
|
|
5549
|
+
}
|
|
5550
|
+
|
|
5551
|
+
/**
|
|
5552
|
+
* Copyright (c) 2022, Salesforce, Inc.,
|
|
5553
|
+
* All rights reserved.
|
|
5554
|
+
* For full license text, see the LICENSE.txt file
|
|
5555
|
+
*/
|
|
5556
|
+
|
|
5557
|
+
/*
|
|
5558
|
+
* ATTENTION!
|
|
5559
|
+
* THIS IS A GENERATED FILE FROM https://github.com/salesforce-experience-platform-emu/lds-lightning-platform
|
|
5560
|
+
* If you would like to contribute to LDS, please follow the steps outlined in the git repo.
|
|
5561
|
+
* Any changes made to this file in p4 will be automatically overwritten.
|
|
5562
|
+
* *******************************************************************************************
|
|
5563
|
+
*/
|
|
5564
|
+
/* proxy-compat-disable */
|
|
5565
|
+
var EnvironmentSettings;
|
|
5566
|
+
(function (EnvironmentSettings) {
|
|
5567
|
+
EnvironmentSettings["ForceRecordTransactionsDisabled"] = "forceRecordTransactionsDisabled";
|
|
5568
|
+
})(EnvironmentSettings || (EnvironmentSettings = {}));
|
|
5569
|
+
const GATE_FORCE_RECORD_TRANSACTIONS_DISABLED = '$Browser.S1Features.forceRecordTransactionsDisabled';
|
|
5570
|
+
const supportedEnvironmentSettings = {
|
|
5571
|
+
[EnvironmentSettings.ForceRecordTransactionsDisabled]: GATE_FORCE_RECORD_TRANSACTIONS_DISABLED,
|
|
5572
|
+
};
|
|
5573
|
+
/**
|
|
5574
|
+
* Returns aura configuration settings. Used to check gate/perm statuses.
|
|
5575
|
+
* @param name Name of the setting to check.
|
|
5576
|
+
* @returns Value of the setting, or undefined if $A is not available.
|
|
5577
|
+
*/
|
|
5578
|
+
function getEnvironmentSetting(name) {
|
|
5579
|
+
if (typeof window === 'undefined') {
|
|
5580
|
+
// server environment i.e. SSR in LWR
|
|
5581
|
+
return undefined;
|
|
5582
|
+
}
|
|
5583
|
+
const environmentSetting = supportedEnvironmentSettings[name];
|
|
5584
|
+
if (typeof window.$A !== 'undefined' && environmentSetting !== undefined) {
|
|
5585
|
+
return window.$A.get(environmentSetting);
|
|
5586
|
+
}
|
|
5587
|
+
return undefined;
|
|
5588
|
+
}
|
|
5589
|
+
// version: 1.415.0-caf45a5d7e
|
|
5590
|
+
|
|
5591
|
+
const environmentHasAura = typeof window !== 'undefined' && typeof window.$A !== 'undefined';
|
|
5592
|
+
const defaultConfig = {
|
|
5593
|
+
maxAllowedParallelXHRCounts: 9,
|
|
5594
|
+
forceRecordTransactionsDisabled: false,
|
|
5595
|
+
};
|
|
5596
|
+
const configServiceDescriptor = buildServiceDescriptor$1({
|
|
5597
|
+
overrides: {},
|
|
5598
|
+
lex: {},
|
|
5599
|
+
default: defaultConfig,
|
|
5600
|
+
});
|
|
5601
|
+
const configService = configServiceDescriptor.service;
|
|
5602
|
+
if (environmentHasAura) {
|
|
5603
|
+
configService.set('lex', (config) => {
|
|
5604
|
+
config.maxAllowedParallelXHRCounts =
|
|
5605
|
+
window['$A'].clientService.maxAllowedParallelXHRCounts();
|
|
5606
|
+
config.forceRecordTransactionsDisabled = getEnvironmentSetting(EnvironmentSettings.ForceRecordTransactionsDisabled);
|
|
5607
|
+
});
|
|
5608
|
+
}
|
|
5609
|
+
if (!applyPredictionRequestLimit.isOpen({ fallback: false })) {
|
|
5610
|
+
configService.set('lex', (config) => {
|
|
5611
|
+
config.maxAllowedParallelXHRCounts = 1000;
|
|
5612
|
+
});
|
|
5613
|
+
}
|
|
5614
|
+
|
|
5615
|
+
const forceRecordTransactionsDisabled = configService.config.forceRecordTransactionsDisabled;
|
|
5402
5616
|
//TODO: Some duplication here that can be most likely moved to a util class
|
|
5403
5617
|
const NO_RECORD_ID_204 = '204_NO_RECORD_ID';
|
|
5404
5618
|
const NO_RECORD_TYPE_204 = '204_NO_RECORD_TYPE';
|
|
@@ -6039,7 +6253,7 @@ function buildLuvioCsrfTokenInterceptor() {
|
|
|
6039
6253
|
|
|
6040
6254
|
function createInstrumentationIdContext() {
|
|
6041
6255
|
return () => ({
|
|
6042
|
-
instrumentationId: generateRequestId
|
|
6256
|
+
instrumentationId: generateRequestId(),
|
|
6043
6257
|
});
|
|
6044
6258
|
}
|
|
6045
6259
|
function createStartMark(requestId) {
|
|
@@ -6052,12 +6266,88 @@ function createStartMark(requestId) {
|
|
|
6052
6266
|
requestLength: -1, // not known
|
|
6053
6267
|
};
|
|
6054
6268
|
}
|
|
6269
|
+
function createEndMark(responseStatus, responseStatusText, url, context, errorMessage) {
|
|
6270
|
+
if (context && context.instrumentationId) {
|
|
6271
|
+
const endMark = markEnd('transport', 'request', { auraXHRId: context.instrumentationId });
|
|
6272
|
+
if (performance && performance.getEntriesByName) {
|
|
6273
|
+
const resources = performance.getEntriesByName(url);
|
|
6274
|
+
let resource;
|
|
6275
|
+
if (resources.length) {
|
|
6276
|
+
if (resources.length === 1) {
|
|
6277
|
+
// only one, so it is the correct one
|
|
6278
|
+
resource = resources[0];
|
|
6279
|
+
}
|
|
6280
|
+
else {
|
|
6281
|
+
// otherwise we need to guess based on the start time
|
|
6282
|
+
resource = findCorrectResource(resources, context);
|
|
6283
|
+
}
|
|
6284
|
+
if (resource) {
|
|
6285
|
+
setResourceTimings(context.instrumentationId, responseStatus, responseStatusText, endMark, resource);
|
|
6286
|
+
}
|
|
6287
|
+
}
|
|
6288
|
+
else if (errorMessage) {
|
|
6289
|
+
logMessage(errorMessage);
|
|
6290
|
+
}
|
|
6291
|
+
}
|
|
6292
|
+
}
|
|
6293
|
+
}
|
|
6055
6294
|
// noop implementation for when one is not provided
|
|
6056
6295
|
let internalRequestTracker = {
|
|
6057
6296
|
hasTracker: () => false,
|
|
6058
6297
|
registerHandler: (_request, _name, _loadedCheck) => { },
|
|
6059
6298
|
markFinished: (_request) => { },
|
|
6060
6299
|
};
|
|
6300
|
+
function setResourceTimings(id, responseStatus, responseStatusText, endMark, r) {
|
|
6301
|
+
endMark.context = {
|
|
6302
|
+
auraXHRId: id,
|
|
6303
|
+
status: responseStatus,
|
|
6304
|
+
statusText: responseStatusText,
|
|
6305
|
+
// Timings fields
|
|
6306
|
+
responseLength: r.decodedBodySize || 0,
|
|
6307
|
+
serverTime: r.serverTiming || 0,
|
|
6308
|
+
xhrDuration: Math.floor(r.responseEnd - r.startTime),
|
|
6309
|
+
xhrStall: Math.floor(r.requestStart - r.startTime),
|
|
6310
|
+
startTime: Math.floor(r.startTime),
|
|
6311
|
+
fetchStart: Math.floor(r.fetchStart),
|
|
6312
|
+
requestStart: Math.floor(r.requestStart),
|
|
6313
|
+
dns: Math.floor(r.domainLookupEnd - r.domainLookupStart),
|
|
6314
|
+
tcp: Math.floor(r.connectEnd - r.connectStart),
|
|
6315
|
+
ttfb: Math.floor(r.responseStart - r.startTime),
|
|
6316
|
+
transfer: Math.floor(r.responseEnd - r.responseStart),
|
|
6317
|
+
transferSize: r['transferSize'] || 0,
|
|
6318
|
+
nextHopProtocol: r['nextHopProtocol'],
|
|
6319
|
+
};
|
|
6320
|
+
}
|
|
6321
|
+
function findCorrectResource(resources, context) {
|
|
6322
|
+
if (context && context.startTime) {
|
|
6323
|
+
let likelyResource = {
|
|
6324
|
+
index: 0,
|
|
6325
|
+
diff: Math.abs(context.startTime - resources[0].startTime),
|
|
6326
|
+
};
|
|
6327
|
+
for (let entry = 1; entry < resources.length; ++entry) {
|
|
6328
|
+
let diff = Math.abs(context.startTime - resources[entry].startTime);
|
|
6329
|
+
if (diff < likelyResource.diff) {
|
|
6330
|
+
likelyResource = { index: entry, diff };
|
|
6331
|
+
}
|
|
6332
|
+
}
|
|
6333
|
+
return resources[likelyResource.index];
|
|
6334
|
+
}
|
|
6335
|
+
return undefined;
|
|
6336
|
+
}
|
|
6337
|
+
// Copied from requestId generation on core
|
|
6338
|
+
function generateRequestId() {
|
|
6339
|
+
function guid() {
|
|
6340
|
+
function s4() {
|
|
6341
|
+
return Math.floor((1 + Math.random()) * 0x10000)
|
|
6342
|
+
.toString(16)
|
|
6343
|
+
.substring(1);
|
|
6344
|
+
}
|
|
6345
|
+
return s4() + s4();
|
|
6346
|
+
}
|
|
6347
|
+
return [Math.round(performance.now() * 1000000), guid(), Math.round(Math.random() * 100000000)]
|
|
6348
|
+
.join('')
|
|
6349
|
+
.substring(0, 18);
|
|
6350
|
+
}
|
|
6061
6351
|
|
|
6062
6352
|
function buildLuvioThirdPartyTrackerRegisterInterceptor() {
|
|
6063
6353
|
return (resourceRequest, context) => {
|
|
@@ -6079,6 +6369,73 @@ function buildLuvioThirdPartyTrackerFinishInterceptor() {
|
|
|
6079
6369
|
};
|
|
6080
6370
|
}
|
|
6081
6371
|
|
|
6372
|
+
const SFDC_REQUEST_ID_KEY = 'X-SFDC-Request-Id';
|
|
6373
|
+
function buildTransportMarksSendInterceptor() {
|
|
6374
|
+
return async (fetchArgs, context) => {
|
|
6375
|
+
// First set the requestId header. If there's not context, it means we won't be able to track the mark and something is hosed, and so not worth even trying
|
|
6376
|
+
if (context && context.instrumentationId) {
|
|
6377
|
+
const requestId = context.instrumentationId;
|
|
6378
|
+
fetchArgs = setHeader(SFDC_REQUEST_ID_KEY, requestId, fetchArgs);
|
|
6379
|
+
context.startTime = performance.now();
|
|
6380
|
+
createStartMark(requestId);
|
|
6381
|
+
}
|
|
6382
|
+
return resolvedPromiseLike$2(fetchArgs);
|
|
6383
|
+
};
|
|
6384
|
+
}
|
|
6385
|
+
function buildLuvioTransportMarksSendInterceptor() {
|
|
6386
|
+
return (resourceRequest, context) => {
|
|
6387
|
+
if (context && context.instrumentationId) {
|
|
6388
|
+
const requestId = context.instrumentationId;
|
|
6389
|
+
setLuvioRequestIdHeader(resourceRequest, requestId);
|
|
6390
|
+
context.startTime = performance.now();
|
|
6391
|
+
context.url = location.origin + resourceRequest.baseUri + resourceRequest.basePath;
|
|
6392
|
+
createStartMark(requestId);
|
|
6393
|
+
}
|
|
6394
|
+
return resolvedPromiseLike$2(resourceRequest);
|
|
6395
|
+
};
|
|
6396
|
+
}
|
|
6397
|
+
function setLuvioRequestIdHeader(resourceRequest, requestId) {
|
|
6398
|
+
// Ensure headers object exists
|
|
6399
|
+
if (!resourceRequest.headers) {
|
|
6400
|
+
resourceRequest.headers = {};
|
|
6401
|
+
}
|
|
6402
|
+
// Don't overwrite request id header if it already exists
|
|
6403
|
+
if (!resourceRequest.headers[SFDC_REQUEST_ID_KEY]) {
|
|
6404
|
+
resourceRequest.headers[SFDC_REQUEST_ID_KEY] = requestId;
|
|
6405
|
+
}
|
|
6406
|
+
}
|
|
6407
|
+
|
|
6408
|
+
const observer = new PerformanceObserver(() => { });
|
|
6409
|
+
observer.observe({ type: 'resource', buffered: true });
|
|
6410
|
+
function buildTransportMarksReceiveInterceptor() {
|
|
6411
|
+
return async (response, context) => {
|
|
6412
|
+
response
|
|
6413
|
+
.clone()
|
|
6414
|
+
.text()
|
|
6415
|
+
.then(() => {
|
|
6416
|
+
createEndMark(response.status, response.statusText, response.url, context, `OneStore resource timing failed to match for: ${response.url}`);
|
|
6417
|
+
})
|
|
6418
|
+
.catch((e) => {
|
|
6419
|
+
logMessage(`OneStore transport marks received failed with: ${e}`);
|
|
6420
|
+
});
|
|
6421
|
+
return response;
|
|
6422
|
+
};
|
|
6423
|
+
}
|
|
6424
|
+
function buildLuvioTransportMarksReceiveInterceptor() {
|
|
6425
|
+
return async (response, context) => {
|
|
6426
|
+
if (context && context.url) {
|
|
6427
|
+
Promise.resolve(response)
|
|
6428
|
+
.then(() => {
|
|
6429
|
+
createEndMark(response.status, response.statusText, context.url, context, `Luvio resource timing failed to match for: ${context.url}`);
|
|
6430
|
+
})
|
|
6431
|
+
.catch((e) => {
|
|
6432
|
+
logMessage(`Luvio transport marks received failed with: ${e}`);
|
|
6433
|
+
});
|
|
6434
|
+
}
|
|
6435
|
+
return response;
|
|
6436
|
+
};
|
|
6437
|
+
}
|
|
6438
|
+
|
|
6082
6439
|
function isOneRuntime() {
|
|
6083
6440
|
return !!globalThis.LWR;
|
|
6084
6441
|
}
|
|
@@ -6205,12 +6562,14 @@ const composedFetchNetworkAdapter = {
|
|
|
6205
6562
|
createContext: createInstrumentationIdContext(),
|
|
6206
6563
|
request: [
|
|
6207
6564
|
buildLuvioThirdPartyTrackerRegisterInterceptor(),
|
|
6565
|
+
buildLuvioTransportMarksSendInterceptor(),
|
|
6208
6566
|
buildLuvioPageScopedCacheRequestInterceptor(),
|
|
6209
6567
|
buildLuvioCsrfTokenInterceptor(),
|
|
6210
6568
|
],
|
|
6211
6569
|
response: [
|
|
6212
6570
|
buildLexRuntimeLuvio5xxStatusResponseInterceptor(),
|
|
6213
6571
|
buildLexRuntimeLuvioAuthExpirationRedirectResponseInterceptor(),
|
|
6572
|
+
buildLuvioTransportMarksReceiveInterceptor(),
|
|
6214
6573
|
],
|
|
6215
6574
|
finally: [buildLuvioThirdPartyTrackerFinishInterceptor()],
|
|
6216
6575
|
}),
|
|
@@ -6368,7 +6727,7 @@ const SFAP_BASE_URL = 'api.salesforce.com';
|
|
|
6368
6727
|
const sfapJwtRepository = new JwtRepository();
|
|
6369
6728
|
const sfapJwtManager = new JwtManager(sfapJwtRepository, platformSfapJwtResolver);
|
|
6370
6729
|
function buildJwtAuthorizedSfapFetchServiceDescriptor(logger) {
|
|
6371
|
-
const jwtAuthorizedFetchService = buildServiceDescriptor$
|
|
6730
|
+
const jwtAuthorizedFetchService = buildServiceDescriptor$2({
|
|
6372
6731
|
createContext: createInstrumentationIdContext(),
|
|
6373
6732
|
request: [buildThirdPartyTrackerRegisterInterceptor(), buildJwtRequestInterceptor(logger)],
|
|
6374
6733
|
retry: buildCsrfRetryInterceptor(),
|
|
@@ -6390,7 +6749,7 @@ function buildCopilotFetchServiceDescriptor(logger) {
|
|
|
6390
6749
|
// we switch to JWT authentication this will need to change to incorporate the
|
|
6391
6750
|
// Interceptor here with the logic in buildJwtAuthorizedSfapFetchServiceDescriptor()
|
|
6392
6751
|
// above.
|
|
6393
|
-
...buildServiceDescriptor$
|
|
6752
|
+
...buildServiceDescriptor$2({
|
|
6394
6753
|
createContext: createInstrumentationIdContext(),
|
|
6395
6754
|
request: [
|
|
6396
6755
|
buildThirdPartyTrackerRegisterInterceptor(),
|
|
@@ -6440,7 +6799,7 @@ function buildCopilotFetchServiceDescriptor(logger) {
|
|
|
6440
6799
|
};
|
|
6441
6800
|
}
|
|
6442
6801
|
function buildUnauthorizedFetchServiceDescriptor() {
|
|
6443
|
-
const fetchService = buildServiceDescriptor$
|
|
6802
|
+
const fetchService = buildServiceDescriptor$2({
|
|
6444
6803
|
createContext: createInstrumentationIdContext(),
|
|
6445
6804
|
request: [buildThirdPartyTrackerRegisterInterceptor()],
|
|
6446
6805
|
retry: buildCsrfRetryInterceptor(),
|
|
@@ -9283,29 +9642,8 @@ function buildPageScopedCacheRequestInterceptor() {
|
|
|
9283
9642
|
};
|
|
9284
9643
|
}
|
|
9285
9644
|
|
|
9286
|
-
const SFDC_REQUEST_ID_KEY = 'X-SFDC-Request-Id';
|
|
9287
|
-
function buildTransportMarksSendInterceptor() {
|
|
9288
|
-
return async (fetchArgs, context) => {
|
|
9289
|
-
// First set the requestId header. If there's not context, it means we won't be able to track the mark and something is hosed, and so not worth even trying
|
|
9290
|
-
if (context && context.instrumentationId) {
|
|
9291
|
-
const requestId = context.instrumentationId;
|
|
9292
|
-
fetchArgs = setHeader(SFDC_REQUEST_ID_KEY, requestId, fetchArgs);
|
|
9293
|
-
createStartMark(requestId);
|
|
9294
|
-
}
|
|
9295
|
-
return resolvedPromiseLike$2(fetchArgs);
|
|
9296
|
-
};
|
|
9297
|
-
}
|
|
9298
|
-
|
|
9299
|
-
function buildTransportMarksReceiveInterceptor() {
|
|
9300
|
-
return async (context) => {
|
|
9301
|
-
if (context && context.instrumentationId) {
|
|
9302
|
-
markEnd('transport', 'request', { auraXHRId: context.instrumentationId });
|
|
9303
|
-
}
|
|
9304
|
-
};
|
|
9305
|
-
}
|
|
9306
|
-
|
|
9307
9645
|
function buildLexRuntimeDefaultFetchServiceDescriptor(logger, retryService) {
|
|
9308
|
-
const fetchService = buildServiceDescriptor$
|
|
9646
|
+
const fetchService = buildServiceDescriptor$2({
|
|
9309
9647
|
createContext: createInstrumentationIdContext(),
|
|
9310
9648
|
request: [
|
|
9311
9649
|
buildThirdPartyTrackerRegisterInterceptor(),
|
|
@@ -9317,18 +9655,16 @@ function buildLexRuntimeDefaultFetchServiceDescriptor(logger, retryService) {
|
|
|
9317
9655
|
response: [
|
|
9318
9656
|
buildLexRuntime5xxStatusResponseInterceptor(logger),
|
|
9319
9657
|
buildLexRuntimeAuthExpirationRedirectResponseInterceptor(logger),
|
|
9320
|
-
],
|
|
9321
|
-
finally: [
|
|
9322
9658
|
buildTransportMarksReceiveInterceptor(),
|
|
9323
|
-
buildThirdPartyTrackerFinishInterceptor(),
|
|
9324
9659
|
],
|
|
9660
|
+
finally: [buildThirdPartyTrackerFinishInterceptor()],
|
|
9325
9661
|
}, retryService);
|
|
9326
9662
|
return {
|
|
9327
9663
|
...fetchService,
|
|
9328
9664
|
};
|
|
9329
9665
|
}
|
|
9330
9666
|
function buildLexRuntimeAllow5xxFetchServiceDescriptor(logger, retryService) {
|
|
9331
|
-
const fetchService = buildServiceDescriptor$
|
|
9667
|
+
const fetchService = buildServiceDescriptor$2({
|
|
9332
9668
|
createContext: createInstrumentationIdContext(),
|
|
9333
9669
|
request: [
|
|
9334
9670
|
buildThirdPartyTrackerRegisterInterceptor(),
|
|
@@ -9337,11 +9673,11 @@ function buildLexRuntimeAllow5xxFetchServiceDescriptor(logger, retryService) {
|
|
|
9337
9673
|
buildCsrfTokenInterceptor(),
|
|
9338
9674
|
],
|
|
9339
9675
|
retry: buildCsrfRetryInterceptor(),
|
|
9340
|
-
response: [
|
|
9341
|
-
|
|
9676
|
+
response: [
|
|
9677
|
+
buildLexRuntimeAuthExpirationRedirectResponseInterceptor(logger),
|
|
9342
9678
|
buildTransportMarksReceiveInterceptor(),
|
|
9343
|
-
buildThirdPartyTrackerFinishInterceptor(),
|
|
9344
9679
|
],
|
|
9680
|
+
finally: [buildThirdPartyTrackerFinishInterceptor()],
|
|
9345
9681
|
}, retryService);
|
|
9346
9682
|
return {
|
|
9347
9683
|
...fetchService,
|
|
@@ -9751,15 +10087,6 @@ function setupQueryEvaluators(luvio, store) {
|
|
|
9751
10087
|
luvio.registerTypeQueryEvaluator(UiApiNamespace, RecordRepresentationRepresentationType, recordRepresentationQueryEvaluator);
|
|
9752
10088
|
}
|
|
9753
10089
|
let __lexPrefetcher;
|
|
9754
|
-
const HARDCODED_REQUEST_LIMIT = 9;
|
|
9755
|
-
function getInflightRequestLimit() {
|
|
9756
|
-
try {
|
|
9757
|
-
return window['$A'].clientService.maxAllowedParallelXHRCounts();
|
|
9758
|
-
}
|
|
9759
|
-
catch (e) {
|
|
9760
|
-
return HARDCODED_REQUEST_LIMIT;
|
|
9761
|
-
}
|
|
9762
|
-
}
|
|
9763
10090
|
const requestStrategyManager = new RequestStrategyManager();
|
|
9764
10091
|
/**
|
|
9765
10092
|
* Registers a request strategy to be utilized by PDL.
|
|
@@ -9818,9 +10145,7 @@ function setupPredictivePrefetcher(luvio) {
|
|
|
9818
10145
|
}
|
|
9819
10146
|
},
|
|
9820
10147
|
});
|
|
9821
|
-
const inflightRequestLimit =
|
|
9822
|
-
? getInflightRequestLimit()
|
|
9823
|
-
: 1000;
|
|
10148
|
+
const inflightRequestLimit = configService.config.maxAllowedParallelXHRCounts;
|
|
9824
10149
|
const prefetcherOptions = {
|
|
9825
10150
|
inflightRequestLimit,
|
|
9826
10151
|
};
|
|
@@ -9930,7 +10255,6 @@ function buildPredictorForContext(context) {
|
|
|
9930
10255
|
},
|
|
9931
10256
|
};
|
|
9932
10257
|
}
|
|
9933
|
-
// LDS initialization logic, invoked directly by Aura component tests
|
|
9934
10258
|
function initializeLDS() {
|
|
9935
10259
|
const storeOptions = {
|
|
9936
10260
|
scheduler: () => { },
|
|
@@ -10025,12 +10349,13 @@ function initializeOneStore(luvio) {
|
|
|
10025
10349
|
buildServiceDescriptor$6(),
|
|
10026
10350
|
buildServiceDescriptor$5(),
|
|
10027
10351
|
buildServiceDescriptor$4(),
|
|
10028
|
-
buildServiceDescriptor$3(),
|
|
10352
|
+
buildServiceDescriptor$3$1(),
|
|
10029
10353
|
buildServiceDescriptor$2$1(),
|
|
10030
10354
|
buildServiceDescriptor$1$2(),
|
|
10031
10355
|
buildServiceDescriptor$7(),
|
|
10032
10356
|
buildLWCWireBindingsServiceDescriptor(),
|
|
10033
10357
|
buildLWCGraphQLWireBindingsServiceDescriptor(),
|
|
10358
|
+
configServiceDescriptor,
|
|
10034
10359
|
];
|
|
10035
10360
|
setServices(services);
|
|
10036
10361
|
}
|
|
@@ -10049,5 +10374,5 @@ function ldsEngineCreator() {
|
|
|
10049
10374
|
return { name: 'ldsEngineCreator' };
|
|
10050
10375
|
}
|
|
10051
10376
|
|
|
10052
|
-
export { LexRequestStrategy, PdlPrefetcherEventType, PdlRequestPriority, buildPredictorForContext, ldsEngineCreator as default, initializeLDS, initializeOneStore, notifyUpdateAvailableFactory, registerRequestStrategy, saveRequestAsPrediction, subscribeToPrefetcherEvents, unregisterRequestStrategy, whenPredictionsReady };
|
|
10053
|
-
// version: 1.
|
|
10377
|
+
export { LexRequestStrategy, PdlPrefetcherEventType, PdlRequestPriority, buildPredictorForContext, configService, ldsEngineCreator as default, initializeLDS, initializeOneStore, notifyUpdateAvailableFactory, registerRequestStrategy, saveRequestAsPrediction, subscribeToPrefetcherEvents, unregisterRequestStrategy, whenPredictionsReady };
|
|
10378
|
+
// version: 1.415.0-3636f2a7b2
|
|
@@ -153,6 +153,7 @@ export declare function incrementRequestResponseCount(cb: () => FetchResponse<un
|
|
|
153
153
|
*/
|
|
154
154
|
export declare function mark(name: string, content?: any): void;
|
|
155
155
|
export declare function logObjectInfoChanged(): void;
|
|
156
|
+
export declare function logMessage(message: string): void;
|
|
156
157
|
/**
|
|
157
158
|
* Create a new instrumentation cache stats and return it.
|
|
158
159
|
*
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type LDSConfig = {
|
|
2
|
+
maxAllowedParallelXHRCounts: number;
|
|
3
|
+
forceRecordTransactionsDisabled: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare const configServiceDescriptor: import("node_modules/@conduit-client/service-config/dist/types/v1/config").ConfigServiceDescriptor<LDSConfig, "default" | "lex" | "overrides">;
|
|
6
|
+
export declare const configService: import("@conduit-client/service-config/v1").ConfigService<LDSConfig, "default" | "lex" | "overrides">;
|
|
@@ -2,9 +2,11 @@ export declare function createInstrumentationIdContext(): () => {
|
|
|
2
2
|
instrumentationId: string;
|
|
3
3
|
};
|
|
4
4
|
export declare function createStartMark(requestId: string): void;
|
|
5
|
+
export declare function createEndMark(responseStatus: number, responseStatusText: string, url: string, context?: any, errorMessage?: string): void;
|
|
5
6
|
export type RequestTracker = {
|
|
6
7
|
hasTracker: () => boolean;
|
|
7
8
|
registerHandler: (request: any, name: string, loadedCheck: () => boolean) => void;
|
|
8
9
|
markFinished: (request: any) => void;
|
|
9
10
|
};
|
|
10
11
|
export declare let internalRequestTracker: RequestTracker;
|
|
12
|
+
export declare function generateRequestId(): string;
|
package/dist/types/main.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type { LexRequestStrategy } from './predictive-loading/request-strategy/l
|
|
|
5
5
|
import { type LexRequest } from './predictive-loading/lex';
|
|
6
6
|
export { PdlRequestPriority, PdlPrefetcherEventType } from './predictive-loading';
|
|
7
7
|
export { LexRequestStrategy } from './predictive-loading/request-strategy/lex-request-strategy';
|
|
8
|
+
export { configService } from './config-service-util';
|
|
8
9
|
/**
|
|
9
10
|
* Registers a request strategy to be utilized by PDL.
|
|
10
11
|
* @param requestStrategy - {@link LexRequestStrategy} The request strategy/strategies to register.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ResponseInterceptor } from '@conduit-client/service-fetch-network/v1';
|
|
2
|
+
import { ResponseInterceptor as LuvioResponseInterceptor } from '@salesforce/lds-network-fetch';
|
|
3
|
+
export declare function buildTransportMarksReceiveInterceptor(): ResponseInterceptor;
|
|
4
|
+
export declare function buildLuvioTransportMarksReceiveInterceptor(): LuvioResponseInterceptor;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/lds-runtime-aura",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.415.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"description": "LDS engine for Aura runtime",
|
|
6
6
|
"main": "dist/ldsEngineCreator.js",
|
|
@@ -34,57 +34,58 @@
|
|
|
34
34
|
"release:corejar": "yarn build && ../core-build/scripts/core.js --name=lds-runtime-aura"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@conduit-client/service-provisioner": "3.
|
|
38
|
-
"@conduit-client/tools-core": "3.
|
|
39
|
-
"@salesforce/lds-adapters-apex": "^1.
|
|
40
|
-
"@salesforce/lds-adapters-uiapi": "^1.
|
|
41
|
-
"@salesforce/lds-ads-bridge": "^1.
|
|
42
|
-
"@salesforce/lds-aura-storage": "^1.
|
|
43
|
-
"@salesforce/lds-bindings": "^1.
|
|
44
|
-
"@salesforce/lds-instrumentation": "^1.
|
|
45
|
-
"@salesforce/lds-network-aura": "^1.
|
|
46
|
-
"@salesforce/lds-network-fetch": "^1.
|
|
37
|
+
"@conduit-client/service-provisioner": "3.9.0",
|
|
38
|
+
"@conduit-client/tools-core": "3.9.0",
|
|
39
|
+
"@salesforce/lds-adapters-apex": "^1.415.0",
|
|
40
|
+
"@salesforce/lds-adapters-uiapi": "^1.415.0",
|
|
41
|
+
"@salesforce/lds-ads-bridge": "^1.415.0",
|
|
42
|
+
"@salesforce/lds-aura-storage": "^1.415.0",
|
|
43
|
+
"@salesforce/lds-bindings": "^1.415.0",
|
|
44
|
+
"@salesforce/lds-instrumentation": "^1.415.0",
|
|
45
|
+
"@salesforce/lds-network-aura": "^1.415.0",
|
|
46
|
+
"@salesforce/lds-network-fetch": "^1.415.0",
|
|
47
47
|
"jwt-encode": "1.0.1"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@conduit-client/command-aura-graphql-normalized-cache-control": "3.
|
|
51
|
-
"@conduit-client/command-aura-network": "3.
|
|
52
|
-
"@conduit-client/command-aura-normalized-cache-control": "3.
|
|
53
|
-
"@conduit-client/command-aura-resource-cache-control": "3.
|
|
54
|
-
"@conduit-client/command-fetch-network": "3.
|
|
55
|
-
"@conduit-client/command-http-graphql-normalized-cache-control": "3.
|
|
56
|
-
"@conduit-client/command-http-normalized-cache-control": "3.
|
|
57
|
-
"@conduit-client/command-ndjson": "3.
|
|
58
|
-
"@conduit-client/command-network": "3.
|
|
59
|
-
"@conduit-client/command-sse": "3.
|
|
60
|
-
"@conduit-client/command-streaming": "3.
|
|
61
|
-
"@conduit-client/service-aura-network": "3.
|
|
62
|
-
"@conduit-client/service-bindings-imperative": "3.
|
|
63
|
-
"@conduit-client/service-bindings-lwc": "3.
|
|
64
|
-
"@conduit-client/service-cache": "3.
|
|
65
|
-
"@conduit-client/service-cache-control": "3.
|
|
66
|
-
"@conduit-client/service-cache-inclusion-policy": "3.
|
|
67
|
-
"@conduit-client/service-
|
|
68
|
-
"@conduit-client/service-
|
|
69
|
-
"@conduit-client/service-
|
|
70
|
-
"@conduit-client/service-
|
|
71
|
-
"@conduit-client/service-
|
|
72
|
-
"@conduit-client/
|
|
50
|
+
"@conduit-client/command-aura-graphql-normalized-cache-control": "3.9.0",
|
|
51
|
+
"@conduit-client/command-aura-network": "3.9.0",
|
|
52
|
+
"@conduit-client/command-aura-normalized-cache-control": "3.9.0",
|
|
53
|
+
"@conduit-client/command-aura-resource-cache-control": "3.9.0",
|
|
54
|
+
"@conduit-client/command-fetch-network": "3.9.0",
|
|
55
|
+
"@conduit-client/command-http-graphql-normalized-cache-control": "3.9.0",
|
|
56
|
+
"@conduit-client/command-http-normalized-cache-control": "3.9.0",
|
|
57
|
+
"@conduit-client/command-ndjson": "3.9.0",
|
|
58
|
+
"@conduit-client/command-network": "3.9.0",
|
|
59
|
+
"@conduit-client/command-sse": "3.9.0",
|
|
60
|
+
"@conduit-client/command-streaming": "3.9.0",
|
|
61
|
+
"@conduit-client/service-aura-network": "3.9.0",
|
|
62
|
+
"@conduit-client/service-bindings-imperative": "3.9.0",
|
|
63
|
+
"@conduit-client/service-bindings-lwc": "3.9.0",
|
|
64
|
+
"@conduit-client/service-cache": "3.9.0",
|
|
65
|
+
"@conduit-client/service-cache-control": "3.9.0",
|
|
66
|
+
"@conduit-client/service-cache-inclusion-policy": "3.9.0",
|
|
67
|
+
"@conduit-client/service-config": "3.9.0",
|
|
68
|
+
"@conduit-client/service-feature-flags": "3.9.0",
|
|
69
|
+
"@conduit-client/service-fetch-network": "3.9.0",
|
|
70
|
+
"@conduit-client/service-instrument-command": "3.9.0",
|
|
71
|
+
"@conduit-client/service-pubsub": "3.9.0",
|
|
72
|
+
"@conduit-client/service-store": "3.9.0",
|
|
73
|
+
"@conduit-client/utils": "3.9.0",
|
|
73
74
|
"@luvio/network-adapter-composable": "0.158.7",
|
|
74
75
|
"@luvio/network-adapter-fetch": "0.158.7",
|
|
75
76
|
"@lwc/state": "^0.23.0",
|
|
76
|
-
"@salesforce/lds-adapters-onestore-graphql": "^1.
|
|
77
|
-
"@salesforce/lds-adapters-uiapi-lex": "^1.
|
|
78
|
-
"@salesforce/lds-luvio-service": "^1.
|
|
79
|
-
"@salesforce/lds-luvio-uiapi-records-service": "^1.
|
|
77
|
+
"@salesforce/lds-adapters-onestore-graphql": "^1.415.0",
|
|
78
|
+
"@salesforce/lds-adapters-uiapi-lex": "^1.415.0",
|
|
79
|
+
"@salesforce/lds-luvio-service": "^1.415.0",
|
|
80
|
+
"@salesforce/lds-luvio-uiapi-records-service": "^1.415.0"
|
|
80
81
|
},
|
|
81
82
|
"luvioBundlesize": [
|
|
82
83
|
{
|
|
83
84
|
"path": "./dist/ldsEngineCreator.js",
|
|
84
85
|
"maxSize": {
|
|
85
|
-
"none": "
|
|
86
|
+
"none": "365 kB",
|
|
86
87
|
"min": "190 kB",
|
|
87
|
-
"compressed": "
|
|
88
|
+
"compressed": "59.2 kB"
|
|
88
89
|
}
|
|
89
90
|
}
|
|
90
91
|
],
|