@salesforce/lds-worker-api 1.449.0 → 1.450.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1373,4 +1373,4 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
1373
1373
|
}
|
|
1374
1374
|
|
|
1375
1375
|
export { createPrimingSession, draftManager, draftQueue, evictCacheRecordsByIds, evictExpiredCacheEntries, executeAdapter, executeMutatingAdapter, getImperativeAdapterNames, importLuvioAdapterModule, importOneStoreAdapterModule, invokeAdapter, invokeAdapterWithDraftToMerge, invokeAdapterWithDraftToReplace, invokeAdapterWithMetadata, nimbusDraftQueue, setMetadataTTL, setUiApiRecordTTL, stopEviction, subscribeToAdapter };
|
|
1376
|
-
// version: 1.
|
|
1376
|
+
// version: 1.450.0-163071957b
|
|
@@ -4276,7 +4276,7 @@ function withDefaultLuvio(callback) {
|
|
|
4276
4276
|
}
|
|
4277
4277
|
callbacks.push(callback);
|
|
4278
4278
|
}
|
|
4279
|
-
// version: 1.
|
|
4279
|
+
// version: 1.450.0-163071957b
|
|
4280
4280
|
|
|
4281
4281
|
// TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
|
|
4282
4282
|
function instrumentAdapter$1(createFunction, _metadata) {
|
|
@@ -5320,7 +5320,7 @@ function createGraphQLWireAdapterConstructor(luvio, adapter, metadata, astResolv
|
|
|
5320
5320
|
const { apiFamily, name } = metadata;
|
|
5321
5321
|
return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
|
|
5322
5322
|
}
|
|
5323
|
-
// version: 1.
|
|
5323
|
+
// version: 1.450.0-163071957b
|
|
5324
5324
|
|
|
5325
5325
|
function isSupportedEntity(_objectApiName) {
|
|
5326
5326
|
return true;
|
|
@@ -32574,7 +32574,7 @@ withDefaultLuvio((luvio) => {
|
|
|
32574
32574
|
throttle(60, 60000, setupNotifyAllListRecordUpdateAvailable(luvio));
|
|
32575
32575
|
throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
|
|
32576
32576
|
});
|
|
32577
|
-
// version: 1.
|
|
32577
|
+
// version: 1.450.0-b7557fd74b
|
|
32578
32578
|
|
|
32579
32579
|
var draftQueueMaxRetryAttemptsGate = {
|
|
32580
32580
|
isOpen: function (e) {
|
|
@@ -80130,6 +80130,10 @@ const DRAFT_QUEUE_ACTION_UPDATED = 'draft-queue-action-updated';
|
|
|
80130
80130
|
const DRAFT_QUEUE_ACTION_FAILED = 'draft-queue-action-failed';
|
|
80131
80131
|
const DRAFT_QUEUE_ACTION_UPLOAD_ERROR = 'draft-queue-action-upload-error';
|
|
80132
80132
|
const DRAFT_QUEUE_TOTAL_MERGE_ACTIONS_CALLS = 'draft-queue-total-mergeActions-calls';
|
|
80133
|
+
// Emitted every time a draft's Idempotency-Key is rotated (replaced with a fresh uuid).
|
|
80134
|
+
// Used to triage the WOLI duplicate-record investigation in Splunk — correlate by draftId
|
|
80135
|
+
// with the other draft-queue events. @W-23428669
|
|
80136
|
+
const DRAFT_QUEUE_IDEMPOTENCY_KEY_ROTATED = 'draft-queue-idempotency-key-rotated';
|
|
80133
80137
|
/** Content Document */
|
|
80134
80138
|
const CREATE_CONTENT_DOCUMENT_AND_VERSION_TOTAL_SYNTHESIZE_CALLS = 'content-document-version-total-synthesize-calls';
|
|
80135
80139
|
const CREATE_CONTENT_DOCUMENT_AND_VERSION_DRAFT_SYNTHESIZE_ERROR = 'create-content-document-version-draft-synthesize-error';
|
|
@@ -80245,6 +80249,34 @@ function reportDraftActionUploadError(error, handlerId, attempt) {
|
|
|
80245
80249
|
});
|
|
80246
80250
|
ldsMobileInstrumentation$2.error(normalized, DRAFT_QUEUE_ACTION_UPLOAD_ERROR);
|
|
80247
80251
|
}
|
|
80252
|
+
/**
|
|
80253
|
+
* Emits a single greppable Splunk log line (and an o11y counter) every time a draft's
|
|
80254
|
+
* Idempotency-Key is rotated — i.e. replaced with a fresh uuid rather than reused on
|
|
80255
|
+
* retry. This is the instrumentation for the WOLI duplicate-record investigation
|
|
80256
|
+
* (@W-23428669): a rotation mid-flight is the mechanism by which an already-committed
|
|
80257
|
+
* write can be re-sent under a new key and duplicated on the server, so recording every
|
|
80258
|
+
* rotation lets us reconstruct, on a future reproduction, exactly where and how often a
|
|
80259
|
+
* key changed for a given draft.
|
|
80260
|
+
*
|
|
80261
|
+
* The message is prefixed with a stable literal ("Idempotency key rotated") so it can be
|
|
80262
|
+
* pulled out of Splunk with a substring match, and carries:
|
|
80263
|
+
* - draftId: the local (client-synthesized) draft-action target id, so this event can be
|
|
80264
|
+
* correlated with the other draft-queue events for the same draft. This is NOT a server
|
|
80265
|
+
* record id or any field value — it is the same local id already surfaced by the queue's
|
|
80266
|
+
* other lifecycle logs, so it introduces no new PII.
|
|
80267
|
+
* - reason: which rotation call site fired, to disambiguate the distinct rotation paths.
|
|
80268
|
+
*
|
|
80269
|
+
* @param draftId the local draft-action target id whose key was rotated
|
|
80270
|
+
* @param reason the rotation call site (see IdempotencyKeyRotationReason)
|
|
80271
|
+
*/
|
|
80272
|
+
function reportIdempotencyKeyRotated(draftId, reason) {
|
|
80273
|
+
if (nimbusLogger) {
|
|
80274
|
+
nimbusLogger.logInfo(`Idempotency key rotated: draftId=${draftId}, reason=${reason}`);
|
|
80275
|
+
}
|
|
80276
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_IDEMPOTENCY_KEY_ROTATED, 1, undefined, {
|
|
80277
|
+
reason,
|
|
80278
|
+
});
|
|
80279
|
+
}
|
|
80248
80280
|
function reportDraftQueueState(state, draftCount) {
|
|
80249
80281
|
if (nimbusLogger) {
|
|
80250
80282
|
nimbusLogger.logInfo(`Draft state changed: ${state}, depth: ${draftCount}`);
|
|
@@ -80484,6 +80516,7 @@ class AbstractResourceRequestActionHandler {
|
|
|
80484
80516
|
// the draft error (shouldRetry stays false). Retained only as an escape
|
|
80485
80517
|
// hatch; this is the path that duplicated already-committed writes.
|
|
80486
80518
|
updatedAction.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
|
|
80519
|
+
reportIdempotencyKeyRotated(updatedAction.targetId, 'generic-400-killswitch');
|
|
80487
80520
|
actionDataChanged = true;
|
|
80488
80521
|
}
|
|
80489
80522
|
else if (!this.isServerGeneratedError(response.body)) {
|
|
@@ -80516,6 +80549,7 @@ class AbstractResourceRequestActionHandler {
|
|
|
80516
80549
|
if (this.hasIdempotencySupport() &&
|
|
80517
80550
|
updatedAction.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] !== undefined) {
|
|
80518
80551
|
updatedAction.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
|
|
80552
|
+
reportIdempotencyKeyRotated(updatedAction.targetId, 'backdating-collision');
|
|
80519
80553
|
}
|
|
80520
80554
|
shouldRetry = true;
|
|
80521
80555
|
actionDataChanged = true;
|
|
@@ -80820,6 +80854,7 @@ class AbstractResourceRequestActionHandler {
|
|
|
80820
80854
|
// Updates Idempotency key if target has one
|
|
80821
80855
|
if (targetData.headers && targetData.headers[HTTP_HEADER_IDEMPOTENCY_KEY]) {
|
|
80822
80856
|
merged.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
|
|
80857
|
+
reportIdempotencyKeyRotated(merged.targetId, 'merge-actions');
|
|
80823
80858
|
}
|
|
80824
80859
|
// overlay metadata
|
|
80825
80860
|
merged.metadata = { ...targetMetadata, ...sourceMetadata };
|
|
@@ -80849,6 +80884,7 @@ class AbstractResourceRequestActionHandler {
|
|
|
80849
80884
|
action.data.headers = action.data.headers || {};
|
|
80850
80885
|
if (updateIdempotencyKey) {
|
|
80851
80886
|
action.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
|
|
80887
|
+
reportIdempotencyKeyRotated(action.targetId, 'idempotency-error');
|
|
80852
80888
|
}
|
|
80853
80889
|
else {
|
|
80854
80890
|
delete action.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY];
|
|
@@ -96787,7 +96823,7 @@ function buildServiceDescriptor$b(luvio) {
|
|
|
96787
96823
|
},
|
|
96788
96824
|
};
|
|
96789
96825
|
}
|
|
96790
|
-
// version: 1.
|
|
96826
|
+
// version: 1.450.0-163071957b
|
|
96791
96827
|
|
|
96792
96828
|
/**
|
|
96793
96829
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -96813,7 +96849,7 @@ function buildServiceDescriptor$a(notifyRecordUpdateAvailable, getNormalizedLuvi
|
|
|
96813
96849
|
},
|
|
96814
96850
|
};
|
|
96815
96851
|
}
|
|
96816
|
-
// version: 1.
|
|
96852
|
+
// version: 1.450.0-163071957b
|
|
96817
96853
|
|
|
96818
96854
|
function findExecutableOperation$1(input) {
|
|
96819
96855
|
const operations = input.query.definitions.filter(
|
|
@@ -97641,6 +97677,15 @@ function buildUserlandError(error) {
|
|
|
97641
97677
|
}
|
|
97642
97678
|
return new Error("Internal error in Lightning Data Service adapter occurred.");
|
|
97643
97679
|
}
|
|
97680
|
+
function unwrapUserlandError(error) {
|
|
97681
|
+
if (isUserVisibleError$2(error)) {
|
|
97682
|
+
return error.data;
|
|
97683
|
+
}
|
|
97684
|
+
return toError(error);
|
|
97685
|
+
}
|
|
97686
|
+
function throwUnwrappedUserlandError(error) {
|
|
97687
|
+
throw unwrapUserlandError(error);
|
|
97688
|
+
}
|
|
97644
97689
|
function logError(error) {
|
|
97645
97690
|
if (isUserVisibleError$2(error)) {
|
|
97646
97691
|
return;
|
|
@@ -97704,7 +97749,9 @@ class DefaultImperativeBindingsService {
|
|
|
97704
97749
|
deepFreeze(result.value);
|
|
97705
97750
|
return isSubscribableResult(result) ? result.value.data : result.value;
|
|
97706
97751
|
}
|
|
97707
|
-
|
|
97752
|
+
throwUnwrappedUserlandError(
|
|
97753
|
+
isSubscribableResult(result) ? result.error.failure : result.error
|
|
97754
|
+
);
|
|
97708
97755
|
});
|
|
97709
97756
|
}
|
|
97710
97757
|
}
|
|
@@ -97722,7 +97769,9 @@ class QueryImperativeBindingsService {
|
|
|
97722
97769
|
deepFreeze(result.value);
|
|
97723
97770
|
return isSubscribableResult(result) ? { data: result.value.data } : { data: result.value };
|
|
97724
97771
|
}
|
|
97725
|
-
|
|
97772
|
+
throwUnwrappedUserlandError(
|
|
97773
|
+
isSubscribableResult(result) ? result.error.failure : result.error
|
|
97774
|
+
);
|
|
97726
97775
|
});
|
|
97727
97776
|
}
|
|
97728
97777
|
}
|
|
@@ -97754,7 +97803,10 @@ class SubscribableImperativeBindingsService {
|
|
|
97754
97803
|
subscribe: (cb) => {
|
|
97755
97804
|
return result.value.subscribe((result2) => {
|
|
97756
97805
|
if (result2.isErr()) {
|
|
97757
|
-
return cb({
|
|
97806
|
+
return cb({
|
|
97807
|
+
data: void 0,
|
|
97808
|
+
error: unwrapUserlandError(result2.error)
|
|
97809
|
+
});
|
|
97758
97810
|
}
|
|
97759
97811
|
return cb({ data: result2.value, error: void 0 });
|
|
97760
97812
|
});
|
|
@@ -97776,7 +97828,7 @@ class SubscribableImperativeBindingsService {
|
|
|
97776
97828
|
return api;
|
|
97777
97829
|
}
|
|
97778
97830
|
} else {
|
|
97779
|
-
|
|
97831
|
+
throwUnwrappedUserlandError(result.error.failure);
|
|
97780
97832
|
}
|
|
97781
97833
|
}
|
|
97782
97834
|
}
|
|
@@ -97798,7 +97850,7 @@ class LegacyImperativeBindingsService {
|
|
|
97798
97850
|
deepFreeze(result.value);
|
|
97799
97851
|
callback({ data: result.value.data, error: void 0 });
|
|
97800
97852
|
} else {
|
|
97801
|
-
callback({ data: void 0, error:
|
|
97853
|
+
callback({ data: void 0, error: unwrapUserlandError(result.error.failure) });
|
|
97802
97854
|
}
|
|
97803
97855
|
} catch (error) {
|
|
97804
97856
|
emitError(callback, error);
|
|
@@ -97813,14 +97865,20 @@ class LegacyImperativeBindingsService {
|
|
|
97813
97865
|
command.execute(overrides).then(
|
|
97814
97866
|
(result) => {
|
|
97815
97867
|
if (!result.isOk()) {
|
|
97816
|
-
callback({
|
|
97868
|
+
callback({
|
|
97869
|
+
data: void 0,
|
|
97870
|
+
error: unwrapUserlandError(result.error.failure)
|
|
97871
|
+
});
|
|
97817
97872
|
return;
|
|
97818
97873
|
}
|
|
97819
97874
|
unsubscribe = result.value.subscribe((res) => {
|
|
97820
97875
|
if (res.isOk()) {
|
|
97821
97876
|
callback({ data: res.value, error: void 0 });
|
|
97822
97877
|
} else {
|
|
97823
|
-
callback({
|
|
97878
|
+
callback({
|
|
97879
|
+
data: void 0,
|
|
97880
|
+
error: unwrapUserlandError(res.error)
|
|
97881
|
+
});
|
|
97824
97882
|
}
|
|
97825
97883
|
});
|
|
97826
97884
|
callback({ data: result.value.data, error: void 0 });
|
|
@@ -99500,7 +99558,7 @@ register$1({
|
|
|
99500
99558
|
id: '@salesforce/lds-network-adapter',
|
|
99501
99559
|
instrument: instrument$2,
|
|
99502
99560
|
});
|
|
99503
|
-
// version: 1.
|
|
99561
|
+
// version: 1.450.0-163071957b
|
|
99504
99562
|
|
|
99505
99563
|
const { create: create$2, keys: keys$2 } = Object;
|
|
99506
99564
|
const { stringify, parse } = JSON;
|
|
@@ -107035,7 +107093,7 @@ function registerCallback(cb) {
|
|
|
107035
107093
|
cb(graphql_v1_import, graphql_imperative$1, graphql_imperative_legacy_v1_import, graphql_state_manager, useOneStoreGraphQL);
|
|
107036
107094
|
}
|
|
107037
107095
|
}
|
|
107038
|
-
// version: 1.
|
|
107096
|
+
// version: 1.450.0-b7557fd74b
|
|
107039
107097
|
|
|
107040
107098
|
function createFragmentMap(documentNode) {
|
|
107041
107099
|
const fragments = {};
|
|
@@ -136278,7 +136336,7 @@ register$1({
|
|
|
136278
136336
|
configuration: { ...configurationForGraphQLAdapters$1 },
|
|
136279
136337
|
instrument: instrument$1,
|
|
136280
136338
|
});
|
|
136281
|
-
// version: 1.
|
|
136339
|
+
// version: 1.450.0-b7557fd74b
|
|
136282
136340
|
|
|
136283
136341
|
// On core the unstable adapters are re-exported with different names,
|
|
136284
136342
|
// we want to match them here.
|
|
@@ -136430,7 +136488,7 @@ withDefaultLuvio((luvio) => {
|
|
|
136430
136488
|
unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
|
|
136431
136489
|
graphQLImperative = ldsAdapter;
|
|
136432
136490
|
});
|
|
136433
|
-
// version: 1.
|
|
136491
|
+
// version: 1.450.0-b7557fd74b
|
|
136434
136492
|
|
|
136435
136493
|
var gqlApi = /*#__PURE__*/Object.freeze({
|
|
136436
136494
|
__proto__: null,
|
|
@@ -137229,7 +137287,7 @@ const callbacks$1 = [];
|
|
|
137229
137287
|
function register(r) {
|
|
137230
137288
|
callbacks$1.forEach((callback) => callback(r));
|
|
137231
137289
|
}
|
|
137232
|
-
// version: 1.
|
|
137290
|
+
// version: 1.450.0-163071957b
|
|
137233
137291
|
|
|
137234
137292
|
/**
|
|
137235
137293
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -138518,4 +138576,4 @@ const { luvio } = getRuntime();
|
|
|
138518
138576
|
setDefaultLuvio({ luvio });
|
|
138519
138577
|
|
|
138520
138578
|
export { createPrimingSession, draftManager, draftQueue, evictCacheRecordsByIds, evictExpiredCacheEntries, executeAdapter, executeMutatingAdapter, getImperativeAdapterNames, importLuvioAdapterModule, importOneStoreAdapterModule, invokeAdapter, invokeAdapterWithDraftToMerge, invokeAdapterWithDraftToReplace, invokeAdapterWithMetadata, nimbusDraftQueue, registerReportObserver, setMetadataTTL, setUiApiRecordTTL, stopEviction, subscribeToAdapter };
|
|
138521
|
-
// version: 1.
|
|
138579
|
+
// version: 1.450.0-163071957b
|
|
@@ -4282,7 +4282,7 @@
|
|
|
4282
4282
|
}
|
|
4283
4283
|
callbacks.push(callback);
|
|
4284
4284
|
}
|
|
4285
|
-
// version: 1.
|
|
4285
|
+
// version: 1.450.0-163071957b
|
|
4286
4286
|
|
|
4287
4287
|
// TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
|
|
4288
4288
|
function instrumentAdapter$1(createFunction, _metadata) {
|
|
@@ -5326,7 +5326,7 @@
|
|
|
5326
5326
|
const { apiFamily, name } = metadata;
|
|
5327
5327
|
return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
|
|
5328
5328
|
}
|
|
5329
|
-
// version: 1.
|
|
5329
|
+
// version: 1.450.0-163071957b
|
|
5330
5330
|
|
|
5331
5331
|
function isSupportedEntity(_objectApiName) {
|
|
5332
5332
|
return true;
|
|
@@ -32580,7 +32580,7 @@
|
|
|
32580
32580
|
throttle(60, 60000, setupNotifyAllListRecordUpdateAvailable(luvio));
|
|
32581
32581
|
throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
|
|
32582
32582
|
});
|
|
32583
|
-
// version: 1.
|
|
32583
|
+
// version: 1.450.0-b7557fd74b
|
|
32584
32584
|
|
|
32585
32585
|
var draftQueueMaxRetryAttemptsGate = {
|
|
32586
32586
|
isOpen: function (e) {
|
|
@@ -80136,6 +80136,10 @@
|
|
|
80136
80136
|
const DRAFT_QUEUE_ACTION_FAILED = 'draft-queue-action-failed';
|
|
80137
80137
|
const DRAFT_QUEUE_ACTION_UPLOAD_ERROR = 'draft-queue-action-upload-error';
|
|
80138
80138
|
const DRAFT_QUEUE_TOTAL_MERGE_ACTIONS_CALLS = 'draft-queue-total-mergeActions-calls';
|
|
80139
|
+
// Emitted every time a draft's Idempotency-Key is rotated (replaced with a fresh uuid).
|
|
80140
|
+
// Used to triage the WOLI duplicate-record investigation in Splunk — correlate by draftId
|
|
80141
|
+
// with the other draft-queue events. @W-23428669
|
|
80142
|
+
const DRAFT_QUEUE_IDEMPOTENCY_KEY_ROTATED = 'draft-queue-idempotency-key-rotated';
|
|
80139
80143
|
/** Content Document */
|
|
80140
80144
|
const CREATE_CONTENT_DOCUMENT_AND_VERSION_TOTAL_SYNTHESIZE_CALLS = 'content-document-version-total-synthesize-calls';
|
|
80141
80145
|
const CREATE_CONTENT_DOCUMENT_AND_VERSION_DRAFT_SYNTHESIZE_ERROR = 'create-content-document-version-draft-synthesize-error';
|
|
@@ -80251,6 +80255,34 @@
|
|
|
80251
80255
|
});
|
|
80252
80256
|
ldsMobileInstrumentation$2.error(normalized, DRAFT_QUEUE_ACTION_UPLOAD_ERROR);
|
|
80253
80257
|
}
|
|
80258
|
+
/**
|
|
80259
|
+
* Emits a single greppable Splunk log line (and an o11y counter) every time a draft's
|
|
80260
|
+
* Idempotency-Key is rotated — i.e. replaced with a fresh uuid rather than reused on
|
|
80261
|
+
* retry. This is the instrumentation for the WOLI duplicate-record investigation
|
|
80262
|
+
* (@W-23428669): a rotation mid-flight is the mechanism by which an already-committed
|
|
80263
|
+
* write can be re-sent under a new key and duplicated on the server, so recording every
|
|
80264
|
+
* rotation lets us reconstruct, on a future reproduction, exactly where and how often a
|
|
80265
|
+
* key changed for a given draft.
|
|
80266
|
+
*
|
|
80267
|
+
* The message is prefixed with a stable literal ("Idempotency key rotated") so it can be
|
|
80268
|
+
* pulled out of Splunk with a substring match, and carries:
|
|
80269
|
+
* - draftId: the local (client-synthesized) draft-action target id, so this event can be
|
|
80270
|
+
* correlated with the other draft-queue events for the same draft. This is NOT a server
|
|
80271
|
+
* record id or any field value — it is the same local id already surfaced by the queue's
|
|
80272
|
+
* other lifecycle logs, so it introduces no new PII.
|
|
80273
|
+
* - reason: which rotation call site fired, to disambiguate the distinct rotation paths.
|
|
80274
|
+
*
|
|
80275
|
+
* @param draftId the local draft-action target id whose key was rotated
|
|
80276
|
+
* @param reason the rotation call site (see IdempotencyKeyRotationReason)
|
|
80277
|
+
*/
|
|
80278
|
+
function reportIdempotencyKeyRotated(draftId, reason) {
|
|
80279
|
+
if (nimbusLogger) {
|
|
80280
|
+
nimbusLogger.logInfo(`Idempotency key rotated: draftId=${draftId}, reason=${reason}`);
|
|
80281
|
+
}
|
|
80282
|
+
ldsMobileInstrumentation$2.incrementCounter(DRAFT_QUEUE_IDEMPOTENCY_KEY_ROTATED, 1, undefined, {
|
|
80283
|
+
reason,
|
|
80284
|
+
});
|
|
80285
|
+
}
|
|
80254
80286
|
function reportDraftQueueState(state, draftCount) {
|
|
80255
80287
|
if (nimbusLogger) {
|
|
80256
80288
|
nimbusLogger.logInfo(`Draft state changed: ${state}, depth: ${draftCount}`);
|
|
@@ -80490,6 +80522,7 @@
|
|
|
80490
80522
|
// the draft error (shouldRetry stays false). Retained only as an escape
|
|
80491
80523
|
// hatch; this is the path that duplicated already-committed writes.
|
|
80492
80524
|
updatedAction.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
|
|
80525
|
+
reportIdempotencyKeyRotated(updatedAction.targetId, 'generic-400-killswitch');
|
|
80493
80526
|
actionDataChanged = true;
|
|
80494
80527
|
}
|
|
80495
80528
|
else if (!this.isServerGeneratedError(response.body)) {
|
|
@@ -80522,6 +80555,7 @@
|
|
|
80522
80555
|
if (this.hasIdempotencySupport() &&
|
|
80523
80556
|
updatedAction.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] !== undefined) {
|
|
80524
80557
|
updatedAction.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
|
|
80558
|
+
reportIdempotencyKeyRotated(updatedAction.targetId, 'backdating-collision');
|
|
80525
80559
|
}
|
|
80526
80560
|
shouldRetry = true;
|
|
80527
80561
|
actionDataChanged = true;
|
|
@@ -80826,6 +80860,7 @@
|
|
|
80826
80860
|
// Updates Idempotency key if target has one
|
|
80827
80861
|
if (targetData.headers && targetData.headers[HTTP_HEADER_IDEMPOTENCY_KEY]) {
|
|
80828
80862
|
merged.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
|
|
80863
|
+
reportIdempotencyKeyRotated(merged.targetId, 'merge-actions');
|
|
80829
80864
|
}
|
|
80830
80865
|
// overlay metadata
|
|
80831
80866
|
merged.metadata = { ...targetMetadata, ...sourceMetadata };
|
|
@@ -80855,6 +80890,7 @@
|
|
|
80855
80890
|
action.data.headers = action.data.headers || {};
|
|
80856
80891
|
if (updateIdempotencyKey) {
|
|
80857
80892
|
action.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
|
|
80893
|
+
reportIdempotencyKeyRotated(action.targetId, 'idempotency-error');
|
|
80858
80894
|
}
|
|
80859
80895
|
else {
|
|
80860
80896
|
delete action.data.headers[HTTP_HEADER_IDEMPOTENCY_KEY];
|
|
@@ -96793,7 +96829,7 @@
|
|
|
96793
96829
|
},
|
|
96794
96830
|
};
|
|
96795
96831
|
}
|
|
96796
|
-
// version: 1.
|
|
96832
|
+
// version: 1.450.0-163071957b
|
|
96797
96833
|
|
|
96798
96834
|
/**
|
|
96799
96835
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -96819,7 +96855,7 @@
|
|
|
96819
96855
|
},
|
|
96820
96856
|
};
|
|
96821
96857
|
}
|
|
96822
|
-
// version: 1.
|
|
96858
|
+
// version: 1.450.0-163071957b
|
|
96823
96859
|
|
|
96824
96860
|
function findExecutableOperation$1(input) {
|
|
96825
96861
|
const operations = input.query.definitions.filter(
|
|
@@ -97647,6 +97683,15 @@
|
|
|
97647
97683
|
}
|
|
97648
97684
|
return new Error("Internal error in Lightning Data Service adapter occurred.");
|
|
97649
97685
|
}
|
|
97686
|
+
function unwrapUserlandError(error) {
|
|
97687
|
+
if (isUserVisibleError$2(error)) {
|
|
97688
|
+
return error.data;
|
|
97689
|
+
}
|
|
97690
|
+
return toError(error);
|
|
97691
|
+
}
|
|
97692
|
+
function throwUnwrappedUserlandError(error) {
|
|
97693
|
+
throw unwrapUserlandError(error);
|
|
97694
|
+
}
|
|
97650
97695
|
function logError(error) {
|
|
97651
97696
|
if (isUserVisibleError$2(error)) {
|
|
97652
97697
|
return;
|
|
@@ -97710,7 +97755,9 @@
|
|
|
97710
97755
|
deepFreeze(result.value);
|
|
97711
97756
|
return isSubscribableResult(result) ? result.value.data : result.value;
|
|
97712
97757
|
}
|
|
97713
|
-
|
|
97758
|
+
throwUnwrappedUserlandError(
|
|
97759
|
+
isSubscribableResult(result) ? result.error.failure : result.error
|
|
97760
|
+
);
|
|
97714
97761
|
});
|
|
97715
97762
|
}
|
|
97716
97763
|
}
|
|
@@ -97728,7 +97775,9 @@
|
|
|
97728
97775
|
deepFreeze(result.value);
|
|
97729
97776
|
return isSubscribableResult(result) ? { data: result.value.data } : { data: result.value };
|
|
97730
97777
|
}
|
|
97731
|
-
|
|
97778
|
+
throwUnwrappedUserlandError(
|
|
97779
|
+
isSubscribableResult(result) ? result.error.failure : result.error
|
|
97780
|
+
);
|
|
97732
97781
|
});
|
|
97733
97782
|
}
|
|
97734
97783
|
}
|
|
@@ -97760,7 +97809,10 @@
|
|
|
97760
97809
|
subscribe: (cb) => {
|
|
97761
97810
|
return result.value.subscribe((result2) => {
|
|
97762
97811
|
if (result2.isErr()) {
|
|
97763
|
-
return cb({
|
|
97812
|
+
return cb({
|
|
97813
|
+
data: void 0,
|
|
97814
|
+
error: unwrapUserlandError(result2.error)
|
|
97815
|
+
});
|
|
97764
97816
|
}
|
|
97765
97817
|
return cb({ data: result2.value, error: void 0 });
|
|
97766
97818
|
});
|
|
@@ -97782,7 +97834,7 @@
|
|
|
97782
97834
|
return api;
|
|
97783
97835
|
}
|
|
97784
97836
|
} else {
|
|
97785
|
-
|
|
97837
|
+
throwUnwrappedUserlandError(result.error.failure);
|
|
97786
97838
|
}
|
|
97787
97839
|
}
|
|
97788
97840
|
}
|
|
@@ -97804,7 +97856,7 @@
|
|
|
97804
97856
|
deepFreeze(result.value);
|
|
97805
97857
|
callback({ data: result.value.data, error: void 0 });
|
|
97806
97858
|
} else {
|
|
97807
|
-
callback({ data: void 0, error:
|
|
97859
|
+
callback({ data: void 0, error: unwrapUserlandError(result.error.failure) });
|
|
97808
97860
|
}
|
|
97809
97861
|
} catch (error) {
|
|
97810
97862
|
emitError(callback, error);
|
|
@@ -97819,14 +97871,20 @@
|
|
|
97819
97871
|
command.execute(overrides).then(
|
|
97820
97872
|
(result) => {
|
|
97821
97873
|
if (!result.isOk()) {
|
|
97822
|
-
callback({
|
|
97874
|
+
callback({
|
|
97875
|
+
data: void 0,
|
|
97876
|
+
error: unwrapUserlandError(result.error.failure)
|
|
97877
|
+
});
|
|
97823
97878
|
return;
|
|
97824
97879
|
}
|
|
97825
97880
|
unsubscribe = result.value.subscribe((res) => {
|
|
97826
97881
|
if (res.isOk()) {
|
|
97827
97882
|
callback({ data: res.value, error: void 0 });
|
|
97828
97883
|
} else {
|
|
97829
|
-
callback({
|
|
97884
|
+
callback({
|
|
97885
|
+
data: void 0,
|
|
97886
|
+
error: unwrapUserlandError(res.error)
|
|
97887
|
+
});
|
|
97830
97888
|
}
|
|
97831
97889
|
});
|
|
97832
97890
|
callback({ data: result.value.data, error: void 0 });
|
|
@@ -99506,7 +99564,7 @@
|
|
|
99506
99564
|
id: '@salesforce/lds-network-adapter',
|
|
99507
99565
|
instrument: instrument$2,
|
|
99508
99566
|
});
|
|
99509
|
-
// version: 1.
|
|
99567
|
+
// version: 1.450.0-163071957b
|
|
99510
99568
|
|
|
99511
99569
|
const { create: create$2, keys: keys$2 } = Object;
|
|
99512
99570
|
const { stringify, parse } = JSON;
|
|
@@ -107041,7 +107099,7 @@
|
|
|
107041
107099
|
cb(graphql_v1_import, graphql_imperative$1, graphql_imperative_legacy_v1_import, graphql_state_manager, useOneStoreGraphQL);
|
|
107042
107100
|
}
|
|
107043
107101
|
}
|
|
107044
|
-
// version: 1.
|
|
107102
|
+
// version: 1.450.0-b7557fd74b
|
|
107045
107103
|
|
|
107046
107104
|
function createFragmentMap(documentNode) {
|
|
107047
107105
|
const fragments = {};
|
|
@@ -136284,7 +136342,7 @@
|
|
|
136284
136342
|
configuration: { ...configurationForGraphQLAdapters$1 },
|
|
136285
136343
|
instrument: instrument$1,
|
|
136286
136344
|
});
|
|
136287
|
-
// version: 1.
|
|
136345
|
+
// version: 1.450.0-b7557fd74b
|
|
136288
136346
|
|
|
136289
136347
|
// On core the unstable adapters are re-exported with different names,
|
|
136290
136348
|
// we want to match them here.
|
|
@@ -136436,7 +136494,7 @@
|
|
|
136436
136494
|
unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
|
|
136437
136495
|
graphQLImperative = ldsAdapter;
|
|
136438
136496
|
});
|
|
136439
|
-
// version: 1.
|
|
136497
|
+
// version: 1.450.0-b7557fd74b
|
|
136440
136498
|
|
|
136441
136499
|
var gqlApi = /*#__PURE__*/Object.freeze({
|
|
136442
136500
|
__proto__: null,
|
|
@@ -137235,7 +137293,7 @@
|
|
|
137235
137293
|
function register(r) {
|
|
137236
137294
|
callbacks$1.forEach((callback) => callback(r));
|
|
137237
137295
|
}
|
|
137238
|
-
// version: 1.
|
|
137296
|
+
// version: 1.450.0-163071957b
|
|
137239
137297
|
|
|
137240
137298
|
/**
|
|
137241
137299
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -138545,4 +138603,4 @@
|
|
|
138545
138603
|
exports.subscribeToAdapter = subscribeToAdapter;
|
|
138546
138604
|
|
|
138547
138605
|
}));
|
|
138548
|
-
// version: 1.
|
|
138606
|
+
// version: 1.450.0-163071957b
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/lds-worker-api",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.450.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "dist/standalone/es/lds-worker-api.js",
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@oat-sa/rollup-plugin-wildcard-external": "^1.0.0",
|
|
38
|
-
"@salesforce/lds-adapters-graphql": "^1.
|
|
39
|
-
"@salesforce/lds-adapters-uiapi": "^1.
|
|
40
|
-
"@salesforce/lds-default-luvio": "^1.
|
|
41
|
-
"@salesforce/lds-drafts": "^1.
|
|
42
|
-
"@salesforce/lds-graphql-parser": "^1.
|
|
43
|
-
"@salesforce/lds-luvio-engine": "^1.
|
|
44
|
-
"@salesforce/lds-runtime-mobile": "^1.
|
|
45
|
-
"@salesforce/nimbus-plugin-lds": "^1.
|
|
38
|
+
"@salesforce/lds-adapters-graphql": "^1.450.0",
|
|
39
|
+
"@salesforce/lds-adapters-uiapi": "^1.450.0",
|
|
40
|
+
"@salesforce/lds-default-luvio": "^1.450.0",
|
|
41
|
+
"@salesforce/lds-drafts": "^1.450.0",
|
|
42
|
+
"@salesforce/lds-graphql-parser": "^1.450.0",
|
|
43
|
+
"@salesforce/lds-luvio-engine": "^1.450.0",
|
|
44
|
+
"@salesforce/lds-runtime-mobile": "^1.450.0",
|
|
45
|
+
"@salesforce/nimbus-plugin-lds": "^1.450.0",
|
|
46
46
|
"ajv": "^8.11.0",
|
|
47
47
|
"glob": "^7.1.5",
|
|
48
48
|
"nimbus-types": "^2.0.0-alpha1",
|