@salesforce/lds-worker-api 1.378.0 → 1.379.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.
@@ -4280,7 +4280,7 @@
4280
4280
  }
4281
4281
  callbacks.push(callback);
4282
4282
  }
4283
- // version: 1.378.0-0ab3d40d29
4283
+ // version: 1.379.0-fc97fd9203
4284
4284
 
4285
4285
  // TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
4286
4286
  function instrumentAdapter$1(createFunction, _metadata) {
@@ -5324,7 +5324,7 @@
5324
5324
  const { apiFamily, name } = metadata;
5325
5325
  return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
5326
5326
  }
5327
- // version: 1.378.0-0ab3d40d29
5327
+ // version: 1.379.0-fc97fd9203
5328
5328
 
5329
5329
  /**
5330
5330
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -34160,7 +34160,7 @@
34160
34160
  throttle(60, 60000, setupNotifyAllListRecordUpdateAvailable(luvio));
34161
34161
  throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
34162
34162
  });
34163
- // version: 1.378.0-63d7c07562
34163
+ // version: 1.379.0-a57c798add
34164
34164
 
34165
34165
  function requestIdleDetectedCallback(_callback) { }
34166
34166
  function declareNotifierTaskSingle(_name) {
@@ -45770,15 +45770,6 @@
45770
45770
  },
45771
45771
  };
45772
45772
 
45773
- var productConsumedSideEffects = {
45774
- isOpen: function (e) {
45775
- return e.fallback;
45776
- },
45777
- hasError: function () {
45778
- return !0;
45779
- },
45780
- };
45781
-
45782
45773
  var useOneStore = {
45783
45774
  isOpen: function (e) {
45784
45775
  return e.fallback;
@@ -46123,6 +46114,15 @@
46123
46114
  return ok$4(data);
46124
46115
  }
46125
46116
 
46117
+ var productConsumedSideEffects = {
46118
+ isOpen: function (e) {
46119
+ return e.fallback;
46120
+ },
46121
+ hasError: function () {
46122
+ return !0;
46123
+ },
46124
+ };
46125
+
46126
46126
  /**
46127
46127
  * Copyright (c) 2022, Salesforce, Inc.,
46128
46128
  * All rights reserved.
@@ -95887,7 +95887,7 @@
95887
95887
  },
95888
95888
  };
95889
95889
  }
95890
- // version: 1.378.0-63d7c07562
95890
+ // version: 1.379.0-a57c798add
95891
95891
 
95892
95892
  /**
95893
95893
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -95913,7 +95913,7 @@
95913
95913
  },
95914
95914
  };
95915
95915
  }
95916
- // version: 1.378.0-63d7c07562
95916
+ // version: 1.379.0-a57c798add
95917
95917
 
95918
95918
  /*!
95919
95919
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -98029,7 +98029,7 @@
98029
98029
  id: '@salesforce/lds-network-adapter',
98030
98030
  instrument: instrument$2,
98031
98031
  });
98032
- // version: 1.378.0-0ab3d40d29
98032
+ // version: 1.379.0-fc97fd9203
98033
98033
 
98034
98034
  const { create: create$3, keys: keys$3 } = Object;
98035
98035
  const { stringify: stringify$1, parse } = JSON;
@@ -99408,7 +99408,11 @@
99408
99408
  }
99409
99409
  augmentInlineFragmentSelection(fragment, fragments) {
99410
99410
  var _a;
99411
- if (!this.satisfiesFragmentTypeCondition(fragment)) {
99411
+ const satisfiedFragmentTypeConditionResult = this.satisfiesFragmentTypeCondition(
99412
+ void 0,
99413
+ fragment
99414
+ );
99415
+ if (satisfiedFragmentTypeConditionResult.isErr() || !satisfiedFragmentTypeConditionResult.value) {
99412
99416
  return { selections: [], fragments };
99413
99417
  }
99414
99418
  const augmentedFragmentSelections = this.augmentSelections({
@@ -99434,7 +99438,11 @@
99434
99438
  if (fragment === void 0) {
99435
99439
  return { selections: [selection], fragments };
99436
99440
  }
99437
- if (!this.satisfiesFragmentTypeCondition(fragment)) {
99441
+ const satisfiedFragmentTypeConditionResult = this.satisfiesFragmentTypeCondition(
99442
+ void 0,
99443
+ fragment
99444
+ );
99445
+ if (satisfiedFragmentTypeConditionResult.isErr() || !satisfiedFragmentTypeConditionResult.value) {
99438
99446
  return { selections: [], fragments };
99439
99447
  }
99440
99448
  const augmentedFragmentSelections = this.augmentSelections({
@@ -99547,10 +99555,7 @@
99547
99555
  };
99548
99556
  }
99549
99557
  normalizeFragment(cache, input, fragment, errorCollector) {
99550
- const shouldProcessResult = this.shouldProcessFragment(
99551
- fragment,
99552
- input.request.definitions.variables
99553
- );
99558
+ const shouldProcessResult = this.shouldProcessFragment(input, fragment);
99554
99559
  if (shouldProcessResult.isErr()) {
99555
99560
  errorCollector.push({
99556
99561
  type: "unknown",
@@ -99681,10 +99686,7 @@
99681
99686
  };
99682
99687
  }
99683
99688
  denormalizeFragment(cache, input, fragment, errorCollector) {
99684
- const shouldProcessResult = this.shouldProcessFragment(
99685
- fragment,
99686
- input.request.definitions.variables
99687
- );
99689
+ const shouldProcessResult = this.shouldProcessFragment(input, fragment);
99688
99690
  if (shouldProcessResult.isErr()) {
99689
99691
  errorCollector.push({
99690
99692
  type: "unknown",
@@ -99722,28 +99724,28 @@
99722
99724
  }
99723
99725
  return void 0;
99724
99726
  }
99725
- shouldProcessFragment(fragment, variables) {
99726
- const shouldSkipResult = shouldSkip(fragment, variables);
99727
+ shouldProcessFragment(input, fragment) {
99728
+ const shouldSkipResult = shouldSkip(fragment, input.request.definitions.variables);
99727
99729
  if (shouldSkipResult.isErr()) {
99728
99730
  return shouldSkipResult;
99729
99731
  }
99730
99732
  if (shouldSkipResult.value) {
99731
99733
  return ok$4(false);
99732
99734
  }
99733
- return ok$4(this.satisfiesFragmentTypeCondition(fragment));
99735
+ return this.satisfiesFragmentTypeCondition(input, fragment);
99734
99736
  }
99735
- satisfiesFragmentTypeCondition(fragment) {
99737
+ satisfiesFragmentTypeCondition(_input, fragment) {
99736
99738
  if (!fragment.typeCondition) {
99737
- return true;
99739
+ return ok$4(true);
99738
99740
  }
99739
99741
  const conditionalTypeName = fragment.typeCondition.name.value;
99740
99742
  if (conditionalTypeName === this.typeName) {
99741
- return true;
99743
+ return ok$4(true);
99742
99744
  }
99743
99745
  if (this.implementedInterfaces.includes(conditionalTypeName)) {
99744
- return true;
99746
+ return ok$4(true);
99745
99747
  }
99746
- return false;
99748
+ return ok$4(false);
99747
99749
  }
99748
99750
  getCacheKeyFieldArguments(selection) {
99749
99751
  return selection.arguments;
@@ -100472,10 +100474,11 @@
100472
100474
  }
100473
100475
  }
100474
100476
  function buildAsyncGraphQLImperativeLegacyInvoker(getCommand) {
100475
- const invoke = async (config, _requestContext, callback) => {
100477
+ const invoke = async (config, requestContext, callback) => {
100476
100478
  const command = getCommand({ config, assertIsValid });
100477
100479
  try {
100478
- const result = await command.execute();
100480
+ const overrides = requestContextIsCachePolicy(requestContext) ? { cacheControlConfig: { type: "no-cache" } } : {};
100481
+ const result = await command.execute(overrides);
100479
100482
  if (result.isOk()) {
100480
100483
  deepFreeze(result.value);
100481
100484
  }
@@ -100484,11 +100487,12 @@
100484
100487
  emitGraphQLResult(callback, err$1(error));
100485
100488
  }
100486
100489
  };
100487
- const subscribe = (config, _requestContext, callback) => {
100490
+ const subscribe = (config, requestContext, callback) => {
100488
100491
  const command = getCommand({ config, assertIsValid });
100489
100492
  let unsubscribe = () => {
100490
100493
  };
100491
- command.execute().then((result) => {
100494
+ const overrides = requestContextIsCachePolicy(requestContext) ? { cacheControlConfig: { type: "no-cache" } } : {};
100495
+ command.execute(overrides).then((result) => {
100492
100496
  if (!result.isOk()) {
100493
100497
  emitGraphQLResult(callback, result);
100494
100498
  return;
@@ -100504,7 +100508,10 @@
100504
100508
  };
100505
100509
  return { invoke, subscribe };
100506
100510
  }
100507
- // version: 1.378.0-63d7c07562
100511
+ function requestContextIsCachePolicy(requestContext) {
100512
+ return typeof requestContext === "object" && requestContext !== null && "cachePolicy" in requestContext && typeof requestContext.cachePolicy === "object" && requestContext.cachePolicy !== null && "type" in requestContext.cachePolicy && requestContext.cachePolicy.type === "no-cache";
100513
+ }
100514
+ // version: 1.379.0-a57c798add
100508
100515
 
100509
100516
  class Analytics__AnalyticsBrowseRepository extends UnidentifiableGraphQLTypeRepository {
100510
100517
  constructor(services, typeRegistry) {
@@ -100716,7 +100723,14 @@
100716
100723
  this.namespace = "oas";
100717
100724
  this.typeName = "AnyType";
100718
100725
  this.implementedInterfaces = [];
100719
- this.possibleTypes = {
100726
+ }
100727
+ get fields() {
100728
+ return {
100729
+ __typename: new BaseScalarFieldDef(false),
100730
+ };
100731
+ }
100732
+ get possibleTypes() {
100733
+ return {
100720
100734
  BooleanValue: this.typeRegistry.BooleanValue,
100721
100735
  DateValue: this.typeRegistry.DateValue,
100722
100736
  DateTimeValue: this.typeRegistry.DateTimeValue,
@@ -100724,11 +100738,6 @@
100724
100738
  StringValue: this.typeRegistry.StringValue,
100725
100739
  };
100726
100740
  }
100727
- get fields() {
100728
- return {
100729
- __typename: new BaseScalarFieldDef(false),
100730
- };
100731
- }
100732
100741
  }
100733
100742
 
100734
100743
  class Base64ValueRepository extends UnidentifiableGraphQLTypeRepository {
@@ -101661,7 +101670,7 @@
101661
101670
  }
101662
101671
  }
101663
101672
 
101664
- class PolymorphicAggregateParentRelationshipRepository extends BaseUnionRepository {
101673
+ let PolymorphicAggregateParentRelationshipRepository$1 = class PolymorphicAggregateParentRelationshipRepository extends BaseUnionRepository {
101665
101674
  constructor(services, typeRegistry) {
101666
101675
  super(services);
101667
101676
  this.services = services;
@@ -101669,16 +101678,18 @@
101669
101678
  this.namespace = "oas";
101670
101679
  this.typeName = "PolymorphicAggregateParentRelationship";
101671
101680
  this.implementedInterfaces = [];
101672
- this.possibleTypes = {
101673
- RecordAggregate: this.typeRegistry.RecordAggregate,
101674
- };
101675
101681
  }
101676
101682
  get fields() {
101677
101683
  return {
101678
101684
  __typename: new BaseScalarFieldDef(false),
101679
101685
  };
101680
101686
  }
101681
- }
101687
+ get possibleTypes() {
101688
+ return {
101689
+ RecordAggregate: this.typeRegistry.RecordAggregate,
101690
+ };
101691
+ }
101692
+ };
101682
101693
 
101683
101694
  let PolymorphicParentRelationshipRepository$1 = class PolymorphicParentRelationshipRepository extends BaseUnionRepository {
101684
101695
  constructor(services, typeRegistry) {
@@ -101688,15 +101699,17 @@
101688
101699
  this.namespace = "oas";
101689
101700
  this.typeName = "PolymorphicParentRelationship";
101690
101701
  this.implementedInterfaces = [];
101691
- this.possibleTypes = {
101692
- RecordRepresentation: this.typeRegistry.RecordRepresentation,
101693
- };
101694
101702
  }
101695
101703
  get fields() {
101696
101704
  return {
101697
101705
  __typename: new BaseScalarFieldDef(false),
101698
101706
  };
101699
101707
  }
101708
+ get possibleTypes() {
101709
+ return {
101710
+ RecordRepresentation: this.typeRegistry.RecordRepresentation,
101711
+ };
101712
+ }
101700
101713
  };
101701
101714
 
101702
101715
  class QueryRepository extends GraphQLDocumentRootTypeRepository {
@@ -101721,7 +101734,7 @@
101721
101734
  }
101722
101735
  }
101723
101736
 
101724
- class RecordAggregateConnectionRepository extends UnidentifiableGraphQLTypeRepository {
101737
+ let RecordAggregateConnectionRepository$1 = class RecordAggregateConnectionRepository extends UnidentifiableGraphQLTypeRepository {
101725
101738
  constructor(services, typeRegistry) {
101726
101739
  super(services);
101727
101740
  this.services = services;
@@ -101738,9 +101751,9 @@
101738
101751
  totalCount: new BaseScalarFieldDef(false),
101739
101752
  };
101740
101753
  }
101741
- }
101754
+ };
101742
101755
 
101743
- class RecordAggregateEdgeRepository extends UnidentifiableGraphQLTypeRepository {
101756
+ let RecordAggregateEdgeRepository$1 = class RecordAggregateEdgeRepository extends UnidentifiableGraphQLTypeRepository {
101744
101757
  constructor(services, typeRegistry) {
101745
101758
  super(services);
101746
101759
  this.services = services;
@@ -101756,7 +101769,7 @@
101756
101769
  cursor: new BaseScalarFieldDef(false),
101757
101770
  };
101758
101771
  }
101759
- }
101772
+ };
101760
101773
 
101761
101774
  let RecordAggregateRepository$1 = class RecordAggregateRepository extends UnidentifiableGraphQLTypeRepository {
101762
101775
  constructor(services, typeRegistry) {
@@ -101794,7 +101807,7 @@
101794
101807
  }
101795
101808
  };
101796
101809
 
101797
- class RecordConnectionRepository extends UnidentifiableGraphQLTypeRepository {
101810
+ let RecordConnectionRepository$1 = class RecordConnectionRepository extends UnidentifiableGraphQLTypeRepository {
101798
101811
  constructor(services, typeRegistry) {
101799
101812
  super(services);
101800
101813
  this.services = services;
@@ -101812,9 +101825,9 @@
101812
101825
  pageResultCount: new BaseScalarFieldDef(false),
101813
101826
  };
101814
101827
  }
101815
- }
101828
+ };
101816
101829
 
101817
- class RecordEdgeRepository extends UnidentifiableGraphQLTypeRepository {
101830
+ let RecordEdgeRepository$1 = class RecordEdgeRepository extends UnidentifiableGraphQLTypeRepository {
101818
101831
  constructor(services, typeRegistry) {
101819
101832
  super(services);
101820
101833
  this.services = services;
@@ -101830,7 +101843,7 @@
101830
101843
  cursor: new BaseScalarFieldDef(false),
101831
101844
  };
101832
101845
  }
101833
- }
101846
+ };
101834
101847
 
101835
101848
  let RecordQueryAggregateRepository$1 = class RecordQueryAggregateRepository extends UnidentifiableGraphQLTypeRepository {
101836
101849
  constructor(services, typeRegistry) {
@@ -101925,7 +101938,7 @@
101925
101938
  }
101926
101939
  };
101927
101940
 
101928
- class RecordResultRepository extends UnidentifiableGraphQLTypeRepository {
101941
+ let RecordResultRepository$1 = class RecordResultRepository extends UnidentifiableGraphQLTypeRepository {
101929
101942
  constructor(services, typeRegistry) {
101930
101943
  super(services);
101931
101944
  this.services = services;
@@ -101940,7 +101953,7 @@
101940
101953
  aggregate: new BaseObjectFieldDef(this.typeRegistry.RecordAggregate, true),
101941
101954
  };
101942
101955
  }
101943
- }
101956
+ };
101944
101957
 
101945
101958
  class RecordTypeInfoRepository extends UnidentifiableGraphQLTypeRepository {
101946
101959
  constructor(services, typeRegistry) {
@@ -102363,15 +102376,17 @@
102363
102376
  this.namespace = "oas";
102364
102377
  this.typeName = "Setup__SetupPolymorphicAggregateParentRelationship";
102365
102378
  this.implementedInterfaces = [];
102366
- this.possibleTypes = {
102367
- Setup__SetupRecordAggregate: this.typeRegistry.Setup__SetupRecordAggregate,
102368
- };
102369
102379
  }
102370
102380
  get fields() {
102371
102381
  return {
102372
102382
  __typename: new BaseScalarFieldDef(false),
102373
102383
  };
102374
102384
  }
102385
+ get possibleTypes() {
102386
+ return {
102387
+ Setup__SetupRecordAggregate: this.typeRegistry.Setup__SetupRecordAggregate,
102388
+ };
102389
+ }
102375
102390
  }
102376
102391
 
102377
102392
  class Setup__SetupPolymorphicParentRelationshipRepository extends BaseUnionRepository {
@@ -102382,15 +102397,17 @@
102382
102397
  this.namespace = "oas";
102383
102398
  this.typeName = "Setup__SetupPolymorphicParentRelationship";
102384
102399
  this.implementedInterfaces = [];
102385
- this.possibleTypes = {
102386
- Setup__EntityRepresentation: this.typeRegistry.Setup__EntityRepresentation,
102387
- };
102388
102400
  }
102389
102401
  get fields() {
102390
102402
  return {
102391
102403
  __typename: new BaseScalarFieldDef(false),
102392
102404
  };
102393
102405
  }
102406
+ get possibleTypes() {
102407
+ return {
102408
+ Setup__EntityRepresentation: this.typeRegistry.Setup__EntityRepresentation,
102409
+ };
102410
+ }
102394
102411
  }
102395
102412
 
102396
102413
  class Setup__SetupQueryAggregateRepository extends UnidentifiableGraphQLTypeRepository {
@@ -102740,10 +102757,10 @@
102740
102757
  this._AnyType = new AnyTypeRepository(this.services, this);
102741
102758
  this._RecordRepresentation =
102742
102759
  new RecordRepresentationRepository$1(this.services, this);
102743
- this._RecordEdge = new RecordEdgeRepository(this.services, this);
102760
+ this._RecordEdge = new RecordEdgeRepository$1(this.services, this);
102744
102761
  this._PageInfo = new PageInfoRepository(this.services, this);
102745
102762
  this._RecordConnection =
102746
- new RecordConnectionRepository(this.services, this);
102763
+ new RecordConnectionRepository$1(this.services, this);
102747
102764
  this._RecordQuery = new RecordQueryRepository$1(this.services, this);
102748
102765
  this._BooleanAggregate =
102749
102766
  new BooleanAggregateRepository(this.services, this);
@@ -102773,13 +102790,13 @@
102773
102790
  this._TimeAggregate = new TimeAggregateRepository(this.services, this);
102774
102791
  this._UrlAggregate = new UrlAggregateRepository(this.services, this);
102775
102792
  this._PolymorphicAggregateParentRelationship =
102776
- new PolymorphicAggregateParentRelationshipRepository(this.services, this);
102793
+ new PolymorphicAggregateParentRelationshipRepository$1(this.services, this);
102777
102794
  this._RecordAggregate = new RecordAggregateRepository$1(this.services, this);
102778
- this._RecordResult = new RecordResultRepository(this.services, this);
102795
+ this._RecordResult = new RecordResultRepository$1(this.services, this);
102779
102796
  this._RecordAggregateEdge =
102780
- new RecordAggregateEdgeRepository(this.services, this);
102797
+ new RecordAggregateEdgeRepository$1(this.services, this);
102781
102798
  this._RecordAggregateConnection =
102782
- new RecordAggregateConnectionRepository(this.services, this);
102799
+ new RecordAggregateConnectionRepository$1(this.services, this);
102783
102800
  this._RecordQueryAggregate =
102784
102801
  new RecordQueryAggregateRepository$1(this.services, this);
102785
102802
  this._ChildRelationship =
@@ -103329,9 +103346,19 @@
103329
103346
  'RecordTypeId',
103330
103347
  ];
103331
103348
  }
103332
- getFieldDef(input, selection) {
103349
+ getFieldDef(_input, selection) {
103333
103350
  return buildGenericTypeFieldDef(selection, this.fields, this.staticFieldNames, this.typeName);
103334
103351
  }
103352
+ satisfiesFragmentTypeCondition(_input, fragment) {
103353
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103354
+ if (result.isErr()) {
103355
+ return result;
103356
+ }
103357
+ if (result.value) {
103358
+ return result;
103359
+ }
103360
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103361
+ }
103335
103362
  }
103336
103363
 
103337
103364
  class RecordRepresentationRepository extends RecordRepresentationRepository$1 {
@@ -103354,15 +103381,26 @@
103354
103381
  let overridenInput = input;
103355
103382
  // If ID exists in the data but wasn't asked for, its from the extensions, and we should normalize it
103356
103383
  if (input.data.Id !== undefined &&
103357
- input.selections.find((selection) => selection.kind === 'Field' && selection.name.value === 'Id')) {
103384
+ !input.selections.find((selection) => selection.kind === 'Field' && selection.name.value === 'Id')) {
103358
103385
  overridenInput = {
103359
- ...input,
103386
+ ...overridenInput,
103360
103387
  selections: [
103361
- ...input.selections,
103388
+ ...overridenInput.selections,
103362
103389
  { kind: 'Field', name: { kind: 'Name', value: 'Id' } },
103363
103390
  ],
103364
103391
  };
103365
103392
  }
103393
+ // If WeakEtag exists in the data but wasn't asked for, its from the extensions, and we should normalize it
103394
+ if (input.data.WeakEtag !== undefined &&
103395
+ !input.selections.find((selection) => selection.kind === 'Field' && selection.name.value === 'WeakEtag')) {
103396
+ overridenInput = {
103397
+ ...overridenInput,
103398
+ selections: [
103399
+ ...overridenInput.selections,
103400
+ { kind: 'Field', name: { kind: 'Name', value: 'WeakEtag' } },
103401
+ ],
103402
+ };
103403
+ }
103366
103404
  const result = super.write(cache, overridenInput);
103367
103405
  const recordId = input.data.Id;
103368
103406
  const luvioRecord = input.getNormalizedLuvioRecord(recordId, input.reader);
@@ -103375,13 +103413,18 @@
103375
103413
  }
103376
103414
  read(cache, input) {
103377
103415
  const result = super.read(cache, input);
103378
- const idData = super.read(cache, {
103416
+ const trackingData = super.read(cache, {
103379
103417
  ...input,
103380
- selections: [{ kind: 'Field', name: { kind: 'Name', value: 'Id' } }],
103418
+ selections: [
103419
+ { kind: 'Field', name: { kind: 'Name', value: 'Id' } },
103420
+ { kind: 'Field', name: { kind: 'Name', value: 'WeakEtag' } },
103421
+ ],
103381
103422
  });
103382
- if (idData.isOk()) {
103423
+ if (trackingData.isOk()) {
103383
103424
  // Read the record to track subscription
103384
- input.getNormalizedLuvioRecord(idData.value.Id, input.reader);
103425
+ input.getNormalizedLuvioRecord(trackingData.value.Id, input.reader);
103426
+ // Track the weak etag for the record for cross cache invalidation
103427
+ input.usedRecordIdToWeakEtagMap[trackingData.value.Id] = trackingData.value.WeakEtag;
103385
103428
  }
103386
103429
  return result;
103387
103430
  }
@@ -103474,6 +103517,16 @@
103474
103517
  isBaseFieldSelection(selection) {
103475
103518
  return super.getFieldDef(undefined, selection) !== undefined;
103476
103519
  }
103520
+ satisfiesFragmentTypeCondition(_input, fragment) {
103521
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103522
+ if (result.isErr()) {
103523
+ return result;
103524
+ }
103525
+ if (result.value) {
103526
+ return result;
103527
+ }
103528
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103529
+ }
103477
103530
  }
103478
103531
 
103479
103532
  class RecordQueryRepository extends RecordQueryRepository$1 {
@@ -103495,6 +103548,16 @@
103495
103548
  getFieldDef(input, selection) {
103496
103549
  return buildGenericTypeFieldDef(selection, this.fields, this.staticFieldNames, this.typeName);
103497
103550
  }
103551
+ satisfiesFragmentTypeCondition(_input, fragment) {
103552
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103553
+ if (result.isErr()) {
103554
+ return result;
103555
+ }
103556
+ if (result.value) {
103557
+ return result;
103558
+ }
103559
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103560
+ }
103498
103561
  }
103499
103562
 
103500
103563
  class RecordQueryAggregateRepository extends RecordQueryAggregateRepository$1 {
@@ -103509,10 +103572,12 @@
103509
103572
  }
103510
103573
  }
103511
103574
 
103575
+ // This should be smarter, and filter on selections, but for now,
103576
+ // we'll match the luvio behavior of returning the blob
103512
103577
  const blobTypeDef = {
103513
103578
  read: (_cache, input) => {
103514
103579
  return ok({
103515
- data: input.data,
103580
+ data: input.normalizedData,
103516
103581
  });
103517
103582
  },
103518
103583
  write: (_cache, input) => {
@@ -103580,6 +103645,16 @@
103580
103645
  // We should make this smarter, storing and returning blobs isn't great since it could, and likely will, include unrequested field data
103581
103646
  return blobTypeDef;
103582
103647
  }
103648
+ satisfiesFragmentTypeCondition(input, fragment) {
103649
+ const result = super.satisfiesFragmentTypeCondition(input, fragment);
103650
+ if (result.isErr()) {
103651
+ return result;
103652
+ }
103653
+ if (result.value) {
103654
+ return result;
103655
+ }
103656
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103657
+ }
103583
103658
  }
103584
103659
 
103585
103660
  class SetupQueryAggregateRepository extends Setup__SetupQueryAggregateRepository {
@@ -103617,6 +103692,16 @@
103617
103692
  }
103618
103693
  return blobTypeDef;
103619
103694
  }
103695
+ satisfiesFragmentTypeCondition(_input, fragment) {
103696
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103697
+ if (result.isErr()) {
103698
+ return result;
103699
+ }
103700
+ if (result.value) {
103701
+ return result;
103702
+ }
103703
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103704
+ }
103620
103705
  }
103621
103706
 
103622
103707
  class PolymorphicParentRelationshipRepository extends PolymorphicParentRelationshipRepository$1 {
@@ -103627,26 +103712,242 @@
103627
103712
  }
103628
103713
  }
103629
103714
 
103715
+ // We're going to override the generated repository
103716
+ // to make this a pseudo-identifiable repository
103717
+ // so that we can independently control its cache control (no-cache)
103718
+ class SetupRepository extends IdentifiableGraphQLTypeRepository {
103719
+ constructor(services, typeRegistry) {
103720
+ super(services);
103721
+ this.typeRegistry = typeRegistry;
103722
+ this.namespace = 'oas';
103723
+ this.typeName = 'Setup__Setup';
103724
+ this.implementedInterfaces = [];
103725
+ this.cacheControl = {
103726
+ type: 'no-cache',
103727
+ };
103728
+ this.baseRepository = new Setup__SetupRepository(services, typeRegistry);
103729
+ }
103730
+ get fields() {
103731
+ return this.baseRepository.fields;
103732
+ }
103733
+ buildKeyParams(_input) {
103734
+ return null;
103735
+ }
103736
+ augmentSelections(input) {
103737
+ return this.baseRepository.augmentSelections(input);
103738
+ }
103739
+ }
103740
+
103741
+ class SetupEdgeRepository extends Setup__SetupEdgeRepository {
103742
+ satisfiesFragmentTypeCondition(_input, fragment) {
103743
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103744
+ if (result.isErr()) {
103745
+ return result;
103746
+ }
103747
+ if (result.value) {
103748
+ return result;
103749
+ }
103750
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103751
+ }
103752
+ }
103753
+
103754
+ class PolymorphicAggregateParentRelationshipRepository extends PolymorphicAggregateParentRelationshipRepository$1 {
103755
+ getTypeDiscriminator(data, _selections) {
103756
+ // Hardcoded to record aggregate since that's the only type of parent
103757
+ // relationship possible
103758
+ return 'RecordAggregate';
103759
+ }
103760
+ }
103761
+
103762
+ class RecordAggregateConnectionRepository extends RecordAggregateConnectionRepository$1 {
103763
+ satisfiesFragmentTypeCondition(_input, fragment) {
103764
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103765
+ if (result.isErr()) {
103766
+ return result;
103767
+ }
103768
+ if (result.value) {
103769
+ return result;
103770
+ }
103771
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103772
+ }
103773
+ }
103774
+
103775
+ class RecordAggregateEdgeRepository extends RecordAggregateEdgeRepository$1 {
103776
+ satisfiesFragmentTypeCondition(_input, fragment) {
103777
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103778
+ if (result.isErr()) {
103779
+ return result;
103780
+ }
103781
+ if (result.value) {
103782
+ return result;
103783
+ }
103784
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103785
+ }
103786
+ }
103787
+
103788
+ class RecordConnectionRepository extends RecordConnectionRepository$1 {
103789
+ satisfiesFragmentTypeCondition(_input, fragment) {
103790
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103791
+ if (result.isErr()) {
103792
+ return result;
103793
+ }
103794
+ if (result.value) {
103795
+ return result;
103796
+ }
103797
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103798
+ }
103799
+ }
103800
+
103801
+ class RecordEdgeRepository extends RecordEdgeRepository$1 {
103802
+ satisfiesFragmentTypeCondition(_input, fragment) {
103803
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103804
+ if (result.isErr()) {
103805
+ return result;
103806
+ }
103807
+ if (result.value) {
103808
+ return result;
103809
+ }
103810
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103811
+ }
103812
+ }
103813
+
103814
+ class RecordResultRepository extends RecordResultRepository$1 {
103815
+ satisfiesFragmentTypeCondition(_input, fragment) {
103816
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103817
+ if (result.isErr()) {
103818
+ return result;
103819
+ }
103820
+ if (result.value) {
103821
+ return result;
103822
+ }
103823
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103824
+ }
103825
+ }
103826
+
103827
+ class SetupRecordResultRepository extends Setup__SetupRecordResultRepository {
103828
+ satisfiesFragmentTypeCondition(_input, fragment) {
103829
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103830
+ if (result.isErr()) {
103831
+ return result;
103832
+ }
103833
+ if (result.value) {
103834
+ return result;
103835
+ }
103836
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103837
+ }
103838
+ }
103839
+
103840
+ class SetupAggregateConnectionRepository extends Setup__SetupAggregateConnectionRepository {
103841
+ satisfiesFragmentTypeCondition(_input, fragment) {
103842
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103843
+ if (result.isErr()) {
103844
+ return result;
103845
+ }
103846
+ if (result.value) {
103847
+ return result;
103848
+ }
103849
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103850
+ }
103851
+ }
103852
+
103853
+ class SetupAggregateEdgeRepository extends Setup__SetupAggregateEdgeRepository {
103854
+ satisfiesFragmentTypeCondition(_input, fragment) {
103855
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103856
+ if (result.isErr()) {
103857
+ return result;
103858
+ }
103859
+ if (result.value) {
103860
+ return result;
103861
+ }
103862
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103863
+ }
103864
+ }
103865
+
103866
+ class SetupConnectionRepository extends Setup__SetupConnectionRepository {
103867
+ satisfiesFragmentTypeCondition(_input, fragment) {
103868
+ const result = super.satisfiesFragmentTypeCondition(_input, fragment);
103869
+ if (result.isErr()) {
103870
+ return result;
103871
+ }
103872
+ if (result.value) {
103873
+ return result;
103874
+ }
103875
+ return err(new Error(`${this.typeName}: unsupported fragment type condition: ${fragment.typeCondition?.name.value}`));
103876
+ }
103877
+ }
103878
+
103879
+ class SetupPolymorphicAggregateParentRelationshipRepository extends Setup__SetupPolymorphicAggregateParentRelationshipRepository {
103880
+ getTypeDiscriminator(data, _selections) {
103881
+ // Hardcoded to Setup__SetupRecordAggregate since that's the only type of parent
103882
+ // relationship possible
103883
+ return 'Setup__SetupRecordAggregate';
103884
+ }
103885
+ }
103886
+
103887
+ class SetupPolymorphicParentRelationshipRepository extends Setup__SetupPolymorphicParentRelationshipRepository {
103888
+ getTypeDiscriminator(data, _selections) {
103889
+ // Hardcoded to Setup__EntityRepresentation since that's the only type of parent
103890
+ // relationship possible
103891
+ return 'Setup__EntityRepresentation';
103892
+ }
103893
+ }
103894
+
103630
103895
  class CustomGraphQLTypeRegistry extends GraphQLTypeRegistry {
103631
103896
  constructor(services) {
103632
103897
  super(services);
103633
- this._RecordRepresentation = new RecordRepresentationRepository(services, this);
103898
+ // UIAPI Records overrides
103634
103899
  this._CompoundField = new CompoundFieldRepository(services, this);
103635
- this._RecordQuery = new RecordQueryRepository(services, this);
103900
+ this._PolymorphicAggregateParentRelationship =
103901
+ new PolymorphicAggregateParentRelationshipRepository(services, this);
103902
+ this._PolymorphicParentRelationship = new PolymorphicParentRelationshipRepository(services, this);
103903
+ this._RecordAggregateConnection = new RecordAggregateConnectionRepository(services, this);
103904
+ this._RecordAggregateEdge = new RecordAggregateEdgeRepository(services, this);
103636
103905
  this._RecordAggregate = new RecordAggregateRepository(services, this);
103906
+ this._RecordConnection = new RecordConnectionRepository(services, this);
103907
+ this._RecordEdge = new RecordEdgeRepository(services, this);
103637
103908
  this._RecordQueryAggregate = new RecordQueryAggregateRepository(services, this);
103909
+ this._RecordQuery = new RecordQueryRepository(services, this);
103910
+ this._RecordRepresentation = new RecordRepresentationRepository(services, this);
103911
+ this._RecordResult = new RecordResultRepository(services, this);
103912
+ // Setup overrides
103913
+ this._SetupAggregateConnection = new SetupAggregateConnectionRepository(services, this);
103914
+ this._SetupAggregateEdge = new SetupAggregateEdgeRepository(services, this);
103915
+ this._SetupConnection = new SetupConnectionRepository(services, this);
103916
+ this._SetupEdge = new SetupEdgeRepository(services, this);
103638
103917
  this._SetupEntityRepresentation = new SetupEntityRepresentationRepository(services, this);
103918
+ this._SetupPolymorphicAggregateParentRelationship =
103919
+ new SetupPolymorphicAggregateParentRelationshipRepository(services, this);
103920
+ this._SetupPolymorphicParentRelationship = new SetupPolymorphicParentRelationshipRepository(services, this);
103639
103921
  this._SetupQueryAggregate = new SetupQueryAggregateRepository(services, this);
103640
103922
  this._SetupQuery = new SetupQueryRepository(services, this);
103641
103923
  this._SetupRecordAggregate = new SetupRecordAggregateRepository(services, this);
103642
- this._PolymorphicParentRelationship = new PolymorphicParentRelationshipRepository(services, this);
103924
+ this._SetupRecordResult = new SetupRecordResultRepository(services, this);
103925
+ this._Setup = new SetupRepository(services, this);
103643
103926
  }
103644
103927
  get CompoundField() {
103645
103928
  return this._CompoundField;
103646
103929
  }
103930
+ get PolymorphicAggregateParentRelationship() {
103931
+ return this._PolymorphicAggregateParentRelationship;
103932
+ }
103933
+ get PolymorphicParentRelationship() {
103934
+ return this._PolymorphicParentRelationship;
103935
+ }
103936
+ get RecordAggregateConnection() {
103937
+ return this._RecordAggregateConnection;
103938
+ }
103939
+ get RecordAggregateEdge() {
103940
+ return this._RecordAggregateEdge;
103941
+ }
103647
103942
  get RecordAggregate() {
103648
103943
  return this._RecordAggregate;
103649
103944
  }
103945
+ get RecordConnection() {
103946
+ return this._RecordConnection;
103947
+ }
103948
+ get RecordEdge() {
103949
+ return this._RecordEdge;
103950
+ }
103650
103951
  get RecordQueryAggregate() {
103651
103952
  return this._RecordQueryAggregate;
103652
103953
  }
@@ -103656,20 +103957,44 @@
103656
103957
  get RecordRepresentation() {
103657
103958
  return this._RecordRepresentation;
103658
103959
  }
103659
- get SetupEntityRepresentation() {
103960
+ get RecordResult() {
103961
+ return this._RecordResult;
103962
+ }
103963
+ get Setup__SetupAggregateConnection() {
103964
+ return this._SetupAggregateConnection;
103965
+ }
103966
+ get Setup__SetupAggregateEdge() {
103967
+ return this._SetupAggregateEdge;
103968
+ }
103969
+ get Setup__SetupConnection() {
103970
+ return this._SetupConnection;
103971
+ }
103972
+ get Setup__SetupEdge() {
103973
+ return this._SetupEdge;
103974
+ }
103975
+ get Setup__EntityRepresentation() {
103660
103976
  return this._SetupEntityRepresentation;
103661
103977
  }
103662
- get SetupQueryAggregate() {
103978
+ get Setup__SetupPolymorphicAggregateParentRelationship() {
103979
+ return this._SetupPolymorphicAggregateParentRelationship;
103980
+ }
103981
+ get Setup__SetupPolymorphicParentRelationship() {
103982
+ return this._SetupPolymorphicParentRelationship;
103983
+ }
103984
+ get Setup__SetupQueryAggregate() {
103663
103985
  return this._SetupQueryAggregate;
103664
103986
  }
103665
- get SetupQuery() {
103987
+ get Setup__SetupQuery() {
103666
103988
  return this._SetupQuery;
103667
103989
  }
103668
- get SetupRecordAggregate() {
103990
+ get Setup__SetupRecordAggregate() {
103669
103991
  return this._SetupRecordAggregate;
103670
103992
  }
103671
- get PolymorphicParentRelationship() {
103672
- return this._PolymorphicParentRelationship;
103993
+ get Setup__SetupRecordResult() {
103994
+ return this._SetupRecordResult;
103995
+ }
103996
+ get Setup__Setup() {
103997
+ return this._Setup;
103673
103998
  }
103674
103999
  }
103675
104000
 
@@ -103821,10 +104146,12 @@
103821
104146
  reader: true,
103822
104147
  synthetic: true,
103823
104148
  read: (reader) => {
104149
+ this.latestUsedRecordIdToWeakEtagMap = {};
103824
104150
  readFromCacheResult = this.buildResultType().query(cache, {
103825
104151
  ...this.buildQuery(),
103826
104152
  reader,
103827
104153
  getNormalizedLuvioRecord: this.services.luvioUiapiRecords.getNormalizedLuvioRecord,
104154
+ usedRecordIdToWeakEtagMap: this.latestUsedRecordIdToWeakEtagMap,
103828
104155
  });
103829
104156
  return readFromCacheResult;
103830
104157
  },
@@ -103876,15 +104203,20 @@
103876
104203
  }
103877
104204
  return resolvedPromiseLike(undefined);
103878
104205
  }
103879
- execute() {
104206
+ execute(overrides) {
104207
+ this.services.instrumentation?.metrics
104208
+ .getMeter('onestore')
104209
+ .createCounter(`graphql.execute.count`)
104210
+ .add(1);
103880
104211
  // Clear snapshot and unsubscribe from any existing subscriptions at the beginning of execute calls
103881
104212
  this.latestLuvioSnapshot = undefined;
103882
104213
  this.latestLuvioRecordIdsToInvalidate = undefined;
104214
+ this.latestUsedRecordIdToWeakEtagMap = undefined;
103883
104215
  if (this.unsubscribeFromLuvioSnapshot) {
103884
104216
  this.unsubscribeFromLuvioSnapshot();
103885
104217
  this.unsubscribeFromLuvioSnapshot = undefined;
103886
104218
  }
103887
- const result = super.execute();
104219
+ const result = super.execute(overrides);
103888
104220
  result.then((_) => {
103889
104221
  if (this.latestLuvioRecordIdsToInvalidate &&
103890
104222
  this.latestLuvioRecordIdsToInvalidate.length > 0) {
@@ -103893,6 +104225,13 @@
103893
104225
  });
103894
104226
  return result;
103895
104227
  }
104228
+ runOriginalRequest() {
104229
+ this.services.instrumentation?.metrics
104230
+ .getMeter('onestore')
104231
+ .createCounter(`graphql.fallback.count`)
104232
+ .add(1);
104233
+ return super.runOriginalRequest();
104234
+ }
103896
104235
  subscribeToKeysUsed() {
103897
104236
  super.subscribeToKeysUsed();
103898
104237
  // Subscribe to luvio cache changes using the stored snapshot
@@ -103903,12 +104242,48 @@
103903
104242
  // Subscribe to changes using the stored snapshot
103904
104243
  this.unsubscribeFromLuvioSnapshot = luvioInstance.storeSubscribe(this.latestLuvioSnapshot, (_) => {
103905
104244
  // If any records used change at the top level, refresh all the data
103906
- this.refresh();
104245
+ if (this.usedRecordsChanged()) {
104246
+ this.refresh();
104247
+ }
103907
104248
  });
103908
104249
  }
103909
104250
  catch (error) { }
103910
104251
  }
103911
104252
  }
104253
+ usedRecordsChanged() {
104254
+ if (!this.latestUsedRecordIdToWeakEtagMap ||
104255
+ Object.keys(this.latestUsedRecordIdToWeakEtagMap).length === 0) {
104256
+ return false;
104257
+ }
104258
+ const luvioService = this.services.luvio;
104259
+ const luvioInstance = luvioService.luvio;
104260
+ let dataChanged = false;
104261
+ luvioInstance.storeLookup({
104262
+ recordId: 'onestore-graphql',
104263
+ node: {
104264
+ kind: 'Fragment',
104265
+ reader: true,
104266
+ synthetic: true,
104267
+ read: (reader) => {
104268
+ if (this.latestUsedRecordIdToWeakEtagMap) {
104269
+ Object.entries(this.latestUsedRecordIdToWeakEtagMap).forEach(([recordId, oneStoreRecordWeakEtag]) => {
104270
+ const normalizedLuvioRecord = this.services.luvioUiapiRecords.getNormalizedLuvioRecord(recordId, reader);
104271
+ if (!normalizedLuvioRecord) {
104272
+ return;
104273
+ }
104274
+ const luvioRecordWeakEtag = normalizedLuvioRecord.weakEtag;
104275
+ if (luvioRecordWeakEtag !== oneStoreRecordWeakEtag) {
104276
+ dataChanged = true;
104277
+ }
104278
+ });
104279
+ }
104280
+ return {};
104281
+ },
104282
+ },
104283
+ variables: {},
104284
+ });
104285
+ return dataChanged;
104286
+ }
103912
104287
  };
103913
104288
  }
103914
104289
 
@@ -103955,6 +104330,11 @@
103955
104330
  type: 'luvioUiapiRecords',
103956
104331
  version: '1.0',
103957
104332
  },
104333
+ instrumentation: {
104334
+ type: 'instrumentation',
104335
+ version: '1.0',
104336
+ optional: true,
104337
+ },
103958
104338
  };
103959
104339
  let provisionedCallback;
103960
104340
  getServices(serviceRequirements).then((services) => {
@@ -103965,7 +104345,7 @@
103965
104345
  constructor() {
103966
104346
  super(...arguments);
103967
104347
  this.configSchema = CONFIG_SCHEMA;
103968
- this.exposeRefresh = false;
104348
+ this.exposeRefresh = true;
103969
104349
  }
103970
104350
  getCommand() {
103971
104351
  return new graphql_ctor({ ...this.config, query: resolveAst(this.config.query) }, documentRootType, services);
@@ -103990,7 +104370,7 @@
103990
104370
  cb(graphql$1, graphql_imperative$1, useOneStoreGraphQL);
103991
104371
  }
103992
104372
  }
103993
- // version: 1.378.0-63d7c07562
104373
+ // version: 1.379.0-a57c798add
103994
104374
 
103995
104375
  function createFragmentMap(documentNode) {
103996
104376
  const fragments = {};
@@ -130485,7 +130865,7 @@
130485
130865
  }
130486
130866
  return refresh$3(data, 'refreshUiApi');
130487
130867
  }
130488
- // version: 1.378.0-63d7c07562
130868
+ // version: 1.379.0-a57c798add
130489
130869
 
130490
130870
  // On core the unstable adapters are re-exported with different names,
130491
130871
  // we want to match them here.
@@ -130637,7 +131017,7 @@
130637
131017
  unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
130638
131018
  graphQLImperative = ldsAdapter;
130639
131019
  });
130640
- // version: 1.378.0-63d7c07562
131020
+ // version: 1.379.0-a57c798add
130641
131021
 
130642
131022
  var gqlApi = /*#__PURE__*/Object.freeze({
130643
131023
  __proto__: null,
@@ -131436,7 +131816,7 @@
131436
131816
  function register(r) {
131437
131817
  callbacks$1.forEach((callback) => callback(r));
131438
131818
  }
131439
- // version: 1.378.0-0ab3d40d29
131819
+ // version: 1.379.0-fc97fd9203
131440
131820
 
131441
131821
  /**
131442
131822
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -132773,4 +133153,4 @@
132773
133153
  exports.subscribeToAdapter = subscribeToAdapter;
132774
133154
 
132775
133155
  }));
132776
- // version: 1.378.0-0ab3d40d29
133156
+ // version: 1.379.0-fc97fd9203