@salesforce/lds-runtime-one-runtime 1.457.0 → 1.459.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.
@@ -28,7 +28,7 @@ import { dispatchGlobalEvent as dispatchGlobalEvent$1, executeGlobalControllerRa
28
28
  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';
29
29
  import { ThirdPartyTracker } from 'instrumentation:thirdPartyTracker';
30
30
  import { markStart, markEnd, counter, registerCacheStats, perfStart, perfEnd, registerPeriodicLogger, interaction, timer, mark } from 'instrumentation/service';
31
- import { instrument as instrument$2, setupLexNetworkAdapter } from 'force/ldsNetworkFetch';
31
+ import { instrument as instrument$2, isCsrfMethod, getFetchMethod, isRetryableMethod, isRetryableReadPost, compilePathMatchers, setupLexNetworkAdapter, UIAPI_PUBLIC_PATHS, UIAPI_PRIVATE_PATHS } from 'force/ldsNetworkFetch';
32
32
  import { REFRESH_ADAPTER_EVENT, ADAPTER_UNFULFILLED_ERROR, instrument as instrument$3 } from 'force/ldsBindings';
33
33
  import { stateManagerInstrumentation, OperationTypeValue, LRUCache, instrumentAdapter, instrumentLuvio, logMessage as logMessage$1, setupInstrumentation as setupInstrumentation$1, logObjectInfoChanged as logObjectInfoChanged$1, updatePercentileHistogramMetric, incrementCounterMetric, incrementGetRecordNotifyChangeAllowCount, incrementGetRecordNotifyChangeDropCount, incrementNotifyRecordUpdateAvailableAllowCount, incrementNotifyRecordUpdateAvailableDropCount, setLdsAdaptersUiapiInstrumentation, logError as logError$2, setLdsNetworkAdapterInstrumentation, executeAsyncActivity, METRIC_KEYS, onIdleDetected } from 'force/ldsInstrumentation';
34
34
  import { instrument as instrument$4 } from 'force/adsBridge';
@@ -2601,7 +2601,7 @@ function buildServiceDescriptor$d(luvio) {
2601
2601
  },
2602
2602
  };
2603
2603
  }
2604
- // version: 1.457.0-b38a7243f7
2604
+ // version: 1.459.0-414dbbb5aa
2605
2605
 
2606
2606
  class AuraGraphQLNormalizedCacheControlCommand extends AuraNormalizedCacheControlCommand {
2607
2607
  constructor(config, documentRootType, services) {
@@ -2940,7 +2940,7 @@ function buildServiceDescriptor$9(notifyRecordUpdateAvailable, getNormalizedLuvi
2940
2940
  },
2941
2941
  };
2942
2942
  }
2943
- // version: 1.457.0-b38a7243f7
2943
+ // version: 1.459.0-414dbbb5aa
2944
2944
 
