@salesforce/lds-runtime-aura 1.448.0 → 1.450.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 +135 -50
- package/dist/types/main.d.ts +5 -0
- package/package.json +43 -43
package/dist/ldsEngineCreator.js
CHANGED
|
@@ -40,11 +40,10 @@ import lightningConnectEnabled from '@salesforce/gate/ui.services.LightningConne
|
|
|
40
40
|
import bypassAppRestrictionEnabled from '@salesforce/gate/ui.services.LightningConnect.BypassAppRestriction.enabled';
|
|
41
41
|
import csrfValidationEnabled from '@salesforce/gate/ui.services.LightningConnect.CsrfValidation.enabled';
|
|
42
42
|
import sessionApiEnabled from '@salesforce/gate/ui.uisdk.session.api.enabled';
|
|
43
|
+
import useHttpUiapiLex from '@salesforce/gate/lds.usehttpuiapilex';
|
|
44
|
+
import useHttpUiapiOneRuntime from '@salesforce/gate/lds.useHttpUiapiOneRuntime';
|
|
45
|
+
import useHttpUiapiAuraSites from '@salesforce/gate/lds.usehttpuiapiaurasites';
|
|
43
46
|
import auraBasedRequestsEnabled from '@salesforce/gate/ui.services.auraBasedRequests.enabled';
|
|
44
|
-
import useHttpUiapiOneAppPublic from '@salesforce/gate/lds.useHttpUiapiOneAppPublic';
|
|
45
|
-
import useHttpUiapiOneAppPrivate from '@salesforce/gate/lds.useHttpUiapiOneAppPrivate';
|
|
46
|
-
import useHttpUiapiOneRuntimePublic from '@salesforce/gate/lds.useHttpUiapiOneRuntimePublic';
|
|
47
|
-
import useHttpUiapiOneRuntimePrivate from '@salesforce/gate/lds.useHttpUiapiOneRuntimePrivate';
|
|
48
47
|
import disableCreateContentDocumentAndVersionHTTPLexRuntime from '@salesforce/gate/lds.lex.http.disableCreateContentDocumentAndVersion';
|
|
49
48
|
import useHotspotLimit from '@salesforce/gate/lds.pdl.useHotspotLimit';
|
|
50
49
|
import { createStorage, clearStorages } from 'force/ldsDurableStorage';
|
|
@@ -402,6 +401,7 @@ class AuraNetworkCommand extends NetworkCommand$1 {
|
|
|
402
401
|
storable: false
|
|
403
402
|
};
|
|
404
403
|
this.networkPreference = "aura";
|
|
404
|
+
this.additionalNullResponses = [];
|
|
405
405
|
}
|
|
406
406
|
get fetchParams() {
|
|
407
407
|
throw new Error(
|
|
@@ -439,14 +439,37 @@ class AuraNetworkCommand extends NetworkCommand$1 {
|
|
|
439
439
|
return err$1(toError("Error fetching component"));
|
|
440
440
|
});
|
|
441
441
|
}
|
|
442
|
+
isSemanticNullResponse(response) {
|
|
443
|
+
return this.additionalNullResponses.includes(response.status);
|
|
444
|
+
}
|
|
445
|
+
isProtocolNoBodyStatus(status) {
|
|
446
|
+
return status === 204 || status === 205;
|
|
447
|
+
}
|
|
448
|
+
isUndeclaredNoBodyResponse(response) {
|
|
449
|
+
return this.isProtocolNoBodyStatus(response.status) && !this.isSemanticNullResponse(response);
|
|
450
|
+
}
|
|
442
451
|
convertFetchResponseToData(response) {
|
|
443
452
|
return response.then(
|
|
444
453
|
(response2) => {
|
|
445
454
|
if (response2.ok) {
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
455
|
+
let resultPromise;
|
|
456
|
+
if (this.isSemanticNullResponse(response2)) {
|
|
457
|
+
resultPromise = Promise.resolve(ok$2(null));
|
|
458
|
+
} else if (this.isUndeclaredNoBodyResponse(response2)) {
|
|
459
|
+
resultPromise = Promise.resolve(
|
|
460
|
+
err$1(
|
|
461
|
+
toError(
|
|
462
|
+
`Unexpected ${response2.status} response: no-content status was not declared in the API specification. Declare this response in your OAS without a content property.`
|
|
463
|
+
)
|
|
464
|
+
)
|
|
465
|
+
);
|
|
466
|
+
} else {
|
|
467
|
+
resultPromise = response2.json().then(
|
|
468
|
+
(json) => ok$2(json),
|
|
469
|
+
(reason) => err$1(toError(reason))
|
|
470
|
+
);
|
|
471
|
+
}
|
|
472
|
+
return resultPromise.finally(() => {
|
|
450
473
|
try {
|
|
451
474
|
this.afterRequestHooks({ statusCode: response2.status });
|
|
452
475
|
} catch {
|
|
@@ -2567,7 +2590,7 @@ function buildServiceDescriptor$d(luvio) {
|
|
|
2567
2590
|
},
|
|
2568
2591
|
};
|
|
2569
2592
|
}
|
|
2570
|
-
// version: 1.
|
|
2593
|
+
// version: 1.450.0-163071957b
|
|
2571
2594
|
|
|
2572
2595
|
class AuraGraphQLNormalizedCacheControlCommand extends AuraNormalizedCacheControlCommand {
|
|
2573
2596
|
constructor(config, documentRootType, services) {
|
|
@@ -2906,7 +2929,7 @@ function buildServiceDescriptor$9(notifyRecordUpdateAvailable, getNormalizedLuvi
|
|
|
2906
2929
|
},
|
|
2907
2930
|
};
|
|
2908
2931
|
}
|
|
2909
|
-
// version: 1.
|
|
2932
|
+
// version: 1.450.0-163071957b
|
|
2910
2933
|
|
|
2911
2934
|
class RetryService {
|
|
2912
2935
|
constructor(defaultRetryPolicy) {
|
|
@@ -3119,6 +3142,15 @@ function buildUserlandError(error) {
|
|
|
3119
3142
|
}
|
|
3120
3143
|
return new Error("Internal error in Lightning Data Service adapter occurred.");
|
|
3121
3144
|
}
|
|
3145
|
+
function unwrapUserlandError(error) {
|
|
3146
|
+
if (isUserVisibleError(error)) {
|
|
3147
|
+
return error.data;
|
|
3148
|
+
}
|
|
3149
|
+
return toError(error);
|
|
3150
|
+
}
|
|
3151
|
+
function throwUnwrappedUserlandError(error) {
|
|
3152
|
+
throw unwrapUserlandError(error);
|
|
3153
|
+
}
|
|
3122
3154
|
function logError(error) {
|
|
3123
3155
|
if (isUserVisibleError(error)) {
|
|
3124
3156
|
return;
|
|
@@ -3182,7 +3214,9 @@ class DefaultImperativeBindingsService {
|
|
|
3182
3214
|
deepFreeze(result.value);
|
|
3183
3215
|
return isSubscribableResult(result) ? result.value.data : result.value;
|
|
3184
3216
|
}
|
|
3185
|
-
|
|
3217
|
+
throwUnwrappedUserlandError(
|
|
3218
|
+
isSubscribableResult(result) ? result.error.failure : result.error
|
|
3219
|
+
);
|
|
3186
3220
|
});
|
|
3187
3221
|
}
|
|
3188
3222
|
}
|
|
@@ -3200,7 +3234,9 @@ class QueryImperativeBindingsService {
|
|
|
3200
3234
|
deepFreeze(result.value);
|
|
3201
3235
|
return isSubscribableResult(result) ? { data: result.value.data } : { data: result.value };
|
|
3202
3236
|
}
|
|
3203
|
-
|
|
3237
|
+
throwUnwrappedUserlandError(
|
|
3238
|
+
isSubscribableResult(result) ? result.error.failure : result.error
|
|
3239
|
+
);
|
|
3204
3240
|
});
|
|
3205
3241
|
}
|
|
3206
3242
|
}
|
|
@@ -3232,7 +3268,10 @@ class SubscribableImperativeBindingsService {
|
|
|
3232
3268
|
subscribe: (cb) => {
|
|
3233
3269
|
return result.value.subscribe((result2) => {
|
|
3234
3270
|
if (result2.isErr()) {
|
|
3235
|
-
return cb({
|
|
3271
|
+
return cb({
|
|
3272
|
+
data: void 0,
|
|
3273
|
+
error: unwrapUserlandError(result2.error)
|
|
3274
|
+
});
|
|
3236
3275
|
}
|
|
3237
3276
|
return cb({ data: result2.value, error: void 0 });
|
|
3238
3277
|
});
|
|
@@ -3254,7 +3293,7 @@ class SubscribableImperativeBindingsService {
|
|
|
3254
3293
|
return api;
|
|
3255
3294
|
}
|
|
3256
3295
|
} else {
|
|
3257
|
-
|
|
3296
|
+
throwUnwrappedUserlandError(result.error.failure);
|
|
3258
3297
|
}
|
|
3259
3298
|
}
|
|
3260
3299
|
}
|
|
@@ -3276,7 +3315,7 @@ class LegacyImperativeBindingsService {
|
|
|
3276
3315
|
deepFreeze(result.value);
|
|
3277
3316
|
callback({ data: result.value.data, error: void 0 });
|
|
3278
3317
|
} else {
|
|
3279
|
-
callback({ data: void 0, error:
|
|
3318
|
+
callback({ data: void 0, error: unwrapUserlandError(result.error.failure) });
|
|
3280
3319
|
}
|
|
3281
3320
|
} catch (error) {
|
|
3282
3321
|
emitError(callback, error);
|
|
@@ -3291,14 +3330,20 @@ class LegacyImperativeBindingsService {
|
|
|
3291
3330
|
command.execute(overrides).then(
|
|
3292
3331
|
(result) => {
|
|
3293
3332
|
if (!result.isOk()) {
|
|
3294
|
-
callback({
|
|
3333
|
+
callback({
|
|
3334
|
+
data: void 0,
|
|
3335
|
+
error: unwrapUserlandError(result.error.failure)
|
|
3336
|
+
});
|
|
3295
3337
|
return;
|
|
3296
3338
|
}
|
|
3297
3339
|
unsubscribe = result.value.subscribe((res) => {
|
|
3298
3340
|
if (res.isOk()) {
|
|
3299
3341
|
callback({ data: res.value, error: void 0 });
|
|
3300
3342
|
} else {
|
|
3301
|
-
callback({
|
|
3343
|
+
callback({
|
|
3344
|
+
data: void 0,
|
|
3345
|
+
error: unwrapUserlandError(res.error)
|
|
3346
|
+
});
|
|
3302
3347
|
}
|
|
3303
3348
|
});
|
|
3304
3349
|
callback({ data: result.value.data, error: void 0 });
|
|
@@ -5798,7 +5843,7 @@ function getEnvironmentSetting(name) {
|
|
|
5798
5843
|
}
|
|
5799
5844
|
return undefined;
|
|
5800
5845
|
}
|
|
5801
|
-
// version: 1.
|
|
5846
|
+
// version: 1.450.0-b7557fd74b
|
|
5802
5847
|
|
|
5803
5848
|
/**
|
|
5804
5849
|
* Helpers for reaching the Aura framework from the LDS Aura runtime.
|
|
@@ -6407,21 +6452,16 @@ async function getCsrfToken() {
|
|
|
6407
6452
|
}
|
|
6408
6453
|
}
|
|
6409
6454
|
/**
|
|
6410
|
-
* Checks if all
|
|
6411
|
-
* open. These mirror the gates core evaluates when accepting a SID-based
|
|
6412
|
-
* (first-party) Connect request; the CSRF token is only attached when all are
|
|
6413
|
-
* open. All are required OPEN — `auraBasedRequests` expands the set of
|
|
6414
|
-
* Connect resources reachable over HTTP, it is not an aura-vs-http toggle.
|
|
6455
|
+
* Checks if all required gates are enabled for CSRF token interceptor.
|
|
6415
6456
|
*
|
|
6416
6457
|
* @returns true if all gates are enabled, false otherwise
|
|
6417
6458
|
*/
|
|
6418
|
-
function
|
|
6459
|
+
function areCsrfGatesEnabled() {
|
|
6419
6460
|
try {
|
|
6420
6461
|
return (lightningConnectEnabled.isOpen({ fallback: false }) &&
|
|
6421
6462
|
bypassAppRestrictionEnabled.isOpen({ fallback: false }) &&
|
|
6422
6463
|
csrfValidationEnabled.isOpen({ fallback: false }) &&
|
|
6423
|
-
sessionApiEnabled.isOpen({ fallback: false })
|
|
6424
|
-
auraBasedRequestsEnabled.isOpen({ fallback: false }));
|
|
6464
|
+
sessionApiEnabled.isOpen({ fallback: false }));
|
|
6425
6465
|
}
|
|
6426
6466
|
catch (error) {
|
|
6427
6467
|
// If any gate check fails, disable CSRF interceptor
|
|
@@ -6455,7 +6495,7 @@ function isCsrfMethod(method) {
|
|
|
6455
6495
|
function buildCsrfTokenInterceptor() {
|
|
6456
6496
|
return async (fetchArgs) => {
|
|
6457
6497
|
// Check if all required gates are enabled before running
|
|
6458
|
-
if (!
|
|
6498
|
+
if (!areCsrfGatesEnabled()) {
|
|
6459
6499
|
return resolvedPromiseLike$2(fetchArgs);
|
|
6460
6500
|
}
|
|
6461
6501
|
const [urlOrRequest, options] = fetchArgs;
|
|
@@ -6488,7 +6528,7 @@ function buildCsrfTokenInterceptor() {
|
|
|
6488
6528
|
function buildLuvioCsrfTokenInterceptor() {
|
|
6489
6529
|
return async (resourceRequest) => {
|
|
6490
6530
|
// Check if all required gates are enabled before running
|
|
6491
|
-
if (!
|
|
6531
|
+
if (!areCsrfGatesEnabled()) {
|
|
6492
6532
|
return resolvedPromiseLike$2(resourceRequest);
|
|
6493
6533
|
}
|
|
6494
6534
|
// Ensure headers object exists
|
|
@@ -7249,41 +7289,67 @@ const CONTENT_DOCUMENTS_VERSIONS_PATH = '/ui-api/records/content-documents/conte
|
|
|
7249
7289
|
* paths: ['/ui-api/some-endpoint/{id}'],
|
|
7250
7290
|
* }
|
|
7251
7291
|
*/
|
|
7292
|
+
// Each runtime uses a SINGLE LDS gate that enables both the public and
|
|
7293
|
+
// private path lists. The public/private split is preserved as two separate
|
|
7294
|
+
// arrays because the PRIVATE paths carry an extra condition: the server-side
|
|
7295
|
+
// `auraBasedRequests` UiSdk gate. If UiSdk turns that gate off, private
|
|
7296
|
+
// (UiTier-restricted) Connect resources can no longer be served over HTTP and
|
|
7297
|
+
// must fall back to Aura, whereas public/allowlisted paths are unaffected.
|
|
7298
|
+
//
|
|
7299
|
+
// Runtimes are mutually exclusive: One Runtime (globalThis.LWR), Aura Sites
|
|
7300
|
+
// ($Site present), and LEX/one.app (everything else). Each has its own gate.
|
|
7252
7301
|
const PREDICATE_PATH_SETS = [
|
|
7253
7302
|
// One Runtime — public UIAPI endpoints
|
|
7254
7303
|
{
|
|
7255
|
-
predicate: () => isOneRuntime() &&
|
|
7304
|
+
predicate: () => isOneRuntime() && useHttpUiapiOneRuntime.isOpen({ fallback: false }),
|
|
7256
7305
|
paths: UIAPI_PUBLIC_PATHS,
|
|
7257
7306
|
},
|
|
7258
|
-
// One Runtime — private UIAPI endpoints
|
|
7307
|
+
// One Runtime — private UIAPI endpoints (also require the UiSdk gate)
|
|
7259
7308
|
{
|
|
7260
|
-
predicate: () => isOneRuntime() &&
|
|
7309
|
+
predicate: () => isOneRuntime() &&
|
|
7310
|
+
useHttpUiapiOneRuntime.isOpen({ fallback: false }) &&
|
|
7311
|
+
auraBasedRequestsEnabled.isOpen({ fallback: false }),
|
|
7261
7312
|
paths: UIAPI_PRIVATE_PATHS,
|
|
7262
7313
|
},
|
|
7263
|
-
//
|
|
7314
|
+
// Aura Sites — public UIAPI endpoints.
|
|
7315
|
+
// Gate defaults closed, which keeps HTTP UIAPI OFF on Aura/Experience sites:
|
|
7316
|
+
// the HTTP transport's CSRF handling is broken there (W-23092947), so until
|
|
7317
|
+
// that is fixed this gate must not be opened. Wiring it as a normal gated
|
|
7318
|
+
// predicate (rather than a hard block) lets it be flipped on once CSRF works.
|
|
7264
7319
|
{
|
|
7265
|
-
predicate: () =>
|
|
7320
|
+
predicate: () => isAuraSite() && useHttpUiapiAuraSites.isOpen({ fallback: false }),
|
|
7266
7321
|
paths: UIAPI_PUBLIC_PATHS,
|
|
7267
7322
|
},
|
|
7268
|
-
//
|
|
7323
|
+
// Aura Sites — private UIAPI endpoints (also require the UiSdk gate)
|
|
7269
7324
|
{
|
|
7270
|
-
predicate: () =>
|
|
7325
|
+
predicate: () => isAuraSite() &&
|
|
7326
|
+
useHttpUiapiAuraSites.isOpen({ fallback: false }) &&
|
|
7327
|
+
auraBasedRequestsEnabled.isOpen({ fallback: false }),
|
|
7271
7328
|
paths: UIAPI_PRIVATE_PATHS,
|
|
7272
7329
|
},
|
|
7273
|
-
//
|
|
7330
|
+
// LEX (one.app) — public UIAPI endpoints
|
|
7274
7331
|
{
|
|
7275
|
-
predicate: () => !
|
|
7332
|
+
predicate: () => !isOneRuntime() && !isAuraSite() && useHttpUiapiLex.isOpen({ fallback: false }),
|
|
7333
|
+
paths: UIAPI_PUBLIC_PATHS,
|
|
7334
|
+
},
|
|
7335
|
+
// LEX (one.app) — private UIAPI endpoints (also require the UiSdk gate)
|
|
7336
|
+
{
|
|
7337
|
+
predicate: () => !isOneRuntime() &&
|
|
7338
|
+
!isAuraSite() &&
|
|
7339
|
+
useHttpUiapiLex.isOpen({ fallback: false }) &&
|
|
7340
|
+
auraBasedRequestsEnabled.isOpen({ fallback: false }),
|
|
7341
|
+
paths: UIAPI_PRIVATE_PATHS,
|
|
7342
|
+
},
|
|
7343
|
+
// disableCreateContentDocumentAndVersionHTTPLexRuntime killswitch.
|
|
7344
|
+
// Excluded on Aura Sites for the same broken-CSRF reason as the UIAPI paths
|
|
7345
|
+
// (W-23092947); LEX / One Runtime are unaffected.
|
|
7346
|
+
{
|
|
7347
|
+
predicate: () => !isAuraSite() &&
|
|
7348
|
+
!disableCreateContentDocumentAndVersionHTTPLexRuntime.isOpen({ fallback: false }),
|
|
7276
7349
|
paths: [CONTENT_DOCUMENTS_VERSIONS_PATH],
|
|
7277
7350
|
},
|
|
7278
7351
|
];
|
|
7279
7352
|
function getEnabledPaths() {
|
|
7280
|
-
// On Aura/Experience sites the HTTP UIAPI transport's CSRF handling is
|
|
7281
|
-
// broken (W-23092947), so disable every HTTP UIAPI path here and let LDS
|
|
7282
|
-
// fall back to the Aura transport. LEX (one.app / OneRuntime) is
|
|
7283
|
-
// unaffected. This guards all current and future predicates in one place.
|
|
7284
|
-
if (isAuraSite()) {
|
|
7285
|
-
return [];
|
|
7286
|
-
}
|
|
7287
7353
|
const enabled = new Set();
|
|
7288
7354
|
for (const { predicate, paths } of PREDICATE_PATH_SETS) {
|
|
7289
7355
|
if (predicate()) {
|
|
@@ -7614,10 +7680,9 @@ const DATA_360_CDP_URL_REWRITE_AUTH_SCOPE = 'data_360_cdp_url_rewrite';
|
|
|
7614
7680
|
// The server's `SFAPJwtClaimHandlerImpl` emits it for CDP-provisioned orgs as a
|
|
7615
7681
|
// verbatim passthrough of `DataCloudTenant.getApiEndpoint()` — no normalization.
|
|
7616
7682
|
// The exact FORM therefore varies and must not be assumed: it may be a bare host
|
|
7617
|
-
// (`<
|
|
7618
|
-
// (
|
|
7619
|
-
//
|
|
7620
|
-
// `.salesforce.mil`). This is why the interceptor strips any scheme before parsing
|
|
7683
|
+
// (`<host>`) or a full URL with scheme (`<scheme>://<host>`), and the host suffix
|
|
7684
|
+
// (`<domain-suffix>`) is environment-dependent — it differs per deployment
|
|
7685
|
+
// environment. This is why the interceptor strips any scheme before parsing
|
|
7621
7686
|
// and applies no host-suffix policy — see the interceptor docblock's trust boundary.
|
|
7622
7687
|
const CDP_URL_CLAIM = 'cdp_url';
|
|
7623
7688
|
function buildDispatchingSfapJwtResolver(legacyResolver, parameterizedResolver) {
|
|
@@ -7689,6 +7754,12 @@ function buildJwtAuthorizedData360FetchServiceDescriptor(logger) {
|
|
|
7689
7754
|
request: [
|
|
7690
7755
|
buildThirdPartyTrackerRegisterInterceptor(),
|
|
7691
7756
|
buildData360HostRewriteInterceptor(logger),
|
|
7757
|
+
// Compression runs LAST, after the host-rewrite interceptor has minted,
|
|
7758
|
+
// attached the Bearer token, and rewritten the URL — so it only ever sees
|
|
7759
|
+
// the final request body. It is a strict pass-through: bodies that are
|
|
7760
|
+
// missing, non-string, or under the 1KB threshold flow through untouched,
|
|
7761
|
+
// preserving the tuple (URL + Authorization header) the rewrite produced.
|
|
7762
|
+
buildCompressionInterceptor({ algorithm: 'gzip' }),
|
|
7692
7763
|
],
|
|
7693
7764
|
finally: [buildThirdPartyTrackerFinishInterceptor()],
|
|
7694
7765
|
});
|
|
@@ -7851,6 +7922,7 @@ function buildData360HostRewriteInterceptor(logger) {
|
|
|
7851
7922
|
// to `string` for the `.replace` below.
|
|
7852
7923
|
if (typeof cdpUrl !== 'string' || cdpUrl.length === 0) {
|
|
7853
7924
|
logger.warn(`Data360 fetch service: minted JWT has no usable "${CDP_URL_CLAIM}" claim. The org may not be Data Cloud provisioned.`);
|
|
7925
|
+
// eslint-disable-next-line @salesforce/lds/no-error-in-production
|
|
7854
7926
|
throw new Error(`Data360 fetch service: minted JWT has no usable "${CDP_URL_CLAIM}" claim; cannot route the request to a Data Cloud tenant endpoint.`);
|
|
7855
7927
|
}
|
|
7856
7928
|
// `cdp_url` is a bare host (no scheme); prepend https so `new URL`
|
|
@@ -11140,6 +11212,9 @@ function buildAuraDurableCacheInclusionPolicyService(config) {
|
|
|
11140
11212
|
};
|
|
11141
11213
|
}
|
|
11142
11214
|
|
|
11215
|
+
// Registration published on the force/ldsEngine bus so shared (cross-runtime) laf
|
|
11216
|
+
// loaders can read buildPredictorForContext without importing a bootstrap bundle.
|
|
11217
|
+
const PDL_ENGINE_REGISTRATION_ID = '@salesforce/lds-pdl-engine';
|
|
11143
11218
|
// This code *should* be in lds-network-adapter, but when combined with the Aura
|
|
11144
11219
|
// component test workaround in lds-default-luvio it creates a circular dependecy
|
|
11145
11220
|
// between lds-default-luvio and lds-network-adapter. We do the register on behalf
|
|
@@ -11148,6 +11223,16 @@ register({
|
|
|
11148
11223
|
id: '@salesforce/lds-network-adapter',
|
|
11149
11224
|
instrument: ldsNetworkAdapterInstrument,
|
|
11150
11225
|
});
|
|
11226
|
+
// Publish buildPredictorForContext on the force/ldsEngine registration bus so that
|
|
11227
|
+
// shared laf loaders can obtain it without a dynamic import("force/ldsEngineCreator"),
|
|
11228
|
+
// which would evaluate this whole bootstrap a second time. See ADR
|
|
11229
|
+
// 2026-07-10-pdl-service-provisioner-decoupling. buildPredictorForContext is a hoisted
|
|
11230
|
+
// function declaration and internally no-ops (returns undefined) when the PDL gate is
|
|
11231
|
+
// off, so registering it unconditionally is safe.
|
|
11232
|
+
register({
|
|
11233
|
+
id: PDL_ENGINE_REGISTRATION_ID,
|
|
11234
|
+
buildPredictorForContext,
|
|
11235
|
+
});
|
|
11151
11236
|
function setTrackedFieldsConfig() {
|
|
11152
11237
|
configuration.setTrackedFieldDepthOnCacheMiss(1);
|
|
11153
11238
|
configuration.setTrackedFieldDepthOnCacheMergeConflict(1);
|
|
@@ -11460,5 +11545,5 @@ function ldsEngineCreator() {
|
|
|
11460
11545
|
return { name: 'ldsEngineCreator' };
|
|
11461
11546
|
}
|
|
11462
11547
|
|
|
11463
|
-
export { LexRequestStrategy, PdlPrefetcherEventType, PdlRequestPriority, buildPredictorForContext, configService, ldsEngineCreator as default, initializeLDS, initializeOneStore, notifyUpdateAvailableFactory, registerRequestStrategy, saveRequestAsPrediction, subscribeToPrefetcherEvents, unregisterRequestStrategy, whenPredictionsReady };
|
|
11464
|
-
// version: 1.
|
|
11548
|
+
export { LexRequestStrategy, PDL_ENGINE_REGISTRATION_ID, PdlPrefetcherEventType, PdlRequestPriority, buildPredictorForContext, configService, ldsEngineCreator as default, initializeLDS, initializeOneStore, notifyUpdateAvailableFactory, registerRequestStrategy, saveRequestAsPrediction, subscribeToPrefetcherEvents, unregisterRequestStrategy, whenPredictionsReady };
|
|
11549
|
+
// version: 1.450.0-163071957b
|
package/dist/types/main.d.ts
CHANGED
|
@@ -7,6 +7,11 @@ import { type LexRequest } from './predictive-loading/lex';
|
|
|
7
7
|
export { PdlRequestPriority, PdlPrefetcherEventType } from './predictive-loading';
|
|
8
8
|
export { LexRequestStrategy } from './predictive-loading/request-strategy/lex-request-strategy';
|
|
9
9
|
export { configService } from './config-service-util';
|
|
10
|
+
export declare const PDL_ENGINE_REGISTRATION_ID = "@salesforce/lds-pdl-engine";
|
|
11
|
+
export type PdlEngineRegistration = {
|
|
12
|
+
id: typeof PDL_ENGINE_REGISTRATION_ID;
|
|
13
|
+
buildPredictorForContext: typeof buildPredictorForContext;
|
|
14
|
+
};
|
|
10
15
|
/**
|
|
11
16
|
* Registers a request strategy to be utilized by PDL.
|
|
12
17
|
* @param requestStrategy - {@link LexRequestStrategy} The request strategy/strategies to register.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/lds-runtime-aura",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.450.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"description": "LDS engine for Aura runtime.",
|
|
6
6
|
"main": "dist/ldsEngineCreator.js",
|
|
@@ -34,61 +34,61 @@
|
|
|
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-adapter": "^1.
|
|
46
|
-
"@salesforce/lds-network-aura": "^1.
|
|
47
|
-
"@salesforce/lds-network-fetch": "^1.
|
|
37
|
+
"@conduit-client/service-provisioner": "3.26.0",
|
|
38
|
+
"@conduit-client/tools-core": "3.26.0",
|
|
39
|
+
"@salesforce/lds-adapters-apex": "^1.450.0",
|
|
40
|
+
"@salesforce/lds-adapters-uiapi": "^1.450.0",
|
|
41
|
+
"@salesforce/lds-ads-bridge": "^1.450.0",
|
|
42
|
+
"@salesforce/lds-aura-storage": "^1.450.0",
|
|
43
|
+
"@salesforce/lds-bindings": "^1.450.0",
|
|
44
|
+
"@salesforce/lds-instrumentation": "^1.450.0",
|
|
45
|
+
"@salesforce/lds-network-adapter": "^1.450.0",
|
|
46
|
+
"@salesforce/lds-network-aura": "^1.450.0",
|
|
47
|
+
"@salesforce/lds-network-fetch": "^1.450.0",
|
|
48
48
|
"jwt-encode": "1.0.1"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@conduit-client/command-aura-graphql-normalized-cache-control": "3.
|
|
52
|
-
"@conduit-client/command-aura-network": "3.
|
|
53
|
-
"@conduit-client/command-aura-normalized-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/jwt-manager": "3.
|
|
62
|
-
"@conduit-client/service-aura-network": "3.
|
|
63
|
-
"@conduit-client/service-bindings-imperative": "3.
|
|
64
|
-
"@conduit-client/service-bindings-lwc": "3.
|
|
65
|
-
"@conduit-client/service-cache": "3.
|
|
66
|
-
"@conduit-client/service-cache-control": "3.
|
|
67
|
-
"@conduit-client/service-cache-inclusion-policy": "3.
|
|
68
|
-
"@conduit-client/service-config": "3.
|
|
69
|
-
"@conduit-client/service-feature-flags": "3.
|
|
70
|
-
"@conduit-client/service-fetch-network": "3.
|
|
71
|
-
"@conduit-client/service-instrument-command": "3.
|
|
72
|
-
"@conduit-client/service-pubsub": "3.
|
|
73
|
-
"@conduit-client/service-renewable-resource-manager": "3.
|
|
74
|
-
"@conduit-client/service-store": "3.
|
|
75
|
-
"@conduit-client/utils": "3.
|
|
51
|
+
"@conduit-client/command-aura-graphql-normalized-cache-control": "3.26.0",
|
|
52
|
+
"@conduit-client/command-aura-network": "3.26.0",
|
|
53
|
+
"@conduit-client/command-aura-normalized-cache-control": "3.26.0",
|
|
54
|
+
"@conduit-client/command-fetch-network": "3.26.0",
|
|
55
|
+
"@conduit-client/command-http-graphql-normalized-cache-control": "3.26.0",
|
|
56
|
+
"@conduit-client/command-http-normalized-cache-control": "3.26.0",
|
|
57
|
+
"@conduit-client/command-ndjson": "3.26.0",
|
|
58
|
+
"@conduit-client/command-network": "3.26.0",
|
|
59
|
+
"@conduit-client/command-sse": "3.26.0",
|
|
60
|
+
"@conduit-client/command-streaming": "3.26.0",
|
|
61
|
+
"@conduit-client/jwt-manager": "3.26.0",
|
|
62
|
+
"@conduit-client/service-aura-network": "3.26.0",
|
|
63
|
+
"@conduit-client/service-bindings-imperative": "3.26.0",
|
|
64
|
+
"@conduit-client/service-bindings-lwc": "3.26.0",
|
|
65
|
+
"@conduit-client/service-cache": "3.26.0",
|
|
66
|
+
"@conduit-client/service-cache-control": "3.26.0",
|
|
67
|
+
"@conduit-client/service-cache-inclusion-policy": "3.26.0",
|
|
68
|
+
"@conduit-client/service-config": "3.26.0",
|
|
69
|
+
"@conduit-client/service-feature-flags": "3.26.0",
|
|
70
|
+
"@conduit-client/service-fetch-network": "3.26.0",
|
|
71
|
+
"@conduit-client/service-instrument-command": "3.26.0",
|
|
72
|
+
"@conduit-client/service-pubsub": "3.26.0",
|
|
73
|
+
"@conduit-client/service-renewable-resource-manager": "3.26.0",
|
|
74
|
+
"@conduit-client/service-store": "3.26.0",
|
|
75
|
+
"@conduit-client/utils": "3.26.0",
|
|
76
76
|
"@luvio/network-adapter-composable": "0.161.0",
|
|
77
77
|
"@luvio/network-adapter-fetch": "0.161.0",
|
|
78
78
|
"@lwc/state": "^0.29.0",
|
|
79
|
-
"@salesforce/lds-adapters-onestore-graphql": "^1.
|
|
79
|
+
"@salesforce/lds-adapters-onestore-graphql": "^1.450.0",
|
|
80
80
|
"@salesforce/lds-adapters-uiapi-lex": "^1.415.0",
|
|
81
|
-
"@salesforce/lds-durable-storage": "^1.
|
|
82
|
-
"@salesforce/lds-luvio-service": "^1.
|
|
83
|
-
"@salesforce/lds-luvio-uiapi-records-service": "^1.
|
|
81
|
+
"@salesforce/lds-durable-storage": "^1.450.0",
|
|
82
|
+
"@salesforce/lds-luvio-service": "^1.450.0",
|
|
83
|
+
"@salesforce/lds-luvio-uiapi-records-service": "^1.450.0"
|
|
84
84
|
},
|
|
85
85
|
"luvioBundlesize": [
|
|
86
86
|
{
|
|
87
87
|
"path": "./dist/ldsEngineCreator.js",
|
|
88
88
|
"maxSize": {
|
|
89
|
-
"none": "
|
|
89
|
+
"none": "415 kB",
|
|
90
90
|
"min": "190 kB",
|
|
91
|
-
"compressed": "
|
|
91
|
+
"compressed": "73 kB"
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
],
|