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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -19,12 +19,13 @@ import { withRegistration, register } from '@salesforce/lds-default-luvio';
19
19
  import { setupInstrumentation, instrumentAdapter as instrumentAdapter$1, instrumentLuvio, setLdsAdaptersUiapiInstrumentation, setLdsNetworkAdapterInstrumentation } from '@salesforce/lds-instrumentation';
20
20
  import { HttpStatusCode as HttpStatusCode$1, setBypassDeepFreeze, StoreKeySet, serializeStructuredKey, StringKeyInMemoryStore, Reader, deepFreeze as deepFreeze$1, emitAdapterEvent, ingestShape, coerceConfig as coerceConfig$1, typeCheckConfig as typeCheckConfig$h, createResourceParams as createResourceParams$h, StoreKeyMap, buildNetworkSnapshotCachePolicy as buildNetworkSnapshotCachePolicy$f, resolveLink, createCustomAdapterEventEmitter, isFileReference, Environment, Luvio, InMemoryStore } from '@luvio/engine';
21
21
  import { isSupportedEntity, configuration, getObjectInfoAdapterFactory, RECORD_ID_PREFIX, RECORD_FIELDS_KEY_JUNCTION, isStoreKeyRecordViewEntity, extractRecordIdFromStoreKey, buildRecordRepKeyFromId, keyBuilderRecord, RecordRepresentationTTL, keyBuilderQuickActionExecutionRepresentation, ingestQuickActionExecutionRepresentation, getRecordId18 as getRecordId18$1, getRecordsAdapterFactory as getRecordsAdapterFactory$1, RecordRepresentationRepresentationType, ObjectInfoRepresentationType, getObjectInfosAdapterFactory, getObjectInfoDirectoryAdapterFactory, UiApiNamespace, RecordRepresentationType, RecordRepresentationVersion } from '@salesforce/lds-adapters-uiapi';
22
+ import allowUpdatesForNonCachedRecords from '@salesforce/gate/lmr.allowUpdatesForNonCachedRecords';
22
23
  import { getInstrumentation, idleDetector } from 'o11y/client';
24
+ import caseSensitiveUserId from '@salesforce/user/Id';
23
25
  import { Kind as Kind$2, visit as visit$2, isObjectType, defaultFieldResolver, buildSchema, parse as parse$8, extendSchema, isScalarType, execute, print as print$1 } from '@luvio/graphql-parser';
24
26
  import FIRST_DAY_OF_WEEK from '@salesforce/i18n/firstDayOfWeek';
25
27
  import graphqQueryFieldLimit from '@salesforce/gate/lmr.graphqQueryFieldLimit';
26
28
  import graphqlPartialEmitParity from '@salesforce/gate/lmr.graphqlPartialEmitParity';
27
- import caseSensitiveUserId from '@salesforce/user/Id';
28
29
  import { instrument as instrument$1 } from '@salesforce/lds-bindings';
29
30
  import ldsAdapterO11yLoggingGate from '@salesforce/gate/lmr.ldsAdapterO11yLogging';
30
31
  import LOCALE from '@salesforce/i18n/locale';
