@salesforce/lds-runtime-aura 1.402.0 → 1.403.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 +335 -239
- package/dist/types/__mocks__/instrumentation/service.d.ts +2 -2
- package/dist/types/fetch-service-descriptors/lex-fetch-service.d.ts +1 -1
- package/dist/types/finally-interceptors/third-party-tracker-finish.d.ts +2 -0
- package/dist/types/finally-interceptors/transport-receive.d.ts +3 -0
- package/dist/types/instrumentation-utils.d.ts +4 -0
- package/dist/types/locker-wire-bindings.d.ts +3 -0
- package/dist/types/request-interceptors/third-party-tracker-register.d.ts +2 -0
- package/dist/types/request-interceptors/transport-send.d.ts +5 -0
- package/package.json +13 -13
- package/dist/types/request-interceptors/request-id.d.ts +0 -4
package/dist/ldsEngineCreator.js
CHANGED
|
@@ -33,13 +33,13 @@ import { dispatchGlobalEvent, unstable_loadComponentDefs, executeGlobalControlle
|
|
|
33
33
|
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
34
|
import { ThirdPartyTracker } from 'instrumentation:thirdPartyTracker';
|
|
35
35
|
import { markStart, markEnd, counter, registerCacheStats, perfStart, perfEnd, registerPeriodicLogger, interaction, timer } from 'instrumentation/service';
|
|
36
|
-
import {
|
|
37
|
-
import { instrument as instrument$2, generateRequestId as generateRequestId$1, setupLexNetworkAdapter, internalRequestTracker } from 'force/ldsNetworkFetch';
|
|
36
|
+
import { instrument as instrument$2, setupLexNetworkAdapter, internalRequestTracker, generateRequestId as generateRequestId$1 } from 'force/ldsNetworkFetch';
|
|
38
37
|
import { REFRESH_ADAPTER_EVENT, ADAPTER_UNFULFILLED_ERROR, instrument as instrument$3 } from 'force/ldsBindings';
|
|
39
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';
|
|
40
39
|
import { instrument as instrument$4 } from 'force/adsBridge';
|
|
41
40
|
import { instrument as instrument$5 } from '@lwc/state';
|
|
42
41
|
import { withRegistration, register, setDefaultLuvio } from 'force/ldsEngine';
|
|
42
|
+
import { pageScopedCache } from 'instrumentation/utility';
|
|
43
43
|
import { createStorage, clearStorages } from 'force/ldsStorage';
|
|
44
44
|
import useHotspotLimit from '@salesforce/gate/lds.pdl.useHotspotLimit';
|
|
45
45
|
import useHttpUiapiOneApp from '@salesforce/gate/lds.useHttpUiapiOneApp';
|
|
@@ -2666,7 +2666,7 @@ function buildServiceDescriptor$d(luvio) {
|
|
|
2666
2666
|
},
|
|
2667
2667
|
};
|
|
2668
2668
|
}
|
|
2669
|
-
// version: 1.
|
|
2669
|
+
// version: 1.403.0-5476a05446
|
|
2670
2670
|
|
|
2671
2671
|
/*!
|
|
2672
2672
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -3004,7 +3004,7 @@ function buildServiceDescriptor$9(notifyRecordUpdateAvailable, getNormalizedLuvi
|
|
|
3004
3004
|
},
|
|
3005
3005
|
};
|
|
3006
3006
|
}
|
|
3007
|
-
// version: 1.
|
|
3007
|
+
// version: 1.403.0-5476a05446
|
|
3008
3008
|
|
|
3009
3009
|
/*!
|
|
3010
3010
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -3935,6 +3935,46 @@ function buildServiceDescriptor$2() {
|
|
|
3935
3935
|
};
|
|
3936
3936
|
}
|
|
3937
3937
|
|
|
3938
|
+
function createLockerCompatibleWireConstructor(DelegateCtor) {
|
|
3939
|
+
function Constructor(callback, sourceContext, options) {
|
|
3940
|
+
const delegate = new DelegateCtor(callback, sourceContext, options);
|
|
3941
|
+
this.connect = () => delegate.connect();
|
|
3942
|
+
this.disconnect = () => delegate.disconnect();
|
|
3943
|
+
this.update = (config, context) => delegate.update(config, context);
|
|
3944
|
+
}
|
|
3945
|
+
return Constructor;
|
|
3946
|
+
}
|
|
3947
|
+
function buildLWCWireBindingsServiceDescriptor() {
|
|
3948
|
+
const base = buildServiceDescriptor$1();
|
|
3949
|
+
const originalBind = base.service.bind.bind(base.service);
|
|
3950
|
+
const bind = (...args) => {
|
|
3951
|
+
const ctor = originalBind(...args);
|
|
3952
|
+
return createLockerCompatibleWireConstructor(ctor);
|
|
3953
|
+
};
|
|
3954
|
+
return {
|
|
3955
|
+
...base,
|
|
3956
|
+
service: {
|
|
3957
|
+
...base.service,
|
|
3958
|
+
bind,
|
|
3959
|
+
},
|
|
3960
|
+
};
|
|
3961
|
+
}
|
|
3962
|
+
function buildLWCGraphQLWireBindingsServiceDescriptor() {
|
|
3963
|
+
const base = buildServiceDescriptor$2();
|
|
3964
|
+
const originalBind = base.service.bind.bind(base.service);
|
|
3965
|
+
const bind = (...args) => {
|
|
3966
|
+
const ctor = originalBind(...args);
|
|
3967
|
+
return createLockerCompatibleWireConstructor(ctor);
|
|
3968
|
+
};
|
|
3969
|
+
return {
|
|
3970
|
+
...base,
|
|
3971
|
+
service: {
|
|
3972
|
+
...base.service,
|
|
3973
|
+
bind,
|
|
3974
|
+
},
|
|
3975
|
+
};
|
|
3976
|
+
}
|
|
3977
|
+
|
|
3938
3978
|
/*!
|
|
3939
3979
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
3940
3980
|
* All rights reserved.
|
|
@@ -4629,204 +4669,6 @@ function generateRequestId() {
|
|
|
4629
4669
|
|
|
4630
4670
|
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";
|
|
4631
4671
|
|
|
4632
|
-
function buildLexRuntimeAuthExpirationRedirectResponseInterceptor(logger) {
|
|
4633
|
-
return async (response) => {
|
|
4634
|
-
if (response.status === 401) {
|
|
4635
|
-
try {
|
|
4636
|
-
const coercedResponse = (await coerceResponseToFetchResponse(response.clone()));
|
|
4637
|
-
if (coercedResponse.body.errorCode === 'INVALID_SESSION_ID') {
|
|
4638
|
-
logger.warn(`Received ${response.status} status code from LEX runtime service`);
|
|
4639
|
-
// Fire the event asynchronously, similar to the legacy setTimeout pattern
|
|
4640
|
-
window.setTimeout(() => {
|
|
4641
|
-
dispatchGlobalEvent('aura:invalidSession');
|
|
4642
|
-
}, 0);
|
|
4643
|
-
}
|
|
4644
|
-
}
|
|
4645
|
-
catch (error) {
|
|
4646
|
-
logger.warn(`Error parsing response from LEX runtime service: ${error}`);
|
|
4647
|
-
}
|
|
4648
|
-
}
|
|
4649
|
-
return response;
|
|
4650
|
-
};
|
|
4651
|
-
}
|
|
4652
|
-
function buildLexRuntimeLuvioAuthExpirationRedirectResponseInterceptor() {
|
|
4653
|
-
return async (response) => {
|
|
4654
|
-
if (response.status === 401) {
|
|
4655
|
-
if (response.body.errorCode === 'INVALID_SESSION_ID') {
|
|
4656
|
-
window.setTimeout(() => {
|
|
4657
|
-
dispatchGlobalEvent('aura:invalidSession');
|
|
4658
|
-
}, 0);
|
|
4659
|
-
}
|
|
4660
|
-
}
|
|
4661
|
-
return response;
|
|
4662
|
-
};
|
|
4663
|
-
}
|
|
4664
|
-
|
|
4665
|
-
/**
|
|
4666
|
-
* Extracts the ErrorId from a server error response message.
|
|
4667
|
-
* Looks for pattern: "ErrorId if you contact support: 1033627214-37969 (-1272663771)"
|
|
4668
|
-
* Returns the numeric value in parentheses.
|
|
4669
|
-
*
|
|
4670
|
-
* @param responseBody The response body text to parse.
|
|
4671
|
-
* @returns The extracted error ID, or null if not found.
|
|
4672
|
-
*/
|
|
4673
|
-
function extractErrorIdFromResponse(responseBody) {
|
|
4674
|
-
try {
|
|
4675
|
-
const parsed = JSON.parse(responseBody);
|
|
4676
|
-
if (Array.isArray(parsed) && parsed.length > 0 && parsed[0].message) {
|
|
4677
|
-
const message = parsed[0].message;
|
|
4678
|
-
// Look for pattern: "ErrorId if you contact support: XXXXXX-XXXXX (YYYYY)"
|
|
4679
|
-
const match = message.match(/ErrorId[^:]*:\s*[\d-]+\s*\((-?\d+)\)/);
|
|
4680
|
-
if (match && match[1]) {
|
|
4681
|
-
return parseInt(match[1], 10);
|
|
4682
|
-
}
|
|
4683
|
-
}
|
|
4684
|
-
}
|
|
4685
|
-
catch (e) {
|
|
4686
|
-
// If parsing fails, return null to use fallback
|
|
4687
|
-
}
|
|
4688
|
-
return null;
|
|
4689
|
-
}
|
|
4690
|
-
/**
|
|
4691
|
-
* Generates a unique error ID for tracking specific error occurrences.
|
|
4692
|
-
* Used as fallback when server doesn't provide an ErrorId.
|
|
4693
|
-
*
|
|
4694
|
-
* @param idInput The input value to hash.
|
|
4695
|
-
* @returns A unique error ID in Salesforce-compatible numeric format.
|
|
4696
|
-
*/
|
|
4697
|
-
function generateErrorId(idInput) {
|
|
4698
|
-
let hash = 0;
|
|
4699
|
-
if (!idInput || idInput.length === 0) {
|
|
4700
|
-
return hash;
|
|
4701
|
-
}
|
|
4702
|
-
let i, chr;
|
|
4703
|
-
for (i = 0; i < idInput.length; i++) {
|
|
4704
|
-
chr = idInput.charCodeAt(i);
|
|
4705
|
-
hash = (hash << 5) - hash + chr;
|
|
4706
|
-
hash |= 0; // Convert to 32bit integer
|
|
4707
|
-
}
|
|
4708
|
-
return hash;
|
|
4709
|
-
}
|
|
4710
|
-
/**
|
|
4711
|
-
* Gets error ID from response body or generates a fallback.
|
|
4712
|
-
* Tries to extract server-provided ErrorId first, falls back to generated hash.
|
|
4713
|
-
*
|
|
4714
|
-
* @param responseBody The response body to parse.
|
|
4715
|
-
* @param status The HTTP status code (for fallback).
|
|
4716
|
-
* @param statusText The HTTP status text (for fallback, optional).
|
|
4717
|
-
* @returns A numeric error ID.
|
|
4718
|
-
*/
|
|
4719
|
-
function getOrGenerateErrorId(responseBody, status, statusText) {
|
|
4720
|
-
const extractedId = extractErrorIdFromResponse(responseBody);
|
|
4721
|
-
if (extractedId !== null) {
|
|
4722
|
-
return extractedId;
|
|
4723
|
-
}
|
|
4724
|
-
// Fallback to generated error ID using status and timestamp
|
|
4725
|
-
// statusText is optional and may not always be present
|
|
4726
|
-
const context = [status, statusText || '', Date.now()].join('|');
|
|
4727
|
-
return generateErrorId(context);
|
|
4728
|
-
}
|
|
4729
|
-
function buildLexRuntime5xxStatusResponseInterceptor(logger) {
|
|
4730
|
-
return async (response) => {
|
|
4731
|
-
if (response.status >= 500 && response.status < 600) {
|
|
4732
|
-
const internalLogMessage = `LEX runtime 5xx: ${response.status} ${response.statusText || ''}`.trim();
|
|
4733
|
-
logger.warn(internalLogMessage);
|
|
4734
|
-
const userMessage = 'A server error occurred. Please try again later.';
|
|
4735
|
-
// Try to extract ErrorId from response body, fallback to generated ID
|
|
4736
|
-
let errorId;
|
|
4737
|
-
try {
|
|
4738
|
-
const responseText = await response.clone().text();
|
|
4739
|
-
errorId = getOrGenerateErrorId(responseText, response.status, response.statusText);
|
|
4740
|
-
}
|
|
4741
|
-
catch (e) {
|
|
4742
|
-
// If reading response fails, use fallback
|
|
4743
|
-
const context = [response.status, response.statusText, Date.now()].join('|');
|
|
4744
|
-
errorId = generateErrorId(context);
|
|
4745
|
-
}
|
|
4746
|
-
// Create an error object similar to Aura's current shape for system errors
|
|
4747
|
-
const error = {
|
|
4748
|
-
message: userMessage,
|
|
4749
|
-
severity: 'ALERT',
|
|
4750
|
-
name: 'LEXRuntimeError',
|
|
4751
|
-
stack: null,
|
|
4752
|
-
handled: false,
|
|
4753
|
-
reported: false,
|
|
4754
|
-
id: errorId,
|
|
4755
|
-
};
|
|
4756
|
-
const evtArgs = {
|
|
4757
|
-
message: error.message,
|
|
4758
|
-
error: null,
|
|
4759
|
-
auraError: error,
|
|
4760
|
-
};
|
|
4761
|
-
// Fire the event asynchronously, similar to the legacy setTimeout pattern
|
|
4762
|
-
window.setTimeout(() => {
|
|
4763
|
-
dispatchGlobalEvent('markup://aura:systemError', evtArgs);
|
|
4764
|
-
}, 0);
|
|
4765
|
-
// Throw a simple error to terminate the request completely
|
|
4766
|
-
// The consumer has NOT opted in to handle 5xx errors, so we don't return any response
|
|
4767
|
-
// The systemError event above will handle showing the gack dialog
|
|
4768
|
-
throw new Error(error.message);
|
|
4769
|
-
}
|
|
4770
|
-
return response;
|
|
4771
|
-
};
|
|
4772
|
-
}
|
|
4773
|
-
function buildLexRuntimeLuvio5xxStatusResponseInterceptor() {
|
|
4774
|
-
return async (response) => {
|
|
4775
|
-
if (response.status >= 500 && response.status < 600) {
|
|
4776
|
-
const userMessage = 'A server error occurred. Please try again later.';
|
|
4777
|
-
// Try to extract ErrorId from response body, fallback to generated ID
|
|
4778
|
-
let errorId;
|
|
4779
|
-
try {
|
|
4780
|
-
const responseBody = response.body ? JSON.stringify(response.body) : '';
|
|
4781
|
-
errorId = getOrGenerateErrorId(responseBody, response.status, response.statusText);
|
|
4782
|
-
}
|
|
4783
|
-
catch (e) {
|
|
4784
|
-
// If reading response fails, use fallback
|
|
4785
|
-
const context = [response.status, response.statusText, Date.now()].join('|');
|
|
4786
|
-
errorId = generateErrorId(context);
|
|
4787
|
-
}
|
|
4788
|
-
// Create an error object similar to Aura's current shape for system errors
|
|
4789
|
-
const error = {
|
|
4790
|
-
message: userMessage,
|
|
4791
|
-
severity: 'ALERT',
|
|
4792
|
-
name: 'LEXRuntimeError',
|
|
4793
|
-
stack: null,
|
|
4794
|
-
handled: false,
|
|
4795
|
-
reported: false,
|
|
4796
|
-
id: errorId,
|
|
4797
|
-
};
|
|
4798
|
-
const evtArgs = {
|
|
4799
|
-
message: error.message,
|
|
4800
|
-
error: null,
|
|
4801
|
-
auraError: error,
|
|
4802
|
-
};
|
|
4803
|
-
// Fire the event asynchronously, similar to the legacy setTimeout pattern
|
|
4804
|
-
window.setTimeout(() => {
|
|
4805
|
-
dispatchGlobalEvent('markup://aura:systemError', evtArgs);
|
|
4806
|
-
}, 0);
|
|
4807
|
-
// Throw a simple error to terminate the request completely
|
|
4808
|
-
// The consumer has NOT opted in to handle 5xx errors, so we don't return any response
|
|
4809
|
-
// The systemError event above will handle showing the gack dialog
|
|
4810
|
-
throw new Error(error.message);
|
|
4811
|
-
}
|
|
4812
|
-
return response;
|
|
4813
|
-
};
|
|
4814
|
-
}
|
|
4815
|
-
|
|
4816
|
-
function buildPageScopedCacheRequestInterceptor() {
|
|
4817
|
-
return async (fetchArgs) => {
|
|
4818
|
-
const pageScopedCacheHeaders = {};
|
|
4819
|
-
// Allow the instrumentation util to set up the header value on our "dummy" header object
|
|
4820
|
-
pageScopedCache.addHeader(pageScopedCacheHeaders);
|
|
4821
|
-
let returnedFetchArgs = fetchArgs;
|
|
4822
|
-
// If it set a value, add it to our fetchParams
|
|
4823
|
-
Object.entries(pageScopedCacheHeaders).forEach(([key, value]) => {
|
|
4824
|
-
returnedFetchArgs = setHeader(key, value, returnedFetchArgs);
|
|
4825
|
-
});
|
|
4826
|
-
return resolvedPromiseLike$2(returnedFetchArgs);
|
|
4827
|
-
};
|
|
4828
|
-
}
|
|
4829
|
-
|
|
4830
4672
|
/**
|
|
4831
4673
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
4832
4674
|
* All rights reserved.
|
|
@@ -4865,7 +4707,7 @@ function getEnvironmentSetting(name) {
|
|
|
4865
4707
|
}
|
|
4866
4708
|
return undefined;
|
|
4867
4709
|
}
|
|
4868
|
-
// version: 1.
|
|
4710
|
+
// version: 1.403.0-5476a05446
|
|
4869
4711
|
|
|
4870
4712
|
/**
|
|
4871
4713
|
* Observability / Critical Availability Program (230+)
|
|
@@ -5689,24 +5531,187 @@ function buildLuvioPageScopedCacheRequestInterceptor() {
|
|
|
5689
5531
|
};
|
|
5690
5532
|
}
|
|
5691
5533
|
|
|
5692
|
-
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
|
|
5696
|
-
|
|
5534
|
+
function buildLexRuntimeAuthExpirationRedirectResponseInterceptor(logger) {
|
|
5535
|
+
return async (response) => {
|
|
5536
|
+
if (response.status === 401) {
|
|
5537
|
+
try {
|
|
5538
|
+
const coercedResponse = (await coerceResponseToFetchResponse(response.clone()));
|
|
5539
|
+
if (coercedResponse.body.errorCode === 'INVALID_SESSION_ID') {
|
|
5540
|
+
logger.warn(`Received ${response.status} status code from LEX runtime service`);
|
|
5541
|
+
// Fire the event asynchronously, similar to the legacy setTimeout pattern
|
|
5542
|
+
window.setTimeout(() => {
|
|
5543
|
+
dispatchGlobalEvent('aura:invalidSession');
|
|
5544
|
+
}, 0);
|
|
5545
|
+
}
|
|
5546
|
+
}
|
|
5547
|
+
catch (error) {
|
|
5548
|
+
logger.warn(`Error parsing response from LEX runtime service: ${error}`);
|
|
5549
|
+
}
|
|
5550
|
+
}
|
|
5551
|
+
return response;
|
|
5697
5552
|
};
|
|
5698
5553
|
}
|
|
5699
|
-
function
|
|
5700
|
-
return (
|
|
5701
|
-
|
|
5702
|
-
|
|
5703
|
-
|
|
5554
|
+
function buildLexRuntimeLuvioAuthExpirationRedirectResponseInterceptor() {
|
|
5555
|
+
return async (response) => {
|
|
5556
|
+
if (response.status === 401) {
|
|
5557
|
+
if (response.body.errorCode === 'INVALID_SESSION_ID') {
|
|
5558
|
+
window.setTimeout(() => {
|
|
5559
|
+
dispatchGlobalEvent('aura:invalidSession');
|
|
5560
|
+
}, 0);
|
|
5561
|
+
}
|
|
5704
5562
|
}
|
|
5705
|
-
|
|
5706
|
-
|
|
5707
|
-
|
|
5563
|
+
return response;
|
|
5564
|
+
};
|
|
5565
|
+
}
|
|
5566
|
+
|
|
5567
|
+
/**
|
|
5568
|
+
* Extracts the ErrorId from a server error response message.
|
|
5569
|
+
* Looks for pattern: "ErrorId if you contact support: 1033627214-37969 (-1272663771)"
|
|
5570
|
+
* Returns the numeric value in parentheses.
|
|
5571
|
+
*
|
|
5572
|
+
* @param responseBody The response body text to parse.
|
|
5573
|
+
* @returns The extracted error ID, or null if not found.
|
|
5574
|
+
*/
|
|
5575
|
+
function extractErrorIdFromResponse(responseBody) {
|
|
5576
|
+
try {
|
|
5577
|
+
const parsed = JSON.parse(responseBody);
|
|
5578
|
+
if (Array.isArray(parsed) && parsed.length > 0 && parsed[0].message) {
|
|
5579
|
+
const message = parsed[0].message;
|
|
5580
|
+
// Look for pattern: "ErrorId if you contact support: XXXXXX-XXXXX (YYYYY)"
|
|
5581
|
+
const match = message.match(/ErrorId[^:]*:\s*[\d-]+\s*\((-?\d+)\)/);
|
|
5582
|
+
if (match && match[1]) {
|
|
5583
|
+
return parseInt(match[1], 10);
|
|
5584
|
+
}
|
|
5708
5585
|
}
|
|
5709
|
-
|
|
5586
|
+
}
|
|
5587
|
+
catch (e) {
|
|
5588
|
+
// If parsing fails, return null to use fallback
|
|
5589
|
+
}
|
|
5590
|
+
return null;
|
|
5591
|
+
}
|
|
5592
|
+
/**
|
|
5593
|
+
* Generates a unique error ID for tracking specific error occurrences.
|
|
5594
|
+
* Used as fallback when server doesn't provide an ErrorId.
|
|
5595
|
+
*
|
|
5596
|
+
* @param idInput The input value to hash.
|
|
5597
|
+
* @returns A unique error ID in Salesforce-compatible numeric format.
|
|
5598
|
+
*/
|
|
5599
|
+
function generateErrorId(idInput) {
|
|
5600
|
+
let hash = 0;
|
|
5601
|
+
if (!idInput || idInput.length === 0) {
|
|
5602
|
+
return hash;
|
|
5603
|
+
}
|
|
5604
|
+
let i, chr;
|
|
5605
|
+
for (i = 0; i < idInput.length; i++) {
|
|
5606
|
+
chr = idInput.charCodeAt(i);
|
|
5607
|
+
hash = (hash << 5) - hash + chr;
|
|
5608
|
+
hash |= 0; // Convert to 32bit integer
|
|
5609
|
+
}
|
|
5610
|
+
return hash;
|
|
5611
|
+
}
|
|
5612
|
+
/**
|
|
5613
|
+
* Gets error ID from response body or generates a fallback.
|
|
5614
|
+
* Tries to extract server-provided ErrorId first, falls back to generated hash.
|
|
5615
|
+
*
|
|
5616
|
+
* @param responseBody The response body to parse.
|
|
5617
|
+
* @param status The HTTP status code (for fallback).
|
|
5618
|
+
* @param statusText The HTTP status text (for fallback, optional).
|
|
5619
|
+
* @returns A numeric error ID.
|
|
5620
|
+
*/
|
|
5621
|
+
function getOrGenerateErrorId(responseBody, status, statusText) {
|
|
5622
|
+
const extractedId = extractErrorIdFromResponse(responseBody);
|
|
5623
|
+
if (extractedId !== null) {
|
|
5624
|
+
return extractedId;
|
|
5625
|
+
}
|
|
5626
|
+
// Fallback to generated error ID using status and timestamp
|
|
5627
|
+
// statusText is optional and may not always be present
|
|
5628
|
+
const context = [status, statusText || '', Date.now()].join('|');
|
|
5629
|
+
return generateErrorId(context);
|
|
5630
|
+
}
|
|
5631
|
+
function buildLexRuntime5xxStatusResponseInterceptor(logger) {
|
|
5632
|
+
return async (response) => {
|
|
5633
|
+
if (response.status >= 500 && response.status < 600) {
|
|
5634
|
+
const internalLogMessage = `LEX runtime 5xx: ${response.status} ${response.statusText || ''}`.trim();
|
|
5635
|
+
logger.warn(internalLogMessage);
|
|
5636
|
+
const userMessage = 'A server error occurred. Please try again later.';
|
|
5637
|
+
// Try to extract ErrorId from response body, fallback to generated ID
|
|
5638
|
+
let errorId;
|
|
5639
|
+
try {
|
|
5640
|
+
const responseText = await response.clone().text();
|
|
5641
|
+
errorId = getOrGenerateErrorId(responseText, response.status, response.statusText);
|
|
5642
|
+
}
|
|
5643
|
+
catch (e) {
|
|
5644
|
+
// If reading response fails, use fallback
|
|
5645
|
+
const context = [response.status, response.statusText, Date.now()].join('|');
|
|
5646
|
+
errorId = generateErrorId(context);
|
|
5647
|
+
}
|
|
5648
|
+
// Create an error object similar to Aura's current shape for system errors
|
|
5649
|
+
const error = {
|
|
5650
|
+
message: userMessage,
|
|
5651
|
+
severity: 'ALERT',
|
|
5652
|
+
name: 'LEXRuntimeError',
|
|
5653
|
+
stack: null,
|
|
5654
|
+
handled: false,
|
|
5655
|
+
reported: false,
|
|
5656
|
+
id: errorId,
|
|
5657
|
+
};
|
|
5658
|
+
const evtArgs = {
|
|
5659
|
+
message: error.message,
|
|
5660
|
+
error: null,
|
|
5661
|
+
auraError: error,
|
|
5662
|
+
};
|
|
5663
|
+
// Fire the event asynchronously, similar to the legacy setTimeout pattern
|
|
5664
|
+
window.setTimeout(() => {
|
|
5665
|
+
dispatchGlobalEvent('markup://aura:systemError', evtArgs);
|
|
5666
|
+
}, 0);
|
|
5667
|
+
// Throw a simple error to terminate the request completely
|
|
5668
|
+
// The consumer has NOT opted in to handle 5xx errors, so we don't return any response
|
|
5669
|
+
// The systemError event above will handle showing the gack dialog
|
|
5670
|
+
throw new Error(error.message);
|
|
5671
|
+
}
|
|
5672
|
+
return response;
|
|
5673
|
+
};
|
|
5674
|
+
}
|
|
5675
|
+
function buildLexRuntimeLuvio5xxStatusResponseInterceptor() {
|
|
5676
|
+
return async (response) => {
|
|
5677
|
+
if (response.status >= 500 && response.status < 600) {
|
|
5678
|
+
const userMessage = 'A server error occurred. Please try again later.';
|
|
5679
|
+
// Try to extract ErrorId from response body, fallback to generated ID
|
|
5680
|
+
let errorId;
|
|
5681
|
+
try {
|
|
5682
|
+
const responseBody = response.body ? JSON.stringify(response.body) : '';
|
|
5683
|
+
errorId = getOrGenerateErrorId(responseBody, response.status, response.statusText);
|
|
5684
|
+
}
|
|
5685
|
+
catch (e) {
|
|
5686
|
+
// If reading response fails, use fallback
|
|
5687
|
+
const context = [response.status, response.statusText, Date.now()].join('|');
|
|
5688
|
+
errorId = generateErrorId(context);
|
|
5689
|
+
}
|
|
5690
|
+
// Create an error object similar to Aura's current shape for system errors
|
|
5691
|
+
const error = {
|
|
5692
|
+
message: userMessage,
|
|
5693
|
+
severity: 'ALERT',
|
|
5694
|
+
name: 'LEXRuntimeError',
|
|
5695
|
+
stack: null,
|
|
5696
|
+
handled: false,
|
|
5697
|
+
reported: false,
|
|
5698
|
+
id: errorId,
|
|
5699
|
+
};
|
|
5700
|
+
const evtArgs = {
|
|
5701
|
+
message: error.message,
|
|
5702
|
+
error: null,
|
|
5703
|
+
auraError: error,
|
|
5704
|
+
};
|
|
5705
|
+
// Fire the event asynchronously, similar to the legacy setTimeout pattern
|
|
5706
|
+
window.setTimeout(() => {
|
|
5707
|
+
dispatchGlobalEvent('markup://aura:systemError', evtArgs);
|
|
5708
|
+
}, 0);
|
|
5709
|
+
// Throw a simple error to terminate the request completely
|
|
5710
|
+
// The consumer has NOT opted in to handle 5xx errors, so we don't return any response
|
|
5711
|
+
// The systemError event above will handle showing the gack dialog
|
|
5712
|
+
throw new Error(error.message);
|
|
5713
|
+
}
|
|
5714
|
+
return response;
|
|
5710
5715
|
};
|
|
5711
5716
|
}
|
|
5712
5717
|
|
|
@@ -5960,11 +5965,7 @@ const composedFetchNetworkAdapter = {
|
|
|
5960
5965
|
return API_PATH_MATCHERS.some((matcher) => matcher.test(path));
|
|
5961
5966
|
},
|
|
5962
5967
|
adapter: setupLexNetworkAdapter(requestTracker, requestLogger, {
|
|
5963
|
-
request: [
|
|
5964
|
-
buildLuvioPageScopedCacheRequestInterceptor(),
|
|
5965
|
-
buildLuvioRequestIdInterceptor(),
|
|
5966
|
-
buildLuvioCsrfTokenInterceptor(),
|
|
5967
|
-
],
|
|
5968
|
+
request: [buildLuvioPageScopedCacheRequestInterceptor(), buildLuvioCsrfTokenInterceptor()],
|
|
5968
5969
|
response: [
|
|
5969
5970
|
buildLexRuntimeLuvio5xxStatusResponseInterceptor(),
|
|
5970
5971
|
buildLexRuntimeLuvioAuthExpirationRedirectResponseInterceptor(),
|
|
@@ -5972,6 +5973,77 @@ const composedFetchNetworkAdapter = {
|
|
|
5972
5973
|
}),
|
|
5973
5974
|
};
|
|
5974
5975
|
|
|
5976
|
+
function buildThirdPartyTrackerFinishInterceptor() {
|
|
5977
|
+
return async (context) => {
|
|
5978
|
+
if (context && context.instrumentationId) {
|
|
5979
|
+
instrumentationTracker.markFinished(context.instrumentationId);
|
|
5980
|
+
}
|
|
5981
|
+
};
|
|
5982
|
+
}
|
|
5983
|
+
|
|
5984
|
+
function buildThirdPartyTrackerRegisterInterceptor() {
|
|
5985
|
+
return async (fetchArgs, context) => {
|
|
5986
|
+
if (context && context.instrumentationId) {
|
|
5987
|
+
instrumentationTracker.registerHandler(context.instrumentationId, 'onestore-inflight-network-request', () => {
|
|
5988
|
+
// return false until we signal we are finished
|
|
5989
|
+
return false;
|
|
5990
|
+
});
|
|
5991
|
+
}
|
|
5992
|
+
return resolvedPromiseLike$2(fetchArgs);
|
|
5993
|
+
};
|
|
5994
|
+
}
|
|
5995
|
+
|
|
5996
|
+
function createInstrumentationIdContext() {
|
|
5997
|
+
return () => ({
|
|
5998
|
+
instrumentationId: generateRequestId$1(),
|
|
5999
|
+
});
|
|
6000
|
+
}
|
|
6001
|
+
function createStartMark(requestId) {
|
|
6002
|
+
const startMark = markStart('transport', 'request');
|
|
6003
|
+
startMark.context = {
|
|
6004
|
+
auraXHRId: requestId,
|
|
6005
|
+
background: false,
|
|
6006
|
+
actionDefs: ['lds-fetch'],
|
|
6007
|
+
requestId,
|
|
6008
|
+
requestLength: -1, // not known
|
|
6009
|
+
};
|
|
6010
|
+
}
|
|
6011
|
+
|
|
6012
|
+
function buildPageScopedCacheRequestInterceptor() {
|
|
6013
|
+
return async (fetchArgs) => {
|
|
6014
|
+
const pageScopedCacheHeaders = {};
|
|
6015
|
+
// Allow the instrumentation util to set up the header value on our "dummy" header object
|
|
6016
|
+
pageScopedCache.addHeader(pageScopedCacheHeaders);
|
|
6017
|
+
let returnedFetchArgs = fetchArgs;
|
|
6018
|
+
// If it set a value, add it to our fetchParams
|
|
6019
|
+
Object.entries(pageScopedCacheHeaders).forEach(([key, value]) => {
|
|
6020
|
+
returnedFetchArgs = setHeader(key, value, returnedFetchArgs);
|
|
6021
|
+
});
|
|
6022
|
+
return resolvedPromiseLike$2(returnedFetchArgs);
|
|
6023
|
+
};
|
|
6024
|
+
}
|
|
6025
|
+
|
|
6026
|
+
const SFDC_REQUEST_ID_KEY = 'X-SFDC-Request-Id';
|
|
6027
|
+
function buildTransportMarksSendInterceptor() {
|
|
6028
|
+
return async (fetchArgs, context) => {
|
|
6029
|
+
// 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
|
|
6030
|
+
if (context && context.instrumentationId) {
|
|
6031
|
+
const requestId = context.instrumentationId;
|
|
6032
|
+
fetchArgs = setHeader(SFDC_REQUEST_ID_KEY, requestId, fetchArgs);
|
|
6033
|
+
createStartMark(requestId);
|
|
6034
|
+
}
|
|
6035
|
+
return resolvedPromiseLike$2(fetchArgs);
|
|
6036
|
+
};
|
|
6037
|
+
}
|
|
6038
|
+
|
|
6039
|
+
function buildTransportMarksReceiveInterceptor() {
|
|
6040
|
+
return async (context) => {
|
|
6041
|
+
if (context && context.instrumentationId) {
|
|
6042
|
+
markEnd('transport', 'request', { auraXHRId: context.instrumentationId });
|
|
6043
|
+
}
|
|
6044
|
+
};
|
|
6045
|
+
}
|
|
6046
|
+
|
|
5975
6047
|
const DEFAULT_CONFIG$1 = {
|
|
5976
6048
|
maxRetries: 1, // Only retry once after token refresh
|
|
5977
6049
|
};
|
|
@@ -6075,15 +6147,21 @@ async function isCsrfError(response) {
|
|
|
6075
6147
|
|
|
6076
6148
|
function buildLexRuntimeDefaultFetchServiceDescriptor(logger, retryService) {
|
|
6077
6149
|
const fetchService = buildLexConnectFetchServiceDescriptor({
|
|
6150
|
+
createContext: createInstrumentationIdContext(),
|
|
6078
6151
|
request: [
|
|
6152
|
+
buildThirdPartyTrackerRegisterInterceptor(),
|
|
6079
6153
|
buildPageScopedCacheRequestInterceptor(),
|
|
6080
|
-
|
|
6154
|
+
buildTransportMarksSendInterceptor(),
|
|
6081
6155
|
buildCsrfTokenInterceptor(),
|
|
6082
6156
|
],
|
|
6083
6157
|
response: [
|
|
6084
6158
|
buildLexRuntime5xxStatusResponseInterceptor(logger),
|
|
6085
6159
|
buildLexRuntimeAuthExpirationRedirectResponseInterceptor(logger),
|
|
6086
6160
|
],
|
|
6161
|
+
finally: [
|
|
6162
|
+
buildTransportMarksReceiveInterceptor(),
|
|
6163
|
+
buildThirdPartyTrackerFinishInterceptor(),
|
|
6164
|
+
],
|
|
6087
6165
|
}, retryService);
|
|
6088
6166
|
return {
|
|
6089
6167
|
...fetchService,
|
|
@@ -6091,30 +6169,34 @@ function buildLexRuntimeDefaultFetchServiceDescriptor(logger, retryService) {
|
|
|
6091
6169
|
}
|
|
6092
6170
|
function buildLexRuntimeAllow5xxFetchServiceDescriptor(logger, retryService) {
|
|
6093
6171
|
const fetchService = buildLexConnectFetchServiceDescriptor({
|
|
6172
|
+
createContext: createInstrumentationIdContext(),
|
|
6094
6173
|
request: [
|
|
6174
|
+
buildThirdPartyTrackerRegisterInterceptor(),
|
|
6095
6175
|
buildPageScopedCacheRequestInterceptor(),
|
|
6096
|
-
|
|
6176
|
+
buildTransportMarksSendInterceptor(),
|
|
6097
6177
|
buildCsrfTokenInterceptor(),
|
|
6098
6178
|
],
|
|
6099
6179
|
response: [buildLexRuntimeAuthExpirationRedirectResponseInterceptor(logger)],
|
|
6180
|
+
finally: [
|
|
6181
|
+
buildTransportMarksReceiveInterceptor(),
|
|
6182
|
+
buildThirdPartyTrackerFinishInterceptor(),
|
|
6183
|
+
],
|
|
6100
6184
|
}, retryService);
|
|
6101
6185
|
return {
|
|
6102
6186
|
...fetchService,
|
|
6103
6187
|
tags: { interceptors: 'allow_500s' },
|
|
6104
6188
|
};
|
|
6105
6189
|
}
|
|
6106
|
-
|
|
6190
|
+
// Temporarily cloned from conduit fetch until the retry service is updated there
|
|
6191
|
+
function buildLexConnectFetchServiceDescriptor(interceptors = { request: [], response: [], finally: [] }, retryService) {
|
|
6107
6192
|
return {
|
|
6108
6193
|
type: 'fetch',
|
|
6109
6194
|
version: '1.0',
|
|
6110
6195
|
service: function (...args) {
|
|
6111
|
-
|
|
6112
|
-
const
|
|
6113
|
-
const
|
|
6114
|
-
|
|
6115
|
-
// return false until we signal we are finished
|
|
6116
|
-
return false;
|
|
6117
|
-
});
|
|
6196
|
+
// Create context per request if factory is provided
|
|
6197
|
+
const context = interceptors.createContext?.();
|
|
6198
|
+
const { request: requestInterceptors = [], response: responseInterceptors = [], finally: finallyInterceptors = [], } = interceptors;
|
|
6199
|
+
const pending = requestInterceptors.reduce((previousPromise, interceptor) => previousPromise.then((args) => interceptor(args, context)), resolvedPromiseLike$2(args));
|
|
6118
6200
|
return Promise.resolve(pending)
|
|
6119
6201
|
.then((interceptedArgs) => {
|
|
6120
6202
|
if (retryService) {
|
|
@@ -6141,10 +6223,15 @@ function buildLexConnectFetchServiceDescriptor(interceptors = { request: [], res
|
|
|
6141
6223
|
return fetch(...interceptedArgs);
|
|
6142
6224
|
})
|
|
6143
6225
|
.then((response) => {
|
|
6144
|
-
|
|
6226
|
+
// Success path - run response interceptors
|
|
6227
|
+
return responseInterceptors.reduce((previousPromise, interceptor) => previousPromise.then((response) => interceptor(response, context)), resolvedPromiseLike$2(response));
|
|
6145
6228
|
})
|
|
6146
6229
|
.finally(() => {
|
|
6147
|
-
|
|
6230
|
+
// Always run finally interceptors for cleanup
|
|
6231
|
+
if (finallyInterceptors.length > 0) {
|
|
6232
|
+
// Run all finally interceptors sequentially
|
|
6233
|
+
return finallyInterceptors.reduce((previousPromise, interceptor) => previousPromise.then(() => interceptor(context)), Promise.resolve());
|
|
6234
|
+
}
|
|
6148
6235
|
});
|
|
6149
6236
|
},
|
|
6150
6237
|
};
|
|
@@ -6155,7 +6242,9 @@ const sfapJwtRepository = new JwtRepository();
|
|
|
6155
6242
|
const sfapJwtManager = new JwtManager(sfapJwtRepository, platformSfapJwtResolver);
|
|
6156
6243
|
function buildJwtAuthorizedSfapFetchServiceDescriptor(logger) {
|
|
6157
6244
|
const jwtAuthorizedFetchService = buildLexConnectFetchServiceDescriptor({
|
|
6158
|
-
|
|
6245
|
+
createContext: createInstrumentationIdContext(),
|
|
6246
|
+
request: [buildThirdPartyTrackerRegisterInterceptor(), buildJwtRequestInterceptor(logger)],
|
|
6247
|
+
finally: [buildThirdPartyTrackerFinishInterceptor()],
|
|
6159
6248
|
});
|
|
6160
6249
|
return {
|
|
6161
6250
|
...jwtAuthorizedFetchService,
|
|
@@ -6174,7 +6263,9 @@ function buildCopilotFetchServiceDescriptor(logger) {
|
|
|
6174
6263
|
// Interceptor here with the logic in buildJwtAuthorizedSfapFetchServiceDescriptor()
|
|
6175
6264
|
// above.
|
|
6176
6265
|
...buildLexConnectFetchServiceDescriptor({
|
|
6266
|
+
createContext: createInstrumentationIdContext(),
|
|
6177
6267
|
request: [
|
|
6268
|
+
buildThirdPartyTrackerRegisterInterceptor(),
|
|
6178
6269
|
// Note that this function is VERY closely tied to the fetchParams generated
|
|
6179
6270
|
// by copilotStartSessionCommand. Any changes to those parameters will require
|
|
6180
6271
|
// corresponding updates to the logic below.
|
|
@@ -6214,12 +6305,17 @@ function buildCopilotFetchServiceDescriptor(logger) {
|
|
|
6214
6305
|
},
|
|
6215
6306
|
buildJwtRequestInterceptor(logger),
|
|
6216
6307
|
],
|
|
6308
|
+
finally: [buildThirdPartyTrackerFinishInterceptor()],
|
|
6217
6309
|
}),
|
|
6218
6310
|
tags: { specialHacksFor: 'copilot' },
|
|
6219
6311
|
};
|
|
6220
6312
|
}
|
|
6221
6313
|
function buildUnauthorizedFetchServiceDescriptor() {
|
|
6222
|
-
const fetchService = buildLexConnectFetchServiceDescriptor(
|
|
6314
|
+
const fetchService = buildLexConnectFetchServiceDescriptor({
|
|
6315
|
+
createContext: createInstrumentationIdContext(),
|
|
6316
|
+
request: [buildThirdPartyTrackerRegisterInterceptor()],
|
|
6317
|
+
finally: [buildThirdPartyTrackerFinishInterceptor()],
|
|
6318
|
+
});
|
|
6223
6319
|
return {
|
|
6224
6320
|
...fetchService,
|
|
6225
6321
|
tags: { authenticationScopes: '' },
|
|
@@ -9664,8 +9760,8 @@ function initializeOneStore(luvio) {
|
|
|
9664
9760
|
buildServiceDescriptor$2$1(),
|
|
9665
9761
|
buildServiceDescriptor$1$1(),
|
|
9666
9762
|
buildServiceDescriptor$7(),
|
|
9667
|
-
|
|
9668
|
-
|
|
9763
|
+
buildLWCWireBindingsServiceDescriptor(),
|
|
9764
|
+
buildLWCGraphQLWireBindingsServiceDescriptor(),
|
|
9669
9765
|
];
|
|
9670
9766
|
setServices(services);
|
|
9671
9767
|
}
|
|
@@ -9685,4 +9781,4 @@ function ldsEngineCreator() {
|
|
|
9685
9781
|
}
|
|
9686
9782
|
|
|
9687
9783
|
export { LexRequestStrategy, PdlRequestPriority, buildPredictorForContext, ldsEngineCreator as default, initializeLDS, initializeOneStore, notifyUpdateAvailableFactory, registerRequestStrategy, saveRequestAsPrediction, unregisterRequestStrategy, whenPredictionsReady };
|
|
9688
|
-
// version: 1.
|
|
9784
|
+
// version: 1.403.0-bc09fbc54b
|
|
@@ -10,8 +10,8 @@ export declare function gauge(): {
|
|
|
10
10
|
reset(): void;
|
|
11
11
|
};
|
|
12
12
|
export declare function mark(): void;
|
|
13
|
-
export declare function markStart():
|
|
14
|
-
export declare function markEnd():
|
|
13
|
+
export declare function markStart(): {};
|
|
14
|
+
export declare function markEnd(): {};
|
|
15
15
|
export declare function perfStart(): void;
|
|
16
16
|
export declare function perfEnd(): void;
|
|
17
17
|
export declare function percentileHistogram(): {
|
|
@@ -3,4 +3,4 @@ import { Interceptors, type FetchServiceDescriptor } from '@conduit-client/servi
|
|
|
3
3
|
import { RetryService } from '@conduit-client/service-retry/v1';
|
|
4
4
|
export declare function buildLexRuntimeDefaultFetchServiceDescriptor(logger: LoggerService, retryService?: RetryService<Response>): FetchServiceDescriptor;
|
|
5
5
|
export declare function buildLexRuntimeAllow5xxFetchServiceDescriptor(logger: LoggerService, retryService?: RetryService<Response>): FetchServiceDescriptor;
|
|
6
|
-
export declare function buildLexConnectFetchServiceDescriptor(interceptors?: Interceptors
|
|
6
|
+
export declare function buildLexConnectFetchServiceDescriptor<Context = any>(interceptors?: Interceptors<Context>, retryService?: RetryService<Response>): FetchServiceDescriptor;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { LWCWireBindingsServiceDescriptor, LWCGraphQLWireBindingsServiceDescriptor } from '@conduit-client/service-bindings-lwc/v1';
|
|
2
|
+
export declare function buildLWCWireBindingsServiceDescriptor(): LWCWireBindingsServiceDescriptor;
|
|
3
|
+
export declare function buildLWCGraphQLWireBindingsServiceDescriptor(): LWCGraphQLWireBindingsServiceDescriptor;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { RequestInterceptor } from '@conduit-client/service-fetch-network/v1';
|
|
2
|
+
import { ResourceRequest } from '@luvio/engine';
|
|
3
|
+
export declare const SFDC_REQUEST_ID_KEY = "X-SFDC-Request-Id";
|
|
4
|
+
export declare function buildTransportMarksSendInterceptor(): RequestInterceptor;
|
|
5
|
+
export declare function buildLuvioTransportMarksSendInterceptor(): (resourceRequest: ResourceRequest, context?: any) => PromiseLike<ResourceRequest>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/lds-runtime-aura",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.403.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"description": "LDS engine for Aura runtime",
|
|
6
6
|
"main": "dist/ldsEngineCreator.js",
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@conduit-client/service-provisioner": "3.2.0",
|
|
38
38
|
"@conduit-client/tools-core": "3.2.0",
|
|
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.
|
|
39
|
+
"@salesforce/lds-adapters-apex": "^1.403.0",
|
|
40
|
+
"@salesforce/lds-adapters-uiapi": "^1.403.0",
|
|
41
|
+
"@salesforce/lds-ads-bridge": "^1.403.0",
|
|
42
|
+
"@salesforce/lds-aura-storage": "^1.403.0",
|
|
43
|
+
"@salesforce/lds-bindings": "^1.403.0",
|
|
44
|
+
"@salesforce/lds-instrumentation": "^1.403.0",
|
|
45
|
+
"@salesforce/lds-network-aura": "^1.403.0",
|
|
46
|
+
"@salesforce/lds-network-fetch": "^1.403.0",
|
|
47
47
|
"jwt-encode": "1.0.1"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
@@ -71,10 +71,10 @@
|
|
|
71
71
|
"@luvio/network-adapter-composable": "0.158.7",
|
|
72
72
|
"@luvio/network-adapter-fetch": "0.158.7",
|
|
73
73
|
"@lwc/state": "^0.23.0",
|
|
74
|
-
"@salesforce/lds-adapters-onestore-graphql": "^1.
|
|
75
|
-
"@salesforce/lds-adapters-uiapi-lex": "^1.
|
|
76
|
-
"@salesforce/lds-luvio-service": "^1.
|
|
77
|
-
"@salesforce/lds-luvio-uiapi-records-service": "^1.
|
|
74
|
+
"@salesforce/lds-adapters-onestore-graphql": "^1.403.0",
|
|
75
|
+
"@salesforce/lds-adapters-uiapi-lex": "^1.403.0",
|
|
76
|
+
"@salesforce/lds-luvio-service": "^1.403.0",
|
|
77
|
+
"@salesforce/lds-luvio-uiapi-records-service": "^1.403.0"
|
|
78
78
|
},
|
|
79
79
|
"luvioBundlesize": [
|
|
80
80
|
{
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { RequestInterceptor } from '@conduit-client/service-fetch-network/v1';
|
|
2
|
-
import { ResourceRequest } from '@luvio/engine';
|
|
3
|
-
export declare function buildRequestIdInterceptor(): RequestInterceptor;
|
|
4
|
-
export declare function buildLuvioRequestIdInterceptor(): (resourceRequest: ResourceRequest) => PromiseLike<ResourceRequest>;
|