@salesforce/lds-runtime-aura 1.402.0 → 1.404.0-dev1

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.
@@ -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 { pageScopedCache } from 'instrumentation/utility';
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.402.0-566b6c5389
2669
+ // version: 1.404.0-dev1-9582436c8f
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.402.0-566b6c5389
3007
+ // version: 1.404.0-dev1-9582436c8f
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.402.0-566b6c5389
4710
+ // version: 1.404.0-dev1-9582436c8f
4869
4711
 
4870
4712
  /**
4871
4713
  * Observability / Critical Availability Program (230+)
@@ -5689,35 +5531,338 @@ function buildLuvioPageScopedCacheRequestInterceptor() {
5689
5531
  };
5690
5532
  }
5691
5533
 
5692
- const REQUEST_ID_KEY = 'X-SFDC-Request-Id';
5693
- function buildRequestIdInterceptor() {
5694
- return async (fetchArgs) => {
5695
- fetchArgs = setHeader(REQUEST_ID_KEY, generateRequestId$1(), fetchArgs);
5696
- return resolvedPromiseLike$2(fetchArgs);
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 buildLuvioRequestIdInterceptor() {
5700
- return (resourceRequest) => {
5701
- // Ensure headers object exists
5702
- if (!resourceRequest.headers) {
5703
- resourceRequest.headers = {};
5704
- }
5705
- // Don't overwrite request id header if it already exists
5706
- if (!resourceRequest.headers[REQUEST_ID_KEY]) {
5707
- resourceRequest.headers[REQUEST_ID_KEY] = generateRequestId$1();
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
+ }
5708
5562
  }
5709
- return resolvedPromiseLike$2(resourceRequest);
5563
+ return response;
5710
5564
  };
5711
5565
  }
5712
5566
 
5713
- const CSRF_TOKEN_KEY = 'salesforce_csrf_token';
5714
- const CSRF_STORAGE_NAME = 'ldsCSRFToken';
5715
- const CSRF_STORAGE_CONFIG = {
5716
- name: CSRF_STORAGE_NAME,
5717
- persistent: true,
5718
- secure: true,
5719
- maxSize: 1024,
5720
- expiration: 24 * 60 * 60,
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
+ }
5585
+ }
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;
5715
+ };
5716
+ }
5717
+
5718
+ const API_PATHS = [
5719
+ // getLookupActions
5720
+ // '/ui-api/actions/lookup/{objectApiNames}',
5721
+ // getRecordActions
5722
+ // '/ui-api/actions/record/{recordIds}',
5723
+ // getRelatedListActions
5724
+ // '/ui-api/actions/record/{recordIds}/related-list/{relatedListId}',
5725
+ // getDuplicateConfiguration
5726
+ // '/ui-api/duplicates/{objectApiName}',
5727
+ // getListInfosByObjectName
5728
+ // '/ui-api/list-info/{objectApiName}',
5729
+ // getLookupRecords
5730
+ // '/ui-api/lookups/{objectApiName}/{fieldApiName}',
5731
+ // getObjectInfo
5732
+ '/ui-api/object-info/{objectApiName}',
5733
+ // getObjectInfos
5734
+ // '/ui-api/object-info/batch/{objectApiNames}',
5735
+ // getPicklistValuesByRecordType
5736
+ // '/ui-api/object-info/{objectApiName}/picklist-values/{recordTypeId}',
5737
+ // getDuplicates
5738
+ // '/ui-api/predupe',
5739
+ // getRecord
5740
+ // '/ui-api/records/{recordId}',
5741
+ // getRecordUi
5742
+ // '/ui-api/record-ui/{recordIds}',
5743
+ // getRelatedListInfo
5744
+ // '/ui-api/related-list-info/{parentObjectApiName}/{relatedListId}',
5745
+ // getRelatedListRecords
5746
+ // '/ui-api/related-list-records/{parentRecordId}/{relatedListId}',
5747
+ ];
5748
+ const API_PATH_MATCHERS = API_PATHS.map((path) => {
5749
+ const regexString = path.replace(/\{.+?\}/g, '[^/]+');
5750
+ return new RegExp(`^${regexString}$`);
5751
+ });
5752
+ const requestTracker = {
5753
+ hasTracker: () => ThirdPartyTracker !== undefined,
5754
+ registerHandler: (request, name, loadedCheck) => {
5755
+ ThirdPartyTracker.registerHandler(request, name, loadedCheck);
5756
+ },
5757
+ markFinished: (request) => {
5758
+ ThirdPartyTracker.markLoaded(request);
5759
+ },
5760
+ };
5761
+ const instrumentationTracker = requestTracker && requestTracker.hasTracker() ? requestTracker : internalRequestTracker;
5762
+ const requestLogger = {
5763
+ resolve: (request, response = {}) => {
5764
+ checkAndLogCrudInteraction(request, true, null, response);
5765
+ },
5766
+ reject: (request, error) => {
5767
+ checkAndLogCrudInteraction(request, false, error);
5768
+ },
5769
+ };
5770
+ const composedFetchNetworkAdapter = {
5771
+ shouldHandleRequest(resourceRequest) {
5772
+ let path = resourceRequest.basePath.trim();
5773
+ if (path.endsWith('/')) {
5774
+ path = path.substring(0, path.length - 1);
5775
+ }
5776
+ return API_PATH_MATCHERS.some((matcher) => matcher.test(path));
5777
+ },
5778
+ adapter: setupLexNetworkAdapter(requestTracker, requestLogger, {
5779
+ request: [buildLuvioPageScopedCacheRequestInterceptor()],
5780
+ response: [
5781
+ buildLexRuntimeLuvio5xxStatusResponseInterceptor(),
5782
+ buildLexRuntimeLuvioAuthExpirationRedirectResponseInterceptor(),
5783
+ ],
5784
+ }),
5785
+ };
5786
+
5787
+ function buildThirdPartyTrackerFinishInterceptor() {
5788
+ return async (context) => {
5789
+ if (context && context.instrumentationId) {
5790
+ instrumentationTracker.markFinished(context.instrumentationId);
5791
+ }
5792
+ };
5793
+ }
5794
+
5795
+ function buildThirdPartyTrackerRegisterInterceptor() {
5796
+ return async (fetchArgs, context) => {
5797
+ if (context && context.instrumentationId) {
5798
+ instrumentationTracker.registerHandler(context.instrumentationId, 'onestore-inflight-network-request', () => {
5799
+ // return false until we signal we are finished
5800
+ return false;
5801
+ });
5802
+ }
5803
+ return resolvedPromiseLike$2(fetchArgs);
5804
+ };
5805
+ }
5806
+
5807
+ function createInstrumentationIdContext() {
5808
+ return () => ({
5809
+ instrumentationId: generateRequestId$1(),
5810
+ });
5811
+ }
5812
+ function createStartMark(requestId) {
5813
+ const startMark = markStart('transport', 'request');
5814
+ startMark.context = {
5815
+ auraXHRId: requestId,
5816
+ background: false,
5817
+ actionDefs: ['lds-fetch'],
5818
+ requestId,
5819
+ requestLength: -1, // not known
5820
+ };
5821
+ }
5822
+
5823
+ function buildPageScopedCacheRequestInterceptor() {
5824
+ return async (fetchArgs) => {
5825
+ const pageScopedCacheHeaders = {};
5826
+ // Allow the instrumentation util to set up the header value on our "dummy" header object
5827
+ pageScopedCache.addHeader(pageScopedCacheHeaders);
5828
+ let returnedFetchArgs = fetchArgs;
5829
+ // If it set a value, add it to our fetchParams
5830
+ Object.entries(pageScopedCacheHeaders).forEach(([key, value]) => {
5831
+ returnedFetchArgs = setHeader(key, value, returnedFetchArgs);
5832
+ });
5833
+ return resolvedPromiseLike$2(returnedFetchArgs);
5834
+ };
5835
+ }
5836
+
5837
+ const SFDC_REQUEST_ID_KEY = 'X-SFDC-Request-Id';
5838
+ function buildTransportMarksSendInterceptor() {
5839
+ return async (fetchArgs, context) => {
5840
+ // 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
5841
+ if (context && context.instrumentationId) {
5842
+ const requestId = context.instrumentationId;
5843
+ fetchArgs = setHeader(SFDC_REQUEST_ID_KEY, requestId, fetchArgs);
5844
+ createStartMark(requestId);
5845
+ }
5846
+ return resolvedPromiseLike$2(fetchArgs);
5847
+ };
5848
+ }
5849
+
5850
+ function buildTransportMarksReceiveInterceptor() {
5851
+ return async (context) => {
5852
+ if (context && context.instrumentationId) {
5853
+ markEnd('transport', 'request', { auraXHRId: context.instrumentationId });
5854
+ }
5855
+ };
5856
+ }
5857
+
5858
+ const CSRF_TOKEN_KEY = 'salesforce_csrf_token';
5859
+ const CSRF_STORAGE_NAME = 'ldsCSRFToken';
5860
+ const CSRF_STORAGE_CONFIG = {
5861
+ name: CSRF_STORAGE_NAME,
5862
+ persistent: true,
5863
+ secure: true,
5864
+ maxSize: 1024,
5865
+ expiration: 24 * 60 * 60,
5721
5866
  clearOnInit: false,
5722
5867
  debugLogging: false,
5723
5868
  };
@@ -5824,154 +5969,6 @@ class CsrfTokenManager {
5824
5969
  }
5825
5970
  CsrfTokenManager.instance = null;
5826
5971
 
5827
- const CSRF_TOKEN_HEADER = 'X-CSRF-Token';
5828
- /**
5829
- * Determines if the HTTP method requires CSRF protection.
5830
- * Only mutating operations (POST, PUT, PATCH, DELETE) require CSRF tokens.
5831
- *
5832
- * @param method - The HTTP method to check
5833
- * @returns true if the method requires CSRF protection
5834
- */
5835
- function isCsrfMethod(method) {
5836
- if (!method) {
5837
- return false;
5838
- }
5839
- const normalizedMethod = method.toLowerCase();
5840
- return (normalizedMethod === 'post' ||
5841
- normalizedMethod === 'put' ||
5842
- normalizedMethod === 'patch' ||
5843
- normalizedMethod === 'delete');
5844
- }
5845
- /**
5846
- * Builds a request interceptor that adds CSRF token headers to mutating requests.
5847
- * The CSRF token is fetched once and cached for subsequent requests.
5848
- * Only POST, PUT, PATCH, and DELETE requests will have the CSRF token added.
5849
- *
5850
- * @returns A RequestInterceptor function for FetchParameters
5851
- */
5852
- function buildCsrfTokenInterceptor() {
5853
- const csrfTokenManager = CsrfTokenManager.getInstance();
5854
- return async (fetchArgs) => {
5855
- const [urlOrRequest, options] = fetchArgs;
5856
- // Determine the method from either Request object or options
5857
- let method;
5858
- if (typeof urlOrRequest !== 'string' && 'method' in urlOrRequest) {
5859
- method = urlOrRequest.method;
5860
- }
5861
- else if (options && 'method' in options) {
5862
- method = options.method;
5863
- }
5864
- // Only add CSRF token for mutating operations
5865
- if (isCsrfMethod(method)) {
5866
- const token = await csrfTokenManager.getToken();
5867
- if (token) {
5868
- fetchArgs = setHeader(CSRF_TOKEN_HEADER, token, fetchArgs);
5869
- }
5870
- }
5871
- return resolvedPromiseLike$2(fetchArgs);
5872
- };
5873
- }
5874
- /**
5875
- * Builds a Luvio request interceptor that adds CSRF token headers to mutating requests.
5876
- * The CSRF token is fetched once and cached for subsequent requests.
5877
- * Only POST, PUT, PATCH, and DELETE requests will have the CSRF token added.
5878
- *
5879
- * @returns A request interceptor function for Luvio ResourceRequest objects
5880
- */
5881
- function buildLuvioCsrfTokenInterceptor() {
5882
- const csrfTokenManager = CsrfTokenManager.getInstance();
5883
- return async (resourceRequest) => {
5884
- // Ensure headers object exists
5885
- if (!resourceRequest.headers) {
5886
- resourceRequest.headers = {};
5887
- }
5888
- // Only add CSRF token for mutating operations
5889
- if (isCsrfMethod(resourceRequest.method)) {
5890
- // Don't overwrite existing CSRF token header if it already exists
5891
- if (!resourceRequest.headers[CSRF_TOKEN_HEADER]) {
5892
- const token = await csrfTokenManager.getToken();
5893
- if (token) {
5894
- resourceRequest.headers[CSRF_TOKEN_HEADER] = token;
5895
- }
5896
- }
5897
- }
5898
- return resolvedPromiseLike$2(resourceRequest);
5899
- };
5900
- }
5901
-
5902
- const API_PATHS = [
5903
- // getLookupActions
5904
- // '/ui-api/actions/lookup/{objectApiNames}',
5905
- // getRecordActions
5906
- // '/ui-api/actions/record/{recordIds}',
5907
- // getRelatedListActions
5908
- // '/ui-api/actions/record/{recordIds}/related-list/{relatedListId}',
5909
- // getDuplicateConfiguration
5910
- // '/ui-api/duplicates/{objectApiName}',
5911
- // getListInfosByObjectName
5912
- // '/ui-api/list-info/{objectApiName}',
5913
- // getLookupRecords
5914
- // '/ui-api/lookups/{objectApiName}/{fieldApiName}',
5915
- // getObjectInfo
5916
- '/ui-api/object-info/{objectApiName}',
5917
- // getObjectInfos
5918
- // '/ui-api/object-info/batch/{objectApiNames}',
5919
- // getPicklistValuesByRecordType
5920
- // '/ui-api/object-info/{objectApiName}/picklist-values/{recordTypeId}',
5921
- // getDuplicates
5922
- // '/ui-api/predupe',
5923
- // getRecord
5924
- // '/ui-api/records/{recordId}',
5925
- // getRecordUi
5926
- // '/ui-api/record-ui/{recordIds}',
5927
- // getRelatedListInfo
5928
- // '/ui-api/related-list-info/{parentObjectApiName}/{relatedListId}',
5929
- // getRelatedListRecords
5930
- // '/ui-api/related-list-records/{parentRecordId}/{relatedListId}',
5931
- ];
5932
- const API_PATH_MATCHERS = API_PATHS.map((path) => {
5933
- const regexString = path.replace(/\{.+?\}/g, '[^/]+');
5934
- return new RegExp(`^${regexString}$`);
5935
- });
5936
- const requestTracker = {
5937
- hasTracker: () => ThirdPartyTracker !== undefined,
5938
- registerHandler: (request, name, loadedCheck) => {
5939
- ThirdPartyTracker.registerHandler(request, name, loadedCheck);
5940
- },
5941
- markFinished: (request) => {
5942
- ThirdPartyTracker.markLoaded(request);
5943
- },
5944
- };
5945
- const instrumentationTracker = requestTracker && requestTracker.hasTracker() ? requestTracker : internalRequestTracker;
5946
- const requestLogger = {
5947
- resolve: (request, response = {}) => {
5948
- checkAndLogCrudInteraction(request, true, null, response);
5949
- },
5950
- reject: (request, error) => {
5951
- checkAndLogCrudInteraction(request, false, error);
5952
- },
5953
- };
5954
- const composedFetchNetworkAdapter = {
5955
- shouldHandleRequest(resourceRequest) {
5956
- let path = resourceRequest.basePath.trim();
5957
- if (path.endsWith('/')) {
5958
- path = path.substring(0, path.length - 1);
5959
- }
5960
- return API_PATH_MATCHERS.some((matcher) => matcher.test(path));
5961
- },
5962
- adapter: setupLexNetworkAdapter(requestTracker, requestLogger, {
5963
- request: [
5964
- buildLuvioPageScopedCacheRequestInterceptor(),
5965
- buildLuvioRequestIdInterceptor(),
5966
- buildLuvioCsrfTokenInterceptor(),
5967
- ],
5968
- response: [
5969
- buildLexRuntimeLuvio5xxStatusResponseInterceptor(),
5970
- buildLexRuntimeLuvioAuthExpirationRedirectResponseInterceptor(),
5971
- ],
5972
- }),
5973
- };
5974
-
5975
5972
  const DEFAULT_CONFIG$1 = {
5976
5973
  maxRetries: 1, // Only retry once after token refresh
5977
5974
  };