2945
2945
  class RetryService {
2946
2946
  constructor(defaultRetryPolicy) {
@@ -5862,7 +5862,7 @@ function getEnvironmentSetting(name) {
5862
5862
  }
5863
5863
  return undefined;
5864
5864
  }
5865
- // version: 1.457.0-5118f3b372
5865
+ // version: 1.459.0-eda2fb69a9
5866
5866
 
5867
5867
  /**
5868
5868
  * Helpers for reaching the Aura framework from the LDS Aura runtime.
@@ -6467,23 +6467,6 @@ function areCsrfGatesEnabled() {
6467
6467
  return false;
6468
6468
  }
6469
6469
  }
6470
- /**
6471
- * Determines if the HTTP method requires CSRF protection.
6472
- * Only mutating operations (POST, PUT, PATCH, DELETE) require CSRF tokens.
6473
- *
6474
- * @param method - The HTTP method to check
6475
- * @returns true if the method requires CSRF protection
6476
- */
6477
- function isCsrfMethod(method) {
6478
- if (!method) {
6479
- return false;
6480
- }
6481
- const normalizedMethod = method.toLowerCase();
6482
- return (normalizedMethod === 'post' ||
6483
- normalizedMethod === 'put' ||
6484
- normalizedMethod === 'patch' ||
6485
- normalizedMethod === 'delete');
6486
- }
6487
6470
  /**
6488
6471
  * Builds a request interceptor that adds CSRF token headers to mutating requests.
6489
6472
  * The CSRF token is fetched once and cached for subsequent requests.
@@ -6497,17 +6480,8 @@ function buildCsrfTokenInterceptor() {
6497
6480
  if (!areCsrfGatesEnabled()) {
6498
6481
  return resolvedPromiseLike$2(fetchArgs);
6499
6482
  }
6500
- const [urlOrRequest, options] = fetchArgs;
6501
- // Determine the method from either Request object or options
6502
- let method;
6503
- if (typeof urlOrRequest !== 'string' && 'method' in urlOrRequest) {
6504
- method = urlOrRequest.method;
6505
- }
6506
- else if (options && 'method' in options) {
6507
- method = options.method;
6508
- }
6509
6483
  // Only add CSRF token for mutating operations
6510
- if (isCsrfMethod(method)) {
6484
+ if (isCsrfMethod(getFetchMethod(fetchArgs))) {
6511
6485
  const token = await getCsrfToken();
6512
6486
  if (token) {
6513
6487
  // eslint-disable-next-line no-param-reassign
@@ -6915,12 +6889,23 @@ const DEFAULT_CONFIG$2 = {
6915
6889
  jitterPercent: 0.5,
6916
6890
  };
6917
6891
  class LuvioFetchThrottlingRetryPolicy extends RetryPolicy {
6918
- constructor(config = DEFAULT_CONFIG$2) {
6892
+ // The request is read-only here: `shouldRetry` only inspects its `method` and
6893
+ // `basePath` to decide replay safety, and neither changes across retries. This
6894
+ // is why we take the plain `ResourceRequest` rather than the mutable-container
6895
+ // pattern the CSRF policy uses — that policy rewrites the request (new token)
6896
+ // between attempts; this one never mutates it.
6897
+ constructor(config = DEFAULT_CONFIG$2, request) {
6919
6898
  super();
6920
6899
  this.config = config;
6900
+ this.request = request;
6921
6901
  }
6922
6902
  async shouldRetry(result, context) {
6923
- return ((result.status === 429 || result.status === 503) &&
6903
+ // A request is safe to replay when it's a GET or when its path is a known
6904
+ // read issued over POST (e.g. GraphQL, aggregate-ui, search). Writes stay
6905
+ // non-retryable.
6906
+ return ((isRetryableMethod(this.request?.method) ||
6907
+ isRetryableReadPost(this.request?.basePath)) &&
6908
+ (result.status === 429 || result.status === 503) &&
6924
6909
  context.attempt < this.config.maxRetries &&
6925
6910
  context.totalElapsedMs <= this.config.maxTimeToRetry);
6926
6911
  }
@@ -6983,7 +6968,7 @@ function buildLuvioFetchRetryInterceptor() {
6983
6968
  return (request, doFetch) => {
6984
6969
  const csrfPolicy = new LuvioCsrfTokenRetryPolicy();
6985
6970
  const composedPolicy = new ComposedRetryPolicy([
6986
- new LuvioFetchThrottlingRetryPolicy(),
6971
+ new LuvioFetchThrottlingRetryPolicy(undefined, request),
6987
6972
  csrfPolicy,
6988
6973
  ]);
6989
6974
  const retryService = new RetryService(composedPolicy);
@@ -7094,192 +7079,10 @@ function buildLuvioActionMarksSendInterceptor() {
7094
7079
  };
7095
7080
  }
7096
7081
 
7097
- /**
7098
- * Public UIAPI url paths verified for HTTP transport.
7099
- *
7100
- * Inclusion criteria:
7101
- * 1. The path's underlying Connect resource does NOT carry
7102
- * `clientFilters=@ConnectClientFilters({@ConnectClientFilter(key = "UiTier")...})`.
7103
- * 2. LDS actually invokes this URL via a Luvio adapter wired into
7104
- * `ldsEngineCreator.js` (i.e. there is a corresponding `*AdapterFactory`
7105
- * import). Connect resources with no LDS adapter are intentionally
7106
- * excluded — adding them produces no traffic and just bloats the matcher.
7107
- *
7108
- * Where a single Connect resource exposes multiple URL shapes (e.g. a 4-segment
7109
- * GET form alongside a 3-segment POST form), all forms LDS adapters can hit at
7110
- * runtime are registered.
7111
- */
7112
- const UIAPI_PUBLIC_PATHS = [
7113
- // ----- Object Info -----
7114
- // getObjectInfo — IObjectInfoResource
7115
- '/ui-api/object-info/{objectApiName}',
7116
- // getObjectInfos (batch) — IObjectInfoBatchResource
7117
- '/ui-api/object-info/batch/{objectApiNames}',
7118
- // getPicklistValues — IPicklistValuesResource
7119
- '/ui-api/object-info/{objectApiName}/picklist-values/{recordTypeId}/{fieldApiName}',
7120
- // getPicklistValuesByRecordType — IPicklistValuesByRecordTypeResource
7121
- '/ui-api/object-info/{objectApiName}/picklist-values/{recordTypeId}',
7122
- // ----- Records -----
7123
- // createRecord (POST) — IRecordDataCollectionResource
7124
- '/ui-api/records',
7125
- // getRecord / updateRecord (PATCH) / deleteRecord (DELETE) — IRecordDataResource
7126
- '/ui-api/records/{recordId}',
7127
- // getRecords (batch GET) — IBatchRecordDataResource
7128
- '/ui-api/records/batch/{recordIds}',
7129
- // executeBatchRecordOperations (POST, no recordIds segment) — IBatchRecordResource
7130
- '/ui-api/records/batch',
7131
- // getRecordUi — IRecordUiResource
7132
- '/ui-api/record-ui/{recordIds}',
7133
- // ----- Layout -----
7134
- // getLayout — ILayoutResource
7135
- '/ui-api/layout/{objectApiName}',
7136
- // getPathLayout — IPathLayoutResource
7137
- '/ui-api/path/layout/{objectApiName}',
7138
- // ----- Record Defaults -----
7139
- // getRecordCreateDefaults — IRecordCreateDefaultsResource
7140
- '/ui-api/record-defaults/create/{objectApiName}',
7141
- // getRecordDefaultsTemplateForCreate — IRecordDefaultsTemplateCreateResource
7142
- '/ui-api/record-defaults/template/create/{objectApiName}',
7143
- // getRecordDefaultsTemplateClone — IRecordDefaultsTemplateCloneResource
7144
- '/ui-api/record-defaults/template/clone/{recordId}',
7145
- // ----- Duplicates -----
7146
- // getDuplicateConfig — IDuplicateConfigResource
7147
- '/ui-api/duplicates/{objectApiName}',
7148
- // findDuplicates (POST) — IPredupeResource
7149
- '/ui-api/predupe',
7150
- // ----- GraphQL -----
7151
- // executeGraphQL (POST) — IGraphQLResource (no /ui-api prefix)
7152
- '/graphql',
7153
- // ----- List UI -----
7154
- // getListUiByName (2-segment form) — IListUiResource212
7155
- '/ui-api/list-ui/{objectApiName}/{listViewApiName}',
7156
- // 1-segment form covers both:
7157
- // /ui-api/list-ui/{listViewId} — IListUiResource
7158
- // /ui-api/list-ui/{objectApiName} — IListCollectionResource
7159
- '/ui-api/list-ui/{objectApiNameOrListViewId}',
7160
- // getListInfoByName (GET) / updateListInfoByApiName (PATCH) / deleteListInfo (DELETE) — IListInfoResource
7161
- // (Also covers /ui-api/list-info/{listViewId} via shape collision.)
7162
- '/ui-api/list-info/{objectApiName}/{listViewApiName}',
7163
- // getListInfosByObjectName (GET) / createListInfo (POST) — IListInfoCreationAndCollectionResource
7164
- // (Also covers /ui-api/list-info/batch — IListInfoBatchResource — via shape collision.)
7165
- '/ui-api/list-info/{objectApiName}',
7166
- // getListObjectInfo — IListObjectInfoResource
7167
- '/ui-api/list-object-info/{objectApiName}',
7168
- // postListRecordsByName (POST) — IListRecordsResource
7169
- '/ui-api/list-records/{objectApiName}/{listViewApiName}',
7170
- // getListPreferences (GET) / updateListPreferences (PATCH) — IListPreferencesResource
7171
- '/ui-api/list-preferences/{objectApiName}/{listViewApiName}',
7172
- // ----- Related List UI -----
7173
- // getRelatedListInfo (GET) / updateRelatedListInfo (PATCH) — IRelatedListInfoResource
7174
- // (Also covers /ui-api/related-list-info/{parentRecordId}/{relatedListId} via shape collision.)
7175
- '/ui-api/related-list-info/{parentObjectApiName}/{relatedListId}',
7176
- // getRelatedListInfoBatch — IRelatedListInfoBatchResource
7177
- '/ui-api/related-list-info/batch/{parentObjectApiName}/{relatedListNames}',
7178
- // getRelatedListsInfo (collection) — IRelatedListInfoCollectionResource
7179
- '/ui-api/related-list-info/{parentObjectApiName}',
7180
- // postRelatedListRecords (POST) — IRelatedListRecordsResource
7181
- '/ui-api/related-list-records/{parentRecordId}/{relatedListId}',
7182
- // postRelatedListRecordsBatch (POST, 3-segment form) — IRelatedListRecordsBatchResource
7183
- '/ui-api/related-list-records/batch/{parentRecordId}',
7184
- // getRelatedListRecordsBatch (GET, 4-segment form) — IRelatedListRecordsBatchResource [newly added]
7185
- '/ui-api/related-list-records/batch/{parentRecordId}/{relatedListIds}',
7186
- // getRelatedListCount — IRelatedListRecordCountResource
7187
- '/ui-api/related-list-count/{parentRecordId}/{relatedListId}',
7188
- // getRelatedListsCount (batch) — IRelatedListRecordCountBatchResource
7189
- '/ui-api/related-list-count/batch/{parentRecordId}/{relatedListNames}',
7190
- // getRelatedListPreferences (GET) / updateRelatedListPreferences (PATCH) — IRelatedListPreferencesResource
7191
- '/ui-api/related-list-preferences/{preferencesId}',
7192
- // getRelatedListPreferencesBatch — IRelatedListPreferencesBatchResource
7193
- '/ui-api/related-list-preferences/batch/{preferencesIds}',
7194
- // ----- Actions -----
7195
- // getGlobalActions — IActionGlobalResource
7196
- '/ui-api/actions/global',
7197
- // getActionLayout — IActionLayoutResource
7198
- '/ui-api/actions/layout/{actionApiName}',
7199
- // getLookupActions — IActionLookupResource
7200
- '/ui-api/actions/lookup/{objectApiNames}',
7201
- // getObjectCreateActions — IActionObjectResource
7202
- '/ui-api/actions/object/{objectApiName}/record-create',
7203
- // getActionOverrides — IActionOverrideResource
7204
- '/ui-api/actions/overrides/{objectApiName}',
7205
- // performQuickAction (POST) / performUpdateRecordQuickAction (PATCH) — IActionPerformQuickActionResource
7206
- '/ui-api/actions/perform-quick-action/{actionApiName}',
7207
- // getQuickActionInfo — IActionQuickActionInfoResource
7208
- '/ui-api/actions/quick-action-info/{actionApiName}',
7209
- // getRecordActions — IActionRecordResource
7210
- '/ui-api/actions/record/{recordIds}',
7211
- // getRecordEditActions — IActionRecordEditResource
7212
- '/ui-api/actions/record/{recordIds}/record-edit',
7213
- // getAllRelatedListActionsForRecord (4-segment form) — IActionRelatedListResource [newly added]
7214
- '/ui-api/actions/record/{recordIds}/related-list',
7215
- // postRelatedListActions (POST) — IActionRelatedListResource
7216
- '/ui-api/actions/record/{recordIds}/related-list/{relatedListId}',
7217
- // postRelatedListsActions (POST) / getRelatedListsActions (GET, 5-segment form) — IActionRelatedListBatchResource
7218
- '/ui-api/actions/record/{recordIds}/related-list/batch',
7219
- // getRelatedListsActions (GET, 6-segment form) — IActionRelatedListBatchResource [newly added]
7220
- '/ui-api/actions/record/{recordIds}/related-list/batch/{relatedListIds}',
7221
- // getRelatedListRecordActions — IActionRelatedListRecordResource
7222
- '/ui-api/actions/record/{recordIds}/related-list-record/{relatedListRecordIds}',
7223
- // getQuickActionDefaults — IActionQuickActionDefaultsResource
7224
- '/ui-api/actions/record-defaults/{actionApiName}',
7225
- // getFlexipageFormulaOverrides — IActionFlexipageFormulaActivationResource
7226
- '/ui-api/actions/formula-activation/{actionFeature}',
7227
- // ----- Lookup / Search -----
7228
- // lookup (POST) — ILookupEntityResource
7229
- '/ui-api/lookups/{objectApiName}/{keyPrefix}/{targetApiName}',
7230
- // searchResults (POST) — ISearchResultsResource
7231
- '/ui-api/search/results',
7232
- // searchKeywordResults (POST) — IKeywordSearchResultsResource
7233
- '/ui-api/search/results/keyword',
7234
- // getSearchFilterMetadata — ISearchInfoFilterMetadataCollectionResource
7235
- '/ui-api/search-info/{objectApiName}/filters',
7236
- // getSearchFilterOptions — ISearchInfoFilterOptionsResource
7237
- '/ui-api/search-info/{objectApiName}/filters/{filterApiName}/options',
7238
- // getLookupMetadata — ILookupMetadataResource
7239
- '/ui-api/search-info/{objectApiName}/lookup/{fieldApiName}',
7240
- // ----- MRU Lists -----
7241
- // getMruListUi — IMruListUiResource
7242
- '/ui-api/mru-list-ui/{objectApiName}',
7243
- // getMruListRecords — IMruListRecordsResource
7244
- '/ui-api/mru-list-records/{objectApiName}',
7245
- // ----- Apps / Nav -----
7246
- // getNavItems — INavItemsResource
7247
- '/ui-api/nav-items',
7248
- // getAllApps — IAppsResource
7249
- '/ui-api/apps',
7250
- // getAppDetails — IAppResource
7251
- '/ui-api/apps/{appId}',
7252
- ];
7253
- /**
7254
- * Private UIAPI url paths gated by the private-endpoint gates per runtime.
7255
- *
7256
- * Inclusion criteria:
7257
- * 1. The path's underlying Connect resource carries
7258
- * `clientFilters=@ConnectClientFilters({@ConnectClientFilter(key = "UiTier")...})`,
7259
- * which restricts callers to the UI tier (one.app / One Runtime / UISDK runtime) and
7260
- * excludes the public REST API.
7261
- * 2. LDS actually invokes this URL via a Luvio adapter wired into
7262
- * `ldsEngineCreator.js`.
7263
- */
7264
- const UIAPI_PRIVATE_PATHS = [
7265
- // ----- Record Avatars -----
7266
- // getRecordAvatars (batch) — IRecordAvatarsBatchResource
7267
- '/ui-api/record-avatars/batch/{recordIds}',
7268
- // updateRecordAvatar (POST) — IRecordAvatarsAssociationResource
7269
- '/ui-api/record-avatars/{recordId}/association',
7270
- // ----- Layout -----
7271
- // getLayoutUserState (GET) / updateLayoutUserState (PATCH) — ILayoutUserStateResource
7272
- '/ui-api/layout/{objectApiName}/user-state',
7273
- // ----- GraphQL -----
7274
- // executeGraphQLBatch (POST) — IGraphQLBatchResource (no /ui-api prefix)
7275
- '/graphql/batch',
7276
- // ----- Aggregate UI -----
7277
- // executeAggregateUi (POST) — IAggregateUiResource
7278
- '/ui-api/aggregate-ui',
7279
- ];
7280
7082
  /**
7281
7083
  * Single content documents version URL enabled/disabled by killswitch.
7282
- * Exported for reuse in tests.
7084
+ * Exported for reuse in tests. This one-runtime-only path is gated by its own
7085
+ * killswitch (not part of the shared UIAPI allowlist), so it stays local.
7283
7086
  */
7284
7087
  const CONTENT_DOCUMENTS_VERSIONS_PATH = '/ui-api/records/content-documents/content-versions';
7285
7088
  /**
@@ -7336,14 +7139,8 @@ function getEnabledPaths() {
7336
7139
  }
7337
7140
  return Array.from(enabled);
7338
7141
  }
7339
- function buildMatchers(paths) {
7340
- return paths.map((path) => {
7341
- const regexString = path.replace(/\{.+?\}/g, '[^/]+');
7342
- return new RegExp(`^${regexString}$`);
7343
- });
7344
- }
7345
7142
  // Precompute enabled path matchers at module load to avoid per-request rebuild
7346
- const ENABLED_PATH_MATCHERS = buildMatchers(getEnabledPaths());
7143
+ const ENABLED_PATH_MATCHERS = compilePathMatchers(getEnabledPaths());
7347
7144
  /**
7348
7145
  * Indicates whether any predicate-enabled path sets are active.
7349
7146
  * Used by adapter composition to decide whether to include the fetch adapter.
@@ -11522,4 +11319,4 @@ function ldsEngineCreator() {
11522
11319
  }
11523
11320
 
11524
11321
  export { LexRequestStrategy, PDL_ENGINE_REGISTRATION_ID, PdlPrefetcherEventType, PdlRequestPriority, buildPredictorForContext, configService, ldsEngineCreator as default, initializeLDS, initializeOneStore, notifyUpdateAvailableFactory, registerRequestStrategy, saveRequestAsPrediction, subscribeToPrefetcherEvents, unregisterRequestStrategy, whenPredictionsReady };
11525
- // version: 1.457.0-b38a7243f7
11322
+ // version: 1.459.0-414dbbb5aa
@@ -1,37 +1,12 @@
1
1
  import { type ResourceRequest } from '@luvio/engine';
2
+ import { UIAPI_PUBLIC_PATHS, UIAPI_PRIVATE_PATHS } from '@salesforce/lds-network-fetch';
2
3
  import type { RequestLogger } from '@salesforce/lds-network-fetch';
3
4
  import type { RequestTracker } from './instrumentation-utils';
4
- /**
5
- * Public UIAPI url paths verified for HTTP transport.
6
- *
7
- * Inclusion criteria:
8
- * 1. The path's underlying Connect resource does NOT carry
9
- * `clientFilters=@ConnectClientFilters({@ConnectClientFilter(key = "UiTier")...})`.
10
- * 2. LDS actually invokes this URL via a Luvio adapter wired into
11
- * `ldsEngineCreator.js` (i.e. there is a corresponding `*AdapterFactory`
12
- * import). Connect resources with no LDS adapter are intentionally
13
- * excluded — adding them produces no traffic and just bloats the matcher.
14
- *
15
- * Where a single Connect resource exposes multiple URL shapes (e.g. a 4-segment
16
- * GET form alongside a 3-segment POST form), all forms LDS adapters can hit at
17
- * runtime are registered.
18
- */
19
- export declare const UIAPI_PUBLIC_PATHS: string[];
20
- /**
21
- * Private UIAPI url paths gated by the private-endpoint gates per runtime.
22
- *
23
- * Inclusion criteria:
24
- * 1. The path's underlying Connect resource carries
25
- * `clientFilters=@ConnectClientFilters({@ConnectClientFilter(key = "UiTier")...})`,
26
- * which restricts callers to the UI tier (one.app / One Runtime / UISDK runtime) and
27
- * excludes the public REST API.
28
- * 2. LDS actually invokes this URL via a Luvio adapter wired into
29
- * `ldsEngineCreator.js`.
30
- */
31
- export declare const UIAPI_PRIVATE_PATHS: string[];
5
+ export { UIAPI_PUBLIC_PATHS, UIAPI_PRIVATE_PATHS };
32
6
  /**
33
7
  * Single content documents version URL enabled/disabled by killswitch.
34
- * Exported for reuse in tests.
8
+ * Exported for reuse in tests. This one-runtime-only path is gated by its own
9
+ * killswitch (not part of the shared UIAPI allowlist), so it stays local.
35
10
  */
36
11
  export declare const CONTENT_DOCUMENTS_VERSIONS_PATH = "/ui-api/records/content-documents/content-versions";
37
12
  /**
@@ -1,5 +1,5 @@
1
1
  import { RetryPolicy, type RetryContext } from '@conduit-client/service-retry/v1';
2
- import type { FetchResponse } from '@luvio/engine';
2
+ import type { FetchResponse, ResourceRequest } from '@luvio/engine';
3
3
  type LuvioFetchThrottlingRetryPolicyConfig = {
4
4
  maxRetries: number;
5
5
  maxTimeToRetry: number;
@@ -10,7 +10,8 @@ type LuvioFetchThrottlingRetryPolicyConfig = {
10
10
  };
11
11
  export declare class LuvioFetchThrottlingRetryPolicy extends RetryPolicy<FetchResponse<any>> {
12
12
  private config;
13
- constructor(config?: LuvioFetchThrottlingRetryPolicyConfig);
13
+ private request?;
14
+ constructor(config?: LuvioFetchThrottlingRetryPolicyConfig, request?: ResourceRequest | undefined);
14
15
  shouldRetry(result: FetchResponse<any>, context: RetryContext<FetchResponse<any>>): Promise<boolean>;
15
16
  calculateDelay(result: FetchResponse<any>, context: RetryContext<FetchResponse<any>>): Promise<number>;
16
17
  parseRetryAfterHeader(result: FetchResponse<any>): number | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-runtime-one-runtime",
3
- "version": "1.457.0",
3
+ "version": "1.459.0",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "LDS engine for the LEX on One Runtime (LWR) runtime.",
6
6
  "main": "dist/oneRuntimeLdsEngineCreator.js",
@@ -34,53 +34,53 @@
34
34
  "release:corejar": "yarn build && ../core-build/scripts/core.js --name=lds-runtime-one-runtime"
35
35
  },
36
36
  "devDependencies": {
37
- "@conduit-client/service-provisioner": "3.27.0",
38
- "@conduit-client/tools-core": "3.27.0",
39
- "@salesforce/lds-adapters-apex": "^1.457.0",
40
- "@salesforce/lds-adapters-uiapi": "^1.457.0",
41
- "@salesforce/lds-ads-bridge": "^1.457.0",
42
- "@salesforce/lds-aura-storage": "^1.457.0",
43
- "@salesforce/lds-bindings": "^1.457.0",
44
- "@salesforce/lds-instrumentation": "^1.457.0",
45
- "@salesforce/lds-network-adapter": "^1.457.0",
46
- "@salesforce/lds-network-aura": "^1.457.0",
47
- "@salesforce/lds-network-fetch": "^1.457.0",
37
+ "@conduit-client/service-provisioner": "3.27.1",
38
+ "@conduit-client/tools-core": "3.27.1",
39
+ "@salesforce/lds-adapters-apex": "^1.459.0",
40
+ "@salesforce/lds-adapters-uiapi": "^1.459.0",
41
+ "@salesforce/lds-ads-bridge": "^1.459.0",
42
+ "@salesforce/lds-aura-storage": "^1.459.0",
43
+ "@salesforce/lds-bindings": "^1.459.0",
44
+ "@salesforce/lds-instrumentation": "^1.459.0",
45
+ "@salesforce/lds-network-adapter": "^1.459.0",
46
+ "@salesforce/lds-network-aura": "^1.459.0",
47
+ "@salesforce/lds-network-fetch": "^1.459.0",
48
48
  "jwt-encode": "1.0.1"
49
49
  },
50
50
  "dependencies": {
51
- "@conduit-client/command-aura-graphql-normalized-cache-control": "3.27.0",
52
- "@conduit-client/command-aura-network": "3.27.0",
53
- "@conduit-client/command-aura-normalized-cache-control": "3.27.0",
54
- "@conduit-client/command-fetch-network": "3.27.0",
55
- "@conduit-client/command-http-graphql-normalized-cache-control": "3.27.0",
56
- "@conduit-client/command-http-normalized-cache-control": "3.27.0",
57
- "@conduit-client/command-ndjson": "3.27.0",
58
- "@conduit-client/command-network": "3.27.0",
59
- "@conduit-client/command-sse": "3.27.0",
60
- "@conduit-client/command-streaming": "3.27.0",
61
- "@conduit-client/jwt-manager": "3.27.0",
62
- "@conduit-client/service-aura-network": "3.27.0",
63
- "@conduit-client/service-bindings-imperative": "3.27.0",
64
- "@conduit-client/service-bindings-lwc": "3.27.0",
65
- "@conduit-client/service-cache": "3.27.0",
66
- "@conduit-client/service-cache-control": "3.27.0",
67
- "@conduit-client/service-cache-inclusion-policy": "3.27.0",
68
- "@conduit-client/service-config": "3.27.0",
69
- "@conduit-client/service-feature-flags": "3.27.0",
70
- "@conduit-client/service-fetch-network": "3.27.0",
71
- "@conduit-client/service-instrument-command": "3.27.0",
72
- "@conduit-client/service-pubsub": "3.27.0",
73
- "@conduit-client/service-renewable-resource-manager": "3.27.0",
74
- "@conduit-client/service-store": "3.27.0",
75
- "@conduit-client/utils": "3.27.0",
51
+ "@conduit-client/command-aura-graphql-normalized-cache-control": "3.27.1",
52
+ "@conduit-client/command-aura-network": "3.27.1",
53
+ "@conduit-client/command-aura-normalized-cache-control": "3.27.1",
54
+ "@conduit-client/command-fetch-network": "3.27.1",
55
+ "@conduit-client/command-http-graphql-normalized-cache-control": "3.27.1",
56
+ "@conduit-client/command-http-normalized-cache-control": "3.27.1",
57
+ "@conduit-client/command-ndjson": "3.27.1",
58
+ "@conduit-client/command-network": "3.27.1",
59
+ "@conduit-client/command-sse": "3.27.1",
60
+ "@conduit-client/command-streaming": "3.27.1",
61
+ "@conduit-client/jwt-manager": "3.27.1",
62
+ "@conduit-client/service-aura-network": "3.27.1",
63
+ "@conduit-client/service-bindings-imperative": "3.27.1",
64
+ "@conduit-client/service-bindings-lwc": "3.27.1",
65
+ "@conduit-client/service-cache": "3.27.1",
66
+ "@conduit-client/service-cache-control": "3.27.1",
67
+ "@conduit-client/service-cache-inclusion-policy": "3.27.1",
68
+ "@conduit-client/service-config": "3.27.1",
69
+ "@conduit-client/service-feature-flags": "3.27.1",
70
+ "@conduit-client/service-fetch-network": "3.27.1",
71
+ "@conduit-client/service-instrument-command": "3.27.1",
72
+ "@conduit-client/service-pubsub": "3.27.1",
73
+ "@conduit-client/service-renewable-resource-manager": "3.27.1",
74
+ "@conduit-client/service-store": "3.27.1",
75
+ "@conduit-client/utils": "3.27.1",
76
76
  "@luvio/network-adapter-composable": "0.161.2",
77
77
  "@luvio/network-adapter-fetch": "0.161.2",
78
78
  "@lwc/state": "^0.29.0",
79
- "@salesforce/lds-adapters-onestore-graphql": "^1.457.0",
79
+ "@salesforce/lds-adapters-onestore-graphql": "^1.459.0",
80
80
  "@salesforce/lds-adapters-uiapi-lex": "^1.415.0",
81
- "@salesforce/lds-durable-storage": "^1.457.0",
82
- "@salesforce/lds-luvio-service": "^1.457.0",
83
- "@salesforce/lds-luvio-uiapi-records-service": "^1.457.0"
81
+ "@salesforce/lds-durable-storage": "^1.459.0",
82
+ "@salesforce/lds-luvio-service": "^1.459.0",
83
+ "@salesforce/lds-luvio-uiapi-records-service": "^1.459.0"
84
84
  },
85
85
  "luvioBundlesize": [
86
86
  {
@@ -1,2 +0,0 @@
1
- export default function (): void;
2
- export declare function instrument(): void;
@@ -1,5 +0,0 @@
1
- /// <reference types="jest" />
2
- export declare const createStorage: jest.Mock<any, any, any>;
3
- export declare const clearStorages: jest.Mock<any, any, any>;
4
- export declare const setDurableStorageImplementation: jest.Mock<any, any, any>;
5
- export declare const getDurableStorageImplementation: jest.Mock<any, any, any>;
@@ -1,2 +0,0 @@
1
- export declare function getEnvironmentSetting(): boolean;
2
- export declare const EnvironmentSettings: {};
@@ -1,15 +0,0 @@
1
- export declare function setupInstrumentation(): void;
2
- export declare function LRUCache(): Map<any, any>;
3
- export declare function incrementCounterMetric(): void;
4
- export declare function updatePercentileHistogramMetric(): void;
5
- export declare function instrumentAdapter<_C, _D>(adapter: any, _metadata: any): any;
6
- export declare function instrumentLuvio(): void;
7
- export declare function instrumentStoreMethods(): void;
8
- export declare function setLdsAdaptersUiapiInstrumentation(): void;
9
- export declare function setLdsNetworkAdapterInstrumentation(): void;
10
- export declare function logObjectInfoChanged(): void;
11
- export declare function executeAsyncActivity(_name: string, execute: (act: any) => Promise<void>, _options?: any): Promise<void>;
12
- export declare const METRIC_KEYS: {
13
- PREDICTIVE_DATA_LOADING_PREDICT: string;
14
- PREDICTIVE_DATA_LOADING_SAVE_REQUEST: string;
15
- };
@@ -1,4 +0,0 @@
1
- export default function (): void;
2
- export declare function instrument(): void;
3
- export declare function ldsNetworkAdapterInstrument(): void;
4
- export declare const forceRecordTransactionsDisabled = false;
@@ -1,2 +0,0 @@
1
- export declare function setupLexNetworkAdapter(): void;
2
- export declare function instrument(): void;
@@ -1,3 +0,0 @@
1
- /// <reference types="jest" />
2
- declare const executeGlobalControllerRawResponse: jest.Mock<any, any, any>;
3
- export { executeGlobalControllerRawResponse };
@@ -1,3 +0,0 @@
1
- /// <reference types="jest" />
2
- declare const astResolver: jest.Mock<any, any, any>;
3
- export { astResolver };
@@ -1,33 +0,0 @@
1
- export declare function counter(): {
2
- increment(): void;
3
- decrement(): void;
4
- getValue(): void;
5
- reset(): void;
6
- };
7
- export declare function gauge(): {
8
- setValue(): void;
9
- getValue(): void;
10
- reset(): void;
11
- };
12
- export declare function mark(): {};
13
- export declare function markStart(): {};
14
- export declare function markEnd(): {};
15
- export declare function perfStart(): void;
16
- export declare function perfEnd(): void;
17
- export declare function percentileHistogram(): {
18
- update(): void;
19
- getValue(): void;
20
- reset(): void;
21
- };
22
- export declare function time(): void;
23
- export declare function timer(): {
24
- addDuration(): void;
25
- getValue(): void;
26
- time(): void;
27
- };
28
- export declare function registerCacheStats(): {
29
- logHits(): void;
30
- logMisses(): void;
31
- };
32
- export declare function registerPlugin(): void;
33
- export declare function registerPeriodicLogger(): void;
@@ -1,4 +0,0 @@
1
- export declare const ThirdPartyTracker: {
2
- registerHandler: jest.Mock<void, [_cmp: any, _name: string, _loadedCheck: () => boolean], any>;
3
- markLoaded: jest.Mock<void, [_cmp: any], any>;
4
- };
@@ -1,6 +0,0 @@
1
- /// <reference types="jest" />
2
- export declare const setTrustedSignalSet: jest.Mock<any, any, any>;
3
- export declare const setTrustedContextSet: jest.Mock<any, any, any>;
4
- export declare const setContextKeys: jest.Mock<any, any, any>;
5
- export declare const __dangerous_do_not_use_addTrustedContext: jest.Mock<any, any, any>;
6
- export declare const isTrustedSignal: jest.Mock<any, any, any>;
@@ -1,12 +0,0 @@
1
- declare function stop(_userSchemaOrText?: any | string, _userData?: any): void;
2
- declare function error(_error: Error, _userSchemaOrText?: any | string, _userData?: any): void;
3
- declare function discard(): void;
4
- declare function terminate(): void;
5
- export declare const activity: {
6
- stop: typeof stop;
7
- error: typeof error;
8
- discard: typeof discard;
9
- terminate: typeof terminate;
10
- getId: () => string;
11
- };
12
- export {};
@@ -1,11 +0,0 @@
1
- export { activity } from './activity';
2
- export { instrumentation } from './instrumentation';
3
- export { idleDetector } from './idleDetector';
4
- export declare function getInstrumentation(_name: string): {
5
- log: (_schema: any, _data?: any) => void;
6
- error: (_error: unknown, _userSchemaOrText?: any, _userData?: any) => void;
7
- startActivity: (_name: string) => any;
8
- incrementCounter: (_operation: string, _increment?: number | undefined, _hasError?: boolean | undefined, _tags?: any) => void;
9
- trackValue: (_operation: string, _value: number, _hasError?: boolean | undefined, _tags?: any) => void;
10
- bucketValue: (_operation: string, _value: number, _buckets: number[]) => void;
11
- };
@@ -1,18 +0,0 @@
1
- declare function requestIdleDetectedCallback(_callback: any): void;
2
- declare function declareNotifierTaskSingle(_name: string): {
3
- isBusy: boolean;
4
- done: () => void;
5
- };
6
- declare function declareNotifierTaskMulti(_name: string, _existingBusyCount?: number): {
7
- isBusy: boolean;
8
- add: () => void;
9
- done: () => void;
10
- };
11
- declare function declarePollableTaskMulti(_name: string, _isBusyChecker: any): void;
12
- export declare const idleDetector: {
13
- requestIdleDetectedCallback: typeof requestIdleDetectedCallback;
14
- declareNotifierTaskSingle: typeof declareNotifierTaskSingle;
15
- declareNotifierTaskMulti: typeof declareNotifierTaskMulti;
16
- declarePollableTaskMulti: typeof declarePollableTaskMulti;
17
- };
18
- export {};
@@ -1,15 +0,0 @@
1
- declare function log(_schema: any, _data?: any): void;
2
- declare function error(_error: unknown, _userSchemaOrText?: any | string, _userData?: any): void;
3
- declare function startActivity(_name: string): any;
4
- declare function incrementCounter(_operation: string, _increment?: number, _hasError?: boolean, _tags?: any): void;
5
- declare function trackValue(_operation: string, _value: number, _hasError?: boolean, _tags?: any): void;
6
- declare function bucketValue(_operation: string, _value: number, _buckets: number[]): void;
7
- export declare const instrumentation: {
8
- log: typeof log;
9
- error: typeof error;
10
- startActivity: typeof startActivity;
11
- incrementCounter: typeof incrementCounter;
12
- trackValue: typeof trackValue;
13
- bucketValue: typeof bucketValue;
14
- };
15
- export {};
@@ -1 +0,0 @@
1
- export declare const adapterUnfulfilledErrorSchema: {};