@@ -42316,15 +42317,21 @@ class UiApiActionHandler extends AbstractResourceRequestActionHandler {
42316
42317
  // allowed us to get a record with the fields we have cached (i.e. would never go to the network)
42317
42318
  const doesRecordExist = await this.durableRecordStore.exists(tag);
42318
42319
  if (!doesRecordExist) {
42319
- // we are trying to patch or delete a record that we don't have cached. This is not supported.
42320
- // we'll do one last ditch effort to fetch the record with just the Id field in case we're online.
42321
- // Note this scenario is unlikely outside test and manual test environments
42322
- const record = await getAdapterData(this.getRecordAdapter, {
42323
- recordId: targetId,
42324
- optionalFields: [`${targetApiName}.Id`],
42325
- });
42326
- if (record === undefined) {
42327
- throw Error('Cannot apply a draft to a record that is not cached');
42320
+ if (!allowUpdatesForNonCachedRecords.isOpen({ fallback: false })) {
42321
+ // we are trying to patch or delete a record that we don't have cached. This is not supported.
42322
+ // we'll do one last ditch effort to fetch the record with just the Id field in case we're online.
42323
+ // Note this scenario is unlikely outside test and manual test environments
42324
+ const record = await getAdapterData(this.getRecordAdapter, {
42325
+ recordId: targetId,
42326
+ optionalFields: [`${targetApiName}.Id`],
42327
+ });
42328
+ if (record === undefined) {
42329
+ throw Error('Cannot apply a draft to a record that is not cached');
42330
+ }
42331
+ }
42332
+ else if (resolvedRequest.method !== 'patch') {
42333
+ // the allowUpdatesForNonCachedRecords gate is open but a patch is not being attempted. This is not supported.
42334
+ throw Error('Can only perform patch on a record that is not cached');
42328
42335
  }
42329
42336
  }
42330
42337
  }
@@ -43664,8 +43671,8 @@ function createRecordDraftAdapterFactory(actionHandler, durableRecordStore) {
43664
43671
  * @param actionHandler The UIAPI Record action handler. NOTE: this adapter doesn't
43665
43672
  * register it with the DraftQueue, runtime should set that up
43666
43673
  */
43667
- function updateRecordDraftAdapterFactory(actionHandler, durableRecordStore) {
43668
- return async function createRecordDraftAdapter(config, createResourceRequest) {
43674
+ function updateRecordDraftAdapterFactory(actionHandler, durableRecordStore, objectInfoService) {
43675
+ return async function updateRecordDraftAdapter(config, createResourceRequest) {
43669
43676
  const request = createResourceRequest(config);
43670
43677
  if (actionHandler.hasIdempotencySupport()) {
43671
43678
  request.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
@@ -43679,6 +43686,38 @@ function updateRecordDraftAdapterFactory(actionHandler, durableRecordStore) {
43679
43686
  if (!record) {
43680
43687
  record = await durableRecordStore.getRedirectedRecord(action.tag);
43681
43688
  }
43689
+ if (record === undefined && allowUpdatesForNonCachedRecords.isOpen({ fallback: false })) {
43690
+ // Fabricate synthetic record for non-cached update.
43691
+ let apiName = config.apiName;
43692
+ if (!apiName) {
43693
+ // try to determine the apiName from the record id prefix
43694
+ try {
43695
+ apiName = await objectInfoService.apiNameForPrefix(config.recordId.substring(0, 3));
43696
+ }
43697
+ catch (error) {
43698
+ throw transformErrorToDraftSynthesisError(new Error(`Cannot determine apiName for record ${config.recordId}: ${error}`));
43699
+ }
43700
+ }
43701
+ const recordFields = Object.entries(config.fields || {}).reduce((acc, [key, value]) => {
43702
+ acc[key] = { value, displayValue: null };
43703
+ return acc;
43704
+ }, {});
43705
+ const currentTimestamp = new Date().toISOString();
43706
+ // fabricate the record
43707
+ record = {
43708
+ id: config.recordId,
43709
+ apiName: apiName,
43710
+ fields: recordFields,
43711
+ systemModstamp: currentTimestamp,
43712
+ lastModifiedDate: currentTimestamp,
43713
+ lastModifiedById: caseSensitiveUserId,
43714
+ recordTypeId: null,
43715
+ recordTypeInfo: null,
43716
+ weakEtag: 0,
43717
+ eTag: '',
43718
+ childRelationships: {},
43719
+ };
43720
+ }
43682
43721
  if (record) {
43683
43722
  return {
43684
43723
  state: 'Fulfilled',
@@ -58290,7 +58329,7 @@ function buildServiceDescriptor$b(luvio) {
58290
58329
  },
58291
58330
  };
58292
58331
  }
58293
- // version: 1.402.0-566b6c5389
58332
+ // version: 1.404.0-dev1-9582436c8f
58294
58333
 
58295
58334
  /**
58296
58335
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -58316,7 +58355,7 @@ function buildServiceDescriptor$a(notifyRecordUpdateAvailable, getNormalizedLuvi
58316
58355
  },
58317
58356
  };
58318
58357
  }
58319
- // version: 1.402.0-566b6c5389
58358
+ // version: 1.404.0-dev1-9582436c8f
58320
58359
 
58321
58360
  /*!
58322
58361
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -61708,7 +61747,7 @@ function getRuntime({ primeUser = false } = {}) {
61708
61747
  };
61709
61748
  const draftAwareCreateContentDocumentAndVersionAdapter = createContentDocumentAndVersionDraftAdapterFactory(lazyLuvio, NimbusBinaryStore, contentDocumentCompositeActionHandler, lazyDurableRecordStore);
61710
61749
  const draftAwareCreateRecord = createRecordDraftAdapterFactory(uiApiRecordHandler, lazyDurableRecordStore);
61711
- const draftAwareUpdateRecord = updateRecordDraftAdapterFactory(uiApiRecordHandler, lazyDurableRecordStore);
61750
+ const draftAwareUpdateRecord = updateRecordDraftAdapterFactory(uiApiRecordHandler, lazyDurableRecordStore, lazyObjectInfoService);
61712
61751
  const draftAwareDeleteRecord = deleteRecordDraftAdapterFactory(uiApiRecordHandler);
61713
61752
  const draftAwarePeformQuickAction = performQuickActionDraftAdapterFactory(quickActionHandler, userId);
61714
61753
  const draftAwarePerformUpdateRecordQuickActionAdapter = performUpdateRecordQuickActionDraftAdapterFactory(updateRecordQuickActionHandler, userId);
@@ -61775,4 +61814,4 @@ register({
61775
61814
  });
61776
61815
 
61777
61816
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, ingest$1o as ingestDenormalizedRecordRepresentation, initializeOneStore, registerReportObserver, reportGraphqlQueryParseError };
61778
- // version: 1.402.0-bf9ae185ef
61817
+ // version: 1.404.0-dev1-48073cfce6
@@ -1,9 +1,10 @@
1
1
  import type { DraftAwareUpdateRecordAdapter } from '@salesforce/lds-adapters-uiapi';
2
2
  import type { UiApiActionHandler } from '../actionHandlers/UiApiRecordActionHandler';
3
3
  import type { DurableRecordStore } from 'src/durableStore/DurableRecordStore';
4
+ import { ObjectInfoService } from '../../../utils/ObjectInfoService';
4
5
  /**
5
6
  * @param luvio The runtime's luvio instance
6
7
  * @param actionHandler The UIAPI Record action handler. NOTE: this adapter doesn't
7
8
  * register it with the DraftQueue, runtime should set that up
8
9
  */
9
- export declare function updateRecordDraftAdapterFactory(actionHandler: UiApiActionHandler, durableRecordStore: DurableRecordStore): DraftAwareUpdateRecordAdapter;
10
+ export declare function updateRecordDraftAdapterFactory(actionHandler: UiApiActionHandler, durableRecordStore: DurableRecordStore, objectInfoService: ObjectInfoService): DraftAwareUpdateRecordAdapter;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-runtime-mobile",
3
- "version": "1.402.0",
3
+ "version": "1.404.0-dev1",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "LDS runtime for mobile/hybrid environments.",
6
6
  "main": "dist/main.js",
@@ -33,11 +33,11 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@conduit-client/service-provisioner": "3.2.0",
36
- "@salesforce/lds-adapters-uiapi": "^1.402.0",
37
- "@salesforce/lds-bindings": "^1.402.0",
38
- "@salesforce/lds-instrumentation": "^1.402.0",
39
- "@salesforce/lds-luvio-service": "^1.402.0",
40
- "@salesforce/lds-luvio-uiapi-records-service": "^1.402.0",
36
+ "@salesforce/lds-adapters-uiapi": "^1.404.0-dev1",
37
+ "@salesforce/lds-bindings": "^1.404.0-dev1",
38
+ "@salesforce/lds-instrumentation": "^1.404.0-dev1",
39
+ "@salesforce/lds-luvio-service": "^1.404.0-dev1",
40
+ "@salesforce/lds-luvio-uiapi-records-service": "^1.404.0-dev1",
41
41
  "@salesforce/user": "0.0.21",
42
42
  "o11y": "250.7.0",
43
43
  "o11y_schema": "256.126.0"
@@ -58,16 +58,16 @@
58
58
  "@conduit-client/service-pubsub": "3.2.0",
59
59
  "@conduit-client/service-store": "3.2.0",
60
60
  "@conduit-client/utils": "3.2.0",
61
- "@salesforce/lds-adapters-graphql": "^1.402.0",
62
- "@salesforce/lds-drafts": "^1.402.0",
63
- "@salesforce/lds-durable-records": "^1.402.0",
64
- "@salesforce/lds-network-adapter": "^1.402.0",
65
- "@salesforce/lds-network-nimbus": "^1.402.0",
66
- "@salesforce/lds-store-binary": "^1.402.0",
67
- "@salesforce/lds-store-nimbus": "^1.402.0",
68
- "@salesforce/lds-store-sql": "^1.402.0",
69
- "@salesforce/lds-utils-adapters": "^1.402.0",
70
- "@salesforce/nimbus-plugin-lds": "^1.402.0",
61
+ "@salesforce/lds-adapters-graphql": "^1.404.0-dev1",
62
+ "@salesforce/lds-drafts": "^1.404.0-dev1",
63
+ "@salesforce/lds-durable-records": "^1.404.0-dev1",
64
+ "@salesforce/lds-network-adapter": "^1.404.0-dev1",
65
+ "@salesforce/lds-network-nimbus": "^1.404.0-dev1",
66
+ "@salesforce/lds-store-binary": "^1.404.0-dev1",
67
+ "@salesforce/lds-store-nimbus": "^1.404.0-dev1",
68
+ "@salesforce/lds-store-sql": "^1.404.0-dev1",
69
+ "@salesforce/lds-utils-adapters": "^1.404.0-dev1",
70
+ "@salesforce/nimbus-plugin-lds": "^1.404.0-dev1",
71
71
  "babel-plugin-dynamic-import-node": "^2.3.3",
72
72
  "wait-for-expect": "^3.0.2"
73
73
  },
package/sfdc/main.js CHANGED
@@ -19,12 +19,13 @@ import { withRegistration, register } from 'force/ldsEngine';
19
19
  import { setupInstrumentation, instrumentAdapter as instrumentAdapter$1, instrumentLuvio, setLdsAdaptersUiapiInstrumentation, setLdsNetworkAdapterInstrumentation } from 'force/ldsInstrumentation';
20
20
  import { HttpStatusCode as HttpStatusCode$1, setBypassDeepFreeze, StoreKeySet, serializeStructuredKey, StringKeyInMemoryStore, Reader, deepFreeze as deepFreeze$1, emitAdapterEvent, ingestShape, coerceConfig as coerceConfig$1, typeCheckConfig as typeCheckConfig$h, createResourceParams as createResourceParams$h, StoreKeyMap, buildNetworkSnapshotCachePolicy as buildNetworkSnapshotCachePolicy$f, resolveLink, createCustomAdapterEventEmitter, isFileReference, Environment, Luvio, InMemoryStore } from 'force/luvioEngine';
21
21
  import { isSupportedEntity, configuration, getObjectInfoAdapterFactory, RECORD_ID_PREFIX, RECORD_FIELDS_KEY_JUNCTION, isStoreKeyRecordViewEntity, extractRecordIdFromStoreKey, buildRecordRepKeyFromId, keyBuilderRecord, RecordRepresentationTTL, keyBuilderQuickActionExecutionRepresentation, ingestQuickActionExecutionRepresentation, getRecordId18 as getRecordId18$1, getRecordsAdapterFactory as getRecordsAdapterFactory$1, RecordRepresentationRepresentationType, ObjectInfoRepresentationType, getObjectInfosAdapterFactory, getObjectInfoDirectoryAdapterFactory, UiApiNamespace, RecordRepresentationType, RecordRepresentationVersion } from 'force/ldsAdaptersUiapi';
22
+ import allowUpdatesForNonCachedRecords from '@salesforce/gate/lmr.allowUpdatesForNonCachedRecords';
22
23
  import { getInstrumentation, idleDetector } from 'o11y/client';
24
+ import caseSensitiveUserId from '@salesforce/user/Id';
23
25
  import { Kind as Kind$2, visit as visit$2, isObjectType, defaultFieldResolver, buildSchema, parse as parse$8, extendSchema, isScalarType, execute, print as print$1 } from 'force/ldsGraphqlParser';
24
26
  import FIRST_DAY_OF_WEEK from '@salesforce/i18n/firstDayOfWeek';
25
27
  import graphqQueryFieldLimit from '@salesforce/gate/lmr.graphqQueryFieldLimit';
26
28
  import graphqlPartialEmitParity from '@salesforce/gate/lmr.graphqlPartialEmitParity';
27
- import caseSensitiveUserId from '@salesforce/user/Id';
28
29
  import { instrument as instrument$1 } from 'force/ldsBindings';
29
30
  import ldsAdapterO11yLoggingGate from '@salesforce/gate/lmr.ldsAdapterO11yLogging';
30
31
  import LOCALE from '@salesforce/i18n/locale';
@@ -42316,15 +42317,21 @@ class UiApiActionHandler extends AbstractResourceRequestActionHandler {
42316
42317
  // allowed us to get a record with the fields we have cached (i.e. would never go to the network)
42317
42318
  const doesRecordExist = await this.durableRecordStore.exists(tag);
42318
42319
  if (!doesRecordExist) {
42319
- // we are trying to patch or delete a record that we don't have cached. This is not supported.
42320
- // we'll do one last ditch effort to fetch the record with just the Id field in case we're online.
42321
- // Note this scenario is unlikely outside test and manual test environments
42322
- const record = await getAdapterData(this.getRecordAdapter, {
42323
- recordId: targetId,
42324
- optionalFields: [`${targetApiName}.Id`],
42325
- });
42326
- if (record === undefined) {
42327
- throw Error('Cannot apply a draft to a record that is not cached');
42320
+ if (!allowUpdatesForNonCachedRecords.isOpen({ fallback: false })) {
42321
+ // we are trying to patch or delete a record that we don't have cached. This is not supported.
42322
+ // we'll do one last ditch effort to fetch the record with just the Id field in case we're online.
42323
+ // Note this scenario is unlikely outside test and manual test environments
42324
+ const record = await getAdapterData(this.getRecordAdapter, {
42325
+ recordId: targetId,
42326
+ optionalFields: [`${targetApiName}.Id`],
42327
+ });
42328
+ if (record === undefined) {
42329
+ throw Error('Cannot apply a draft to a record that is not cached');
42330
+ }
42331
+ }
42332
+ else if (resolvedRequest.method !== 'patch') {
42333
+ // the allowUpdatesForNonCachedRecords gate is open but a patch is not being attempted. This is not supported.
42334
+ throw Error('Can only perform patch on a record that is not cached');
42328
42335
  }
42329
42336
  }
42330
42337
  }
@@ -43664,8 +43671,8 @@ function createRecordDraftAdapterFactory(actionHandler, durableRecordStore) {
43664
43671
  * @param actionHandler The UIAPI Record action handler. NOTE: this adapter doesn't
43665
43672
  * register it with the DraftQueue, runtime should set that up
43666
43673
  */
43667
- function updateRecordDraftAdapterFactory(actionHandler, durableRecordStore) {
43668
- return async function createRecordDraftAdapter(config, createResourceRequest) {
43674
+ function updateRecordDraftAdapterFactory(actionHandler, durableRecordStore, objectInfoService) {
43675
+ return async function updateRecordDraftAdapter(config, createResourceRequest) {
43669
43676
  const request = createResourceRequest(config);
43670
43677
  if (actionHandler.hasIdempotencySupport()) {
43671
43678
  request.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
@@ -43679,6 +43686,38 @@ function updateRecordDraftAdapterFactory(actionHandler, durableRecordStore) {
43679
43686
  if (!record) {
43680
43687
  record = await durableRecordStore.getRedirectedRecord(action.tag);
43681
43688
  }
43689
+ if (record === undefined && allowUpdatesForNonCachedRecords.isOpen({ fallback: false })) {
43690
+ // Fabricate synthetic record for non-cached update.
43691
+ let apiName = config.apiName;
43692
+ if (!apiName) {
43693
+ // try to determine the apiName from the record id prefix
43694
+ try {
43695
+ apiName = await objectInfoService.apiNameForPrefix(config.recordId.substring(0, 3));
43696
+ }
43697
+ catch (error) {
43698
+ throw transformErrorToDraftSynthesisError(new Error(`Cannot determine apiName for record ${config.recordId}: ${error}`));
43699
+ }
43700
+ }
43701
+ const recordFields = Object.entries(config.fields || {}).reduce((acc, [key, value]) => {
43702
+ acc[key] = { value, displayValue: null };
43703
+ return acc;
43704
+ }, {});
43705
+ const currentTimestamp = new Date().toISOString();
43706
+ // fabricate the record
43707
+ record = {
43708
+ id: config.recordId,
43709
+ apiName: apiName,
43710
+ fields: recordFields,
43711
+ systemModstamp: currentTimestamp,
43712
+ lastModifiedDate: currentTimestamp,
43713
+ lastModifiedById: caseSensitiveUserId,
43714
+ recordTypeId: null,
43715
+ recordTypeInfo: null,
43716
+ weakEtag: 0,
43717
+ eTag: '',
43718
+ childRelationships: {},
43719
+ };
43720
+ }
43682
43721
  if (record) {
43683
43722
  return {
43684
43723
  state: 'Fulfilled',
@@ -58290,7 +58329,7 @@ function buildServiceDescriptor$b(luvio) {
58290
58329
  },
58291
58330
  };
58292
58331
  }
58293
- // version: 1.402.0-566b6c5389
58332
+ // version: 1.404.0-dev1-9582436c8f
58294
58333
 
58295
58334
  /**
58296
58335
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -58316,7 +58355,7 @@ function buildServiceDescriptor$a(notifyRecordUpdateAvailable, getNormalizedLuvi
58316
58355
  },
58317
58356
  };
58318
58357
  }
58319
- // version: 1.402.0-566b6c5389
58358
+ // version: 1.404.0-dev1-9582436c8f
58320
58359
 
58321
58360
  /*!
58322
58361
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -61708,7 +61747,7 @@ function getRuntime({ primeUser = false } = {}) {
61708
61747
  };
61709
61748
  const draftAwareCreateContentDocumentAndVersionAdapter = createContentDocumentAndVersionDraftAdapterFactory(lazyLuvio, NimbusBinaryStore, contentDocumentCompositeActionHandler, lazyDurableRecordStore);
61710
61749
  const draftAwareCreateRecord = createRecordDraftAdapterFactory(uiApiRecordHandler, lazyDurableRecordStore);
61711
- const draftAwareUpdateRecord = updateRecordDraftAdapterFactory(uiApiRecordHandler, lazyDurableRecordStore);
61750
+ const draftAwareUpdateRecord = updateRecordDraftAdapterFactory(uiApiRecordHandler, lazyDurableRecordStore, lazyObjectInfoService);
61712
61751
  const draftAwareDeleteRecord = deleteRecordDraftAdapterFactory(uiApiRecordHandler);
61713
61752
  const draftAwarePeformQuickAction = performQuickActionDraftAdapterFactory(quickActionHandler, userId);
61714
61753
  const draftAwarePerformUpdateRecordQuickActionAdapter = performUpdateRecordQuickActionDraftAdapterFactory(updateRecordQuickActionHandler, userId);
@@ -61775,4 +61814,4 @@ register({
61775
61814
  });
61776
61815
 
61777
61816
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, ingest$1o as ingestDenormalizedRecordRepresentation, initializeOneStore, registerReportObserver, reportGraphqlQueryParseError };
61778
- // version: 1.402.0-bf9ae185ef
61817
+ // version: 1.404.0-dev1-48073cfce6
@@ -1,9 +1,10 @@
1
1
  import type { DraftAwareUpdateRecordAdapter } from '@salesforce/lds-adapters-uiapi';
2
2
  import type { UiApiActionHandler } from '../actionHandlers/UiApiRecordActionHandler';
3
3
  import type { DurableRecordStore } from 'src/durableStore/DurableRecordStore';
4
+ import { ObjectInfoService } from '../../../utils/ObjectInfoService';
4
5
  /**
5
6
  * @param luvio The runtime's luvio instance
6
7
  * @param actionHandler The UIAPI Record action handler. NOTE: this adapter doesn't
7
8
  * register it with the DraftQueue, runtime should set that up
8
9
  */
9
- export declare function updateRecordDraftAdapterFactory(actionHandler: UiApiActionHandler, durableRecordStore: DurableRecordStore): DraftAwareUpdateRecordAdapter;
10
+ export declare function updateRecordDraftAdapterFactory(actionHandler: UiApiActionHandler, durableRecordStore: DurableRecordStore, objectInfoService: ObjectInfoService): DraftAwareUpdateRecordAdapter;