@@ -6075,15 +6072,20 @@ async function isCsrfError(response) {
6075
6072
 
6076
6073
  function buildLexRuntimeDefaultFetchServiceDescriptor(logger, retryService) {
6077
6074
  const fetchService = buildLexConnectFetchServiceDescriptor({
6075
+ createContext: createInstrumentationIdContext(),
6078
6076
  request: [
6077
+ buildThirdPartyTrackerRegisterInterceptor(),
6079
6078
  buildPageScopedCacheRequestInterceptor(),
6080
- buildRequestIdInterceptor(),
6081
- buildCsrfTokenInterceptor(),
6079
+ buildTransportMarksSendInterceptor(),
6082
6080
  ],
6083
6081
  response: [
6084
6082
  buildLexRuntime5xxStatusResponseInterceptor(logger),
6085
6083
  buildLexRuntimeAuthExpirationRedirectResponseInterceptor(logger),
6086
6084
  ],
6085
+ finally: [
6086
+ buildTransportMarksReceiveInterceptor(),
6087
+ buildThirdPartyTrackerFinishInterceptor(),
6088
+ ],
6087
6089
  }, retryService);
6088
6090
  return {
6089
6091
  ...fetchService,
@@ -6091,30 +6093,33 @@ function buildLexRuntimeDefaultFetchServiceDescriptor(logger, retryService) {
6091
6093
  }
6092
6094
  function buildLexRuntimeAllow5xxFetchServiceDescriptor(logger, retryService) {
6093
6095
  const fetchService = buildLexConnectFetchServiceDescriptor({
6096
+ createContext: createInstrumentationIdContext(),
6094
6097
  request: [
6098
+ buildThirdPartyTrackerRegisterInterceptor(),
6095
6099
  buildPageScopedCacheRequestInterceptor(),
6096
- buildRequestIdInterceptor(),
6097
- buildCsrfTokenInterceptor(),
6100
+ buildTransportMarksSendInterceptor(),
6098
6101
  ],
6099
6102
  response: [buildLexRuntimeAuthExpirationRedirectResponseInterceptor(logger)],
6103
+ finally: [
6104
+ buildTransportMarksReceiveInterceptor(),
6105
+ buildThirdPartyTrackerFinishInterceptor(),
6106
+ ],
6100
6107
  }, retryService);
6101
6108
  return {
6102
6109
  ...fetchService,
6103
6110
  tags: { interceptors: 'allow_500s' },
6104
6111
  };
6105
6112
  }
6106
- function buildLexConnectFetchServiceDescriptor(interceptors = { request: [], response: [] }, retryService) {
6113
+ // Temporarily cloned from conduit fetch until the retry service is updated there
6114
+ function buildLexConnectFetchServiceDescriptor(interceptors = { request: [], response: [], finally: [] }, retryService) {
6107
6115
  return {
6108
6116
  type: 'fetch',
6109
6117
  version: '1.0',
6110
6118
  service: function (...args) {
6111
- const { request: requestInterceptors = [], response: responseInterceptors = [] } = interceptors;
6112
- const pending = requestInterceptors.reduce((previousPromise, interceptor) => previousPromise.then(interceptor), resolvedPromiseLike$2(args));
6113
- const trackerId = generateRequestId$1();
6114
- instrumentationTracker.registerHandler(trackerId, 'onestore-inflight-network-request', () => {
6115
- // return false until we signal we are finished
6116
- return false;
6117
- });
6119
+ // Create context per request if factory is provided
6120
+ const context = interceptors.createContext?.();
6121
+ const { request: requestInterceptors = [], response: responseInterceptors = [], finally: finallyInterceptors = [], } = interceptors;
6122
+ const pending = requestInterceptors.reduce((previousPromise, interceptor) => previousPromise.then((args) => interceptor(args, context)), resolvedPromiseLike$2(args));
6118
6123
  return Promise.resolve(pending)
6119
6124
  .then((interceptedArgs) => {
6120
6125
  if (retryService) {
@@ -6141,10 +6146,15 @@ function buildLexConnectFetchServiceDescriptor(interceptors = { request: [], res
6141
6146
  return fetch(...interceptedArgs);
6142
6147
  })
6143
6148
  .then((response) => {
6144
- return responseInterceptors.reduce((previousPromise, interceptor) => previousPromise.then(interceptor), resolvedPromiseLike$2(response));
6149
+ // Success path - run response interceptors
6150
+ return responseInterceptors.reduce((previousPromise, interceptor) => previousPromise.then((response) => interceptor(response, context)), resolvedPromiseLike$2(response));
6145
6151
  })
6146
6152
  .finally(() => {
6147
- instrumentationTracker.markFinished(trackerId);
6153
+ // Always run finally interceptors for cleanup
6154
+ if (finallyInterceptors.length > 0) {
6155
+ // Run all finally interceptors sequentially
6156
+ return finallyInterceptors.reduce((previousPromise, interceptor) => previousPromise.then(() => interceptor(context)), Promise.resolve());
6157
+ }
6148
6158
  });
6149
6159
  },
6150
6160
  };
@@ -6155,7 +6165,9 @@ const sfapJwtRepository = new JwtRepository();
6155
6165
  const sfapJwtManager = new JwtManager(sfapJwtRepository, platformSfapJwtResolver);
6156
6166
  function buildJwtAuthorizedSfapFetchServiceDescriptor(logger) {
6157
6167
  const jwtAuthorizedFetchService = buildLexConnectFetchServiceDescriptor({
6158
- request: [buildJwtRequestInterceptor(logger)],
6168
+ createContext: createInstrumentationIdContext(),
6169
+ request: [buildThirdPartyTrackerRegisterInterceptor(), buildJwtRequestInterceptor(logger)],
6170
+ finally: [buildThirdPartyTrackerFinishInterceptor()],
6159
6171
  });
6160
6172
  return {
6161
6173
  ...jwtAuthorizedFetchService,
@@ -6174,7 +6186,9 @@ function buildCopilotFetchServiceDescriptor(logger) {
6174
6186
  // Interceptor here with the logic in buildJwtAuthorizedSfapFetchServiceDescriptor()
6175
6187
  // above.
6176
6188
  ...buildLexConnectFetchServiceDescriptor({
6189
+ createContext: createInstrumentationIdContext(),
6177
6190
  request: [
6191
+ buildThirdPartyTrackerRegisterInterceptor(),
6178
6192
  // Note that this function is VERY closely tied to the fetchParams generated
6179
6193
  // by copilotStartSessionCommand. Any changes to those parameters will require
6180
6194
  // corresponding updates to the logic below.
@@ -6214,12 +6228,17 @@ function buildCopilotFetchServiceDescriptor(logger) {
6214
6228
  },
6215
6229
  buildJwtRequestInterceptor(logger),
6216
6230
  ],
6231
+ finally: [buildThirdPartyTrackerFinishInterceptor()],
6217
6232
  }),
6218
6233
  tags: { specialHacksFor: 'copilot' },
6219
6234
  };
6220
6235
  }
6221
6236
  function buildUnauthorizedFetchServiceDescriptor() {
6222
- const fetchService = buildLexConnectFetchServiceDescriptor();
6237
+ const fetchService = buildLexConnectFetchServiceDescriptor({
6238
+ createContext: createInstrumentationIdContext(),
6239
+ request: [buildThirdPartyTrackerRegisterInterceptor()],
6240
+ finally: [buildThirdPartyTrackerFinishInterceptor()],
6241
+ });
6223
6242
  return {
6224
6243
  ...fetchService,
6225
6244
  tags: { authenticationScopes: '' },
@@ -9664,8 +9683,8 @@ function initializeOneStore(luvio) {
9664
9683
  buildServiceDescriptor$2$1(),
9665
9684
  buildServiceDescriptor$1$1(),
9666
9685
  buildServiceDescriptor$7(),
9667
- buildServiceDescriptor$1(),
9668
- buildServiceDescriptor$2(),
9686
+ buildLWCWireBindingsServiceDescriptor(),
9687
+ buildLWCGraphQLWireBindingsServiceDescriptor(),
9669
9688
  ];
9670
9689
  setServices(services);
9671
9690
  }
@@ -9685,4 +9704,4 @@ function ldsEngineCreator() {
9685
9704
  }
9686
9705
 
9687
9706
  export { LexRequestStrategy, PdlRequestPriority, buildPredictorForContext, ldsEngineCreator as default, initializeLDS, initializeOneStore, notifyUpdateAvailableFactory, registerRequestStrategy, saveRequestAsPrediction, unregisterRequestStrategy, whenPredictionsReady };
9688
- // version: 1.402.0-bf9ae185ef
9707
+ // version: 1.404.0-dev1-48073cfce6
@@ -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(): void;
14
- export declare function markEnd(): void;
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, retryService?: RetryService<Response>): FetchServiceDescriptor;
6
+ export declare function buildLexConnectFetchServiceDescriptor<Context = any>(interceptors?: Interceptors<Context>, retryService?: RetryService<Response>): FetchServiceDescriptor;
@@ -0,0 +1,2 @@
1
+ import { FinallyInterceptor } from '@conduit-client/service-fetch-network/v1';
2
+ export declare function buildThirdPartyTrackerFinishInterceptor(): FinallyInterceptor;
@@ -0,0 +1,3 @@
1
+ import { FinallyInterceptor } from '@conduit-client/service-fetch-network/v1';
2
+ export declare function buildTransportMarksReceiveInterceptor(): FinallyInterceptor;
3
+ export declare function buildLuvioTransportMarksReceiveInterceptor(): FinallyInterceptor;
@@ -0,0 +1,4 @@
1
+ export declare function createInstrumentationIdContext(): () => {
2
+ instrumentationId: string;
3
+ };
4
+ export declare function createStartMark(requestId: string): void;
@@ -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,2 @@
1
+ import { RequestInterceptor } from '@conduit-client/service-fetch-network/v1';
2
+ export declare function buildThirdPartyTrackerRegisterInterceptor(): RequestInterceptor;
@@ -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.402.0",
3
+ "version": "1.404.0-dev1",
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.402.0",
40
- "@salesforce/lds-adapters-uiapi": "^1.402.0",
41
- "@salesforce/lds-ads-bridge": "^1.402.0",
42
- "@salesforce/lds-aura-storage": "^1.402.0",
43
- "@salesforce/lds-bindings": "^1.402.0",
44
- "@salesforce/lds-instrumentation": "^1.402.0",
45
- "@salesforce/lds-network-aura": "^1.402.0",
46
- "@salesforce/lds-network-fetch": "^1.402.0",
39
+ "@salesforce/lds-adapters-apex": "^1.404.0-dev1",
40
+ "@salesforce/lds-adapters-uiapi": "^1.404.0-dev1",
41
+ "@salesforce/lds-ads-bridge": "^1.404.0-dev1",
42
+ "@salesforce/lds-aura-storage": "^1.404.0-dev1",
43
+ "@salesforce/lds-bindings": "^1.404.0-dev1",
44
+ "@salesforce/lds-instrumentation": "^1.404.0-dev1",
45
+ "@salesforce/lds-network-aura": "^1.404.0-dev1",
46
+ "@salesforce/lds-network-fetch": "^1.404.0-dev1",
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.402.0",
75
- "@salesforce/lds-adapters-uiapi-lex": "^1.402.0",
76
- "@salesforce/lds-luvio-service": "^1.402.0",
77
- "@salesforce/lds-luvio-uiapi-records-service": "^1.402.0"
74
+ "@salesforce/lds-adapters-onestore-graphql": "^1.404.0-dev1",
75
+ "@salesforce/lds-adapters-uiapi-lex": "^1.404.0-dev1",
76
+ "@salesforce/lds-luvio-service": "^1.404.0-dev1",
77
+ "@salesforce/lds-luvio-uiapi-records-service": "^1.404.0-dev1"
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>;