@salesforce/lds-runtime-mobile 1.318.0 → 1.320.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.
Files changed (217) hide show
  1. package/dist/main.js +6823 -7054
  2. package/dist/types/NimbusDraftQueue.d.ts +1 -1
  3. package/dist/types/{draftsAdapters → drafts}/AbstractResourceRequestActionHandler.d.ts +21 -22
  4. package/dist/types/drafts/UiApiDraftRecordService.d.ts +43 -0
  5. package/{sfdc/types/draftsAdapters/ContentDocumentCompositeRepresentation → dist/types/drafts/contentDocument}/ContentDocumentCompositeRepresentationActionHandler.d.ts +13 -13
  6. package/{sfdc/types/draftsAdapters/ContentDocumentCompositeRepresentation → dist/types/drafts/contentDocument}/draftAwareAdapters/createContentDocumentAndVersion/index.d.ts +2 -2
  7. package/dist/types/drafts/index.d.ts +14 -0
  8. package/dist/types/{draftsAdapters/QuickActionExecutionRepresentation → drafts/quickActions}/QuickActionExecutionRepresentationHandler.d.ts +8 -13
  9. package/dist/types/drafts/quickActions/UpdateRecordQuickActionExecutionRepresentationHandler.d.ts +29 -0
  10. package/dist/types/{draftsAdapters/QuickActionExecutionRepresentation → drafts/quickActions}/draftAwareAdapters/performQuickAction.d.ts +1 -1
  11. package/{sfdc/types/draftsAdapters/QuickActionExecutionRepresentation → dist/types/drafts/quickActions}/draftAwareAdapters/updateRecordPerformQuickAction.d.ts +1 -1
  12. package/dist/types/drafts/records/actionHandlers/RecordEffectingHandler.d.ts +6 -0
  13. package/dist/types/drafts/records/actionHandlers/UiApiRecordActionHandler.d.ts +63 -0
  14. package/{sfdc/types/draftsAdapters/RecordRepresentation → dist/types/drafts/records}/draftAwareAdapters/createRecord.d.ts +2 -2
  15. package/{sfdc/types/draftsAdapters/RecordRepresentation → dist/types/drafts/records}/draftAwareAdapters/updateRecord.d.ts +2 -2
  16. package/dist/types/{draftsAdapters/RecordRepresentation → drafts/records}/environment/getRecordDraftEnvironment.d.ts +2 -2
  17. package/dist/types/{draftsAdapters/RecordRepresentation → drafts/records}/environment/getRecordsDraftEnvironment.d.ts +2 -2
  18. package/{sfdc/types/draftsAdapters/RecordRepresentation → dist/types/drafts/records}/environment/makeEnvironmentUiApiRecordDraftAware.d.ts +4 -4
  19. package/{sfdc/types/draftsAdapters/RecordRepresentation → dist/types/drafts/records}/records.d.ts +1 -1
  20. package/dist/types/drafts/sideEffects/SideEffectHandler.d.ts +14 -0
  21. package/dist/types/{sideEffects → drafts/sideEffects}/SideEffectService.d.ts +6 -6
  22. package/dist/types/drafts/utils/durableStore.d.ts +3 -0
  23. package/dist/types/durableStore/DurableRecordStore.d.ts +17 -0
  24. package/dist/types/durableStore/NimbusSqliteStore/tables/index.d.ts +0 -1
  25. package/dist/types/graphql/adapter/draftAwareGraphQLAdapterFactory.d.ts +6 -0
  26. package/dist/types/graphql/adapter/environmentAwareGraphQLBatchAdapterFactory.d.ts +4 -0
  27. package/dist/types/graphql/adapter/graphqlEvalAdapterFactory.d.ts +5 -0
  28. package/dist/types/graphql/adapter/utils.d.ts +2 -0
  29. package/dist/types/graphql/adapterFactory.d.ts +3 -0
  30. package/dist/types/graphql/array.d.ts +2 -0
  31. package/dist/types/graphql/base64.d.ts +4 -0
  32. package/dist/types/graphql/constants.d.ts +3 -0
  33. package/dist/types/graphql/context.d.ts +19 -0
  34. package/dist/types/graphql/dataloader.d.ts +26 -0
  35. package/dist/types/graphql/dateLiteral.d.ts +28 -0
  36. package/dist/types/graphql/dateTimePredication.d.ts +33 -0
  37. package/dist/types/graphql/evaluate.d.ts +12 -0
  38. package/dist/types/graphql/events.d.ts +37 -0
  39. package/dist/types/graphql/filterParser.d.ts +6 -0
  40. package/dist/types/graphql/index.d.ts +9 -0
  41. package/dist/types/graphql/instrumentLimits.d.ts +8 -0
  42. package/dist/types/graphql/language.d.ts +33 -0
  43. package/dist/types/graphql/lib.d.ts +52 -0
  44. package/dist/types/graphql/limit.d.ts +9 -0
  45. package/dist/types/graphql/orderByParser.d.ts +10 -0
  46. package/dist/types/graphql/pagination.d.ts +10 -0
  47. package/dist/types/graphql/query.d.ts +56 -0
  48. package/dist/types/graphql/recordLoader.d.ts +4 -0
  49. package/dist/types/graphql/resolvers/basic.d.ts +1 -0
  50. package/dist/types/graphql/resolvers/connection.d.ts +31 -0
  51. package/dist/types/graphql/resolvers/index.d.ts +8 -0
  52. package/dist/types/graphql/resolvers/pagination.d.ts +29 -0
  53. package/dist/types/graphql/schema.d.ts +51 -0
  54. package/dist/types/graphql/scopeParser.d.ts +4 -0
  55. package/dist/types/graphql/snapshot.d.ts +26 -0
  56. package/dist/types/graphql/staleRecords/batchingStaleRecordsAdapter.d.ts +10 -0
  57. package/dist/types/graphql/syntheticFields.d.ts +10 -0
  58. package/dist/types/graphql/typeguards.d.ts +19 -0
  59. package/dist/types/instrumentation/instrumentPrimingSession.d.ts +1 -1
  60. package/dist/types/instrumentation/metrics.d.ts +1 -1
  61. package/dist/types/main.d.ts +1 -0
  62. package/dist/types/priming/ConflictPool.d.ts +31 -0
  63. package/dist/types/priming/Emitter.d.ts +16 -0
  64. package/dist/types/priming/LdsPrimingRecordRefresher.d.ts +1 -1
  65. package/dist/types/priming/LdsRecordRefresher.d.ts +17 -0
  66. package/dist/types/priming/NimbusPrimingNetworkAdapter.d.ts +4 -4
  67. package/dist/types/priming/ObjectInfoLoader.d.ts +10 -0
  68. package/dist/types/priming/PrimingNetworkAdapter.d.ts +5 -0
  69. package/dist/types/priming/PrimingNetworkError.d.ts +5 -0
  70. package/dist/types/priming/PrimingSession.d.ts +67 -0
  71. package/dist/types/priming/PrimingStore.d.ts +27 -0
  72. package/dist/types/priming/RecordIngestor.d.ts +14 -0
  73. package/dist/types/priming/SqlitePrimingStore.d.ts +1 -1
  74. package/dist/types/priming/index.d.ts +10 -0
  75. package/dist/types/priming/metadata/MetadataHandler.d.ts +49 -0
  76. package/dist/types/priming/primingSessionFactory.d.ts +1 -1
  77. package/dist/types/priming/recordLoaders/NetworkRecordLoader.d.ts +16 -0
  78. package/dist/types/priming/recordLoaders/RecordLoader.d.ts +19 -0
  79. package/dist/types/priming/recordLoaders/RecordLoaderGraphQL.d.ts +37 -0
  80. package/dist/types/priming/recordLoaders/RecordLoaderGraphQLBatch.d.ts +11 -0
  81. package/dist/types/priming/recordLoaders/RecordLoaderSOQLComposite.d.ts +14 -0
  82. package/dist/types/priming/recordLoaders/SoqlRecordConverter.d.ts +32 -0
  83. package/dist/types/priming/recordLoaders/api.d.ts +2 -0
  84. package/dist/types/priming/recordLoaders/index.d.ts +4 -0
  85. package/dist/types/priming/typedBatch.d.ts +3 -0
  86. package/dist/types/priming/utils/merge.d.ts +31 -0
  87. package/dist/types/runtime.d.ts +1 -1
  88. package/package.json +14 -16
  89. package/sfdc/main.js +6823 -7054
  90. package/sfdc/types/NimbusDraftQueue.d.ts +1 -1
  91. package/sfdc/types/{draftsAdapters → drafts}/AbstractResourceRequestActionHandler.d.ts +21 -22
  92. package/sfdc/types/drafts/UiApiDraftRecordService.d.ts +43 -0
  93. package/{dist/types/draftsAdapters/ContentDocumentCompositeRepresentation → sfdc/types/drafts/contentDocument}/ContentDocumentCompositeRepresentationActionHandler.d.ts +13 -13
  94. package/{dist/types/draftsAdapters/ContentDocumentCompositeRepresentation → sfdc/types/drafts/contentDocument}/draftAwareAdapters/createContentDocumentAndVersion/index.d.ts +2 -2
  95. package/sfdc/types/drafts/index.d.ts +14 -0
  96. package/sfdc/types/{draftsAdapters/QuickActionExecutionRepresentation → drafts/quickActions}/QuickActionExecutionRepresentationHandler.d.ts +8 -13
  97. package/sfdc/types/drafts/quickActions/UpdateRecordQuickActionExecutionRepresentationHandler.d.ts +29 -0
  98. package/sfdc/types/{draftsAdapters/QuickActionExecutionRepresentation → drafts/quickActions}/draftAwareAdapters/performQuickAction.d.ts +1 -1
  99. package/{dist/types/draftsAdapters/QuickActionExecutionRepresentation → sfdc/types/drafts/quickActions}/draftAwareAdapters/updateRecordPerformQuickAction.d.ts +1 -1
  100. package/sfdc/types/drafts/records/actionHandlers/RecordEffectingHandler.d.ts +6 -0
  101. package/sfdc/types/drafts/records/actionHandlers/UiApiRecordActionHandler.d.ts +63 -0
  102. package/{dist/types/draftsAdapters/RecordRepresentation → sfdc/types/drafts/records}/draftAwareAdapters/createRecord.d.ts +2 -2
  103. package/{dist/types/draftsAdapters/RecordRepresentation → sfdc/types/drafts/records}/draftAwareAdapters/updateRecord.d.ts +2 -2
  104. package/sfdc/types/{draftsAdapters/RecordRepresentation → drafts/records}/environment/getRecordDraftEnvironment.d.ts +2 -2
  105. package/sfdc/types/{draftsAdapters/RecordRepresentation → drafts/records}/environment/getRecordsDraftEnvironment.d.ts +2 -2
  106. package/{dist/types/draftsAdapters/RecordRepresentation → sfdc/types/drafts/records}/environment/makeEnvironmentUiApiRecordDraftAware.d.ts +4 -4
  107. package/{dist/types/draftsAdapters/RecordRepresentation → sfdc/types/drafts/records}/records.d.ts +1 -1
  108. package/sfdc/types/drafts/sideEffects/SideEffectHandler.d.ts +14 -0
  109. package/sfdc/types/{sideEffects → drafts/sideEffects}/SideEffectService.d.ts +6 -6
  110. package/sfdc/types/drafts/utils/durableStore.d.ts +3 -0
  111. package/sfdc/types/durableStore/DurableRecordStore.d.ts +17 -0
  112. package/sfdc/types/durableStore/NimbusSqliteStore/tables/index.d.ts +0 -1
  113. package/sfdc/types/graphql/adapter/draftAwareGraphQLAdapterFactory.d.ts +6 -0
  114. package/sfdc/types/graphql/adapter/environmentAwareGraphQLBatchAdapterFactory.d.ts +4 -0
  115. package/sfdc/types/graphql/adapter/graphqlEvalAdapterFactory.d.ts +5 -0
  116. package/sfdc/types/graphql/adapter/utils.d.ts +2 -0
  117. package/sfdc/types/graphql/adapterFactory.d.ts +3 -0
  118. package/sfdc/types/graphql/array.d.ts +2 -0
  119. package/sfdc/types/graphql/base64.d.ts +4 -0
  120. package/sfdc/types/graphql/constants.d.ts +3 -0
  121. package/sfdc/types/graphql/context.d.ts +19 -0
  122. package/sfdc/types/graphql/dataloader.d.ts +26 -0
  123. package/sfdc/types/graphql/dateLiteral.d.ts +28 -0
  124. package/sfdc/types/graphql/dateTimePredication.d.ts +33 -0
  125. package/sfdc/types/graphql/evaluate.d.ts +12 -0
  126. package/sfdc/types/graphql/events.d.ts +37 -0
  127. package/sfdc/types/graphql/filterParser.d.ts +6 -0
  128. package/sfdc/types/graphql/index.d.ts +9 -0
  129. package/sfdc/types/graphql/instrumentLimits.d.ts +8 -0
  130. package/sfdc/types/graphql/language.d.ts +33 -0
  131. package/sfdc/types/graphql/lib.d.ts +52 -0
  132. package/sfdc/types/graphql/limit.d.ts +9 -0
  133. package/sfdc/types/graphql/orderByParser.d.ts +10 -0
  134. package/sfdc/types/graphql/pagination.d.ts +10 -0
  135. package/sfdc/types/graphql/query.d.ts +56 -0
  136. package/sfdc/types/graphql/recordLoader.d.ts +4 -0
  137. package/sfdc/types/graphql/resolvers/basic.d.ts +1 -0
  138. package/sfdc/types/graphql/resolvers/connection.d.ts +31 -0
  139. package/sfdc/types/graphql/resolvers/index.d.ts +8 -0
  140. package/sfdc/types/graphql/resolvers/pagination.d.ts +29 -0
  141. package/sfdc/types/graphql/schema.d.ts +51 -0
  142. package/sfdc/types/graphql/scopeParser.d.ts +4 -0
  143. package/sfdc/types/graphql/snapshot.d.ts +26 -0
  144. package/sfdc/types/graphql/staleRecords/batchingStaleRecordsAdapter.d.ts +10 -0
  145. package/sfdc/types/graphql/syntheticFields.d.ts +10 -0
  146. package/sfdc/types/graphql/typeguards.d.ts +19 -0
  147. package/sfdc/types/instrumentation/instrumentPrimingSession.d.ts +1 -1
  148. package/sfdc/types/instrumentation/metrics.d.ts +1 -1
  149. package/sfdc/types/main.d.ts +1 -0
  150. package/sfdc/types/priming/ConflictPool.d.ts +31 -0
  151. package/sfdc/types/priming/Emitter.d.ts +16 -0
  152. package/sfdc/types/priming/LdsPrimingRecordRefresher.d.ts +1 -1
  153. package/sfdc/types/priming/LdsRecordRefresher.d.ts +17 -0
  154. package/sfdc/types/priming/NimbusPrimingNetworkAdapter.d.ts +4 -4
  155. package/sfdc/types/priming/ObjectInfoLoader.d.ts +10 -0
  156. package/sfdc/types/priming/PrimingNetworkAdapter.d.ts +5 -0
  157. package/sfdc/types/priming/PrimingNetworkError.d.ts +5 -0
  158. package/sfdc/types/priming/PrimingSession.d.ts +67 -0
  159. package/sfdc/types/priming/PrimingStore.d.ts +27 -0
  160. package/sfdc/types/priming/RecordIngestor.d.ts +14 -0
  161. package/sfdc/types/priming/SqlitePrimingStore.d.ts +1 -1
  162. package/sfdc/types/priming/index.d.ts +10 -0
  163. package/sfdc/types/priming/metadata/MetadataHandler.d.ts +49 -0
  164. package/sfdc/types/priming/primingSessionFactory.d.ts +1 -1
  165. package/sfdc/types/priming/recordLoaders/NetworkRecordLoader.d.ts +16 -0
  166. package/sfdc/types/priming/recordLoaders/RecordLoader.d.ts +19 -0
  167. package/sfdc/types/priming/recordLoaders/RecordLoaderGraphQL.d.ts +37 -0
  168. package/sfdc/types/priming/recordLoaders/RecordLoaderGraphQLBatch.d.ts +11 -0
  169. package/sfdc/types/priming/recordLoaders/RecordLoaderSOQLComposite.d.ts +14 -0
  170. package/sfdc/types/priming/recordLoaders/SoqlRecordConverter.d.ts +32 -0
  171. package/sfdc/types/priming/recordLoaders/api.d.ts +2 -0
  172. package/sfdc/types/priming/recordLoaders/index.d.ts +4 -0
  173. package/sfdc/types/priming/typedBatch.d.ts +3 -0
  174. package/sfdc/types/priming/utils/merge.d.ts +31 -0
  175. package/sfdc/types/runtime.d.ts +1 -1
  176. package/dist/types/draftsAdapters/QuickActionExecutionRepresentation/UpdateRecordQuickActionExecutionRepresentationHandler.d.ts +0 -38
  177. package/dist/types/draftsAdapters/RecordRepresentation/actionHandlers/RecordEffectingHandler.d.ts +0 -6
  178. package/dist/types/draftsAdapters/RecordRepresentation/actionHandlers/UiApiRecordActionHandler.d.ts +0 -84
  179. package/dist/types/draftsAdapters/RecordRepresentation/replayDraftsOnRecord.d.ts +0 -40
  180. package/dist/types/draftsAdapters/UiApiDraftRecordService.d.ts +0 -57
  181. package/dist/types/draftsAdapters/index.d.ts +0 -14
  182. package/dist/types/draftsAdapters/utils/durableStore.d.ts +0 -12
  183. package/dist/types/durableStore/NimbusSqliteStore/tables/LdsDraftIdMapDataTable.d.ts +0 -5
  184. package/sfdc/types/draftsAdapters/QuickActionExecutionRepresentation/UpdateRecordQuickActionExecutionRepresentationHandler.d.ts +0 -38
  185. package/sfdc/types/draftsAdapters/RecordRepresentation/actionHandlers/RecordEffectingHandler.d.ts +0 -6
  186. package/sfdc/types/draftsAdapters/RecordRepresentation/actionHandlers/UiApiRecordActionHandler.d.ts +0 -84
  187. package/sfdc/types/draftsAdapters/RecordRepresentation/replayDraftsOnRecord.d.ts +0 -40
  188. package/sfdc/types/draftsAdapters/UiApiDraftRecordService.d.ts +0 -57
  189. package/sfdc/types/draftsAdapters/index.d.ts +0 -14
  190. package/sfdc/types/draftsAdapters/utils/durableStore.d.ts +0 -12
  191. package/sfdc/types/durableStore/NimbusSqliteStore/tables/LdsDraftIdMapDataTable.d.ts +0 -5
  192. /package/dist/types/{draftsAdapters → drafts}/IdempotentWrite.d.ts +0 -0
  193. /package/dist/types/{draftsAdapters/ContentDocumentCompositeRepresentation → drafts/contentDocument}/draftAwareAdapters/createContentDocumentAndVersion/events.d.ts +0 -0
  194. /package/dist/types/{draftsAdapters/ContentDocumentCompositeRepresentation → drafts/contentDocument}/shared.d.ts +0 -0
  195. /package/dist/types/{draftsAdapters/RecordRepresentation → drafts/records}/DraftRecordRepresentation.d.ts +0 -0
  196. /package/dist/types/{draftsAdapters/RecordRepresentation → drafts/records}/draftAwareAdapters/deleteRecord.d.ts +0 -0
  197. /package/dist/types/{sideEffects → drafts/sideEffects}/SideEffectStore.d.ts +0 -0
  198. /package/dist/types/{sideEffects → drafts/sideEffects}/index.d.ts +0 -0
  199. /package/dist/types/{sideEffects → drafts/sideEffects}/sideEffectEnvironment.d.ts +0 -0
  200. /package/dist/types/{sideEffects → drafts/sideEffects}/sideEffects.d.ts +0 -0
  201. /package/dist/types/{draftsAdapters → drafts}/utils/adapter.d.ts +0 -0
  202. /package/dist/types/{draftsAdapters → drafts}/utils/clone.d.ts +0 -0
  203. /package/dist/types/{draftsAdapters → drafts}/utils/error.d.ts +0 -0
  204. /package/dist/types/{draftsAdapters → drafts}/utils/language.d.ts +0 -0
  205. /package/sfdc/types/{draftsAdapters → drafts}/IdempotentWrite.d.ts +0 -0
  206. /package/sfdc/types/{draftsAdapters/ContentDocumentCompositeRepresentation → drafts/contentDocument}/draftAwareAdapters/createContentDocumentAndVersion/events.d.ts +0 -0
  207. /package/sfdc/types/{draftsAdapters/ContentDocumentCompositeRepresentation → drafts/contentDocument}/shared.d.ts +0 -0
  208. /package/sfdc/types/{draftsAdapters/RecordRepresentation → drafts/records}/DraftRecordRepresentation.d.ts +0 -0
  209. /package/sfdc/types/{draftsAdapters/RecordRepresentation → drafts/records}/draftAwareAdapters/deleteRecord.d.ts +0 -0
  210. /package/sfdc/types/{sideEffects → drafts/sideEffects}/SideEffectStore.d.ts +0 -0
  211. /package/sfdc/types/{sideEffects → drafts/sideEffects}/index.d.ts +0 -0
  212. /package/sfdc/types/{sideEffects → drafts/sideEffects}/sideEffectEnvironment.d.ts +0 -0
  213. /package/sfdc/types/{sideEffects → drafts/sideEffects}/sideEffects.d.ts +0 -0
  214. /package/sfdc/types/{draftsAdapters → drafts}/utils/adapter.d.ts +0 -0
  215. /package/sfdc/types/{draftsAdapters → drafts}/utils/clone.d.ts +0 -0
  216. /package/sfdc/types/{draftsAdapters → drafts}/utils/error.d.ts +0 -0
  217. /package/sfdc/types/{draftsAdapters → drafts}/utils/language.d.ts +0 -0
@@ -0,0 +1,17 @@
1
+ /**
2
+ * When the priming session cannot resolve a record due to an unsupported conflict (i.e. draft conflict or spanning record conflict) the record
3
+ * must be refreshed via a tradition LDS adapter.
4
+ */
5
+ export interface LdsRecordRefresher {
6
+ /**
7
+ * Refreshes a set of records through an LDS adapter
8
+ * @param records a map of apiName to ids and fields being requested
9
+ */
10
+ loadRecords(records: Map<string, {
11
+ ids: string[];
12
+ fields: string[];
13
+ }>): Promise<{
14
+ loaded: string[];
15
+ errored: string[];
16
+ }>;
17
+ }
@@ -1,10 +1,10 @@
1
- import { type PrimingNetworkAdapter } from '@salesforce/lds-priming';
2
- import type { GraphQLRepresentation, GraphQLInputRepresentation, ObjectInfoRepresentation, ObjectInfoDirectoryRepresentation } from '@salesforce/lds-adapters-uiapi';
1
+ import { type PrimingNetworkAdapter } from '../priming';
2
+ import type { ObjectInfoRepresentation, ObjectInfoDirectoryRepresentation } from '@salesforce/lds-adapters-uiapi';
3
3
  import type { LdsAbortController } from '@salesforce/lds-utils-adapters';
4
+ import type { Request, Response } from '@salesforce/nimbus-plugin-lds';
4
5
  export declare class NimbusPrimingNetworkAdapter implements PrimingNetworkAdapter {
5
6
  private sendRequestWithAbort;
6
- postBatchGraphQL(configs: GraphQLInputRepresentation[], abortController: LdsAbortController): Promise<GraphQLRepresentation[]>;
7
- postGraphQL(query: string, variables: Record<string, any>, abortController: LdsAbortController): Promise<GraphQLRepresentation>;
7
+ sendRequest(request: Request, abortController: LdsAbortController): Promise<Response>;
8
8
  getObjectInfoDirectory(abortController: LdsAbortController): Promise<ObjectInfoDirectoryRepresentation>;
9
9
  getObjectInfos(apiName: string[], abortController: LdsAbortController): Promise<Map<string, ObjectInfoRepresentation>>;
10
10
  }
@@ -0,0 +1,10 @@
1
+ import type { ObjectInfoRepresentation, ObjectInfoDirectoryRepresentation } from '@salesforce/lds-adapters-uiapi';
2
+ interface ObjectInfoStatus {
3
+ expiration: number;
4
+ }
5
+ export interface ObjectInfoLoader {
6
+ getObjectInfos(apiNames: string[]): Promise<Record<string, ObjectInfoRepresentation>>;
7
+ getObjectInfoDirectory(): Promise<ObjectInfoDirectoryRepresentation | undefined>;
8
+ getCachedObjectInfoStatus(): Promise<Map<string, ObjectInfoStatus>>;
9
+ }
10
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { Request, Response } from '@salesforce/nimbus-plugin-lds';
2
+ import type { LdsAbortController } from '@salesforce/lds-utils-adapters';
3
+ export interface PrimingNetworkAdapter {
4
+ sendRequest(request: Request, abortController: LdsAbortController): Promise<Response>;
5
+ }
@@ -0,0 +1,5 @@
1
+ export declare class PrimingNetworkError extends Error {
2
+ httpCode: number;
3
+ constructor(message: string, httpCode: number);
4
+ isServiceProtectionError(): Boolean;
5
+ }
@@ -0,0 +1,67 @@
1
+ import type { RecordIngestor } from './RecordIngestor';
2
+ import type { RecordLoader } from './recordLoaders';
3
+ import type { PrimingWork } from './types';
4
+ import type { ObjectInfoLoader } from './ObjectInfoLoader';
5
+ import type { PrimingStore } from './PrimingStore';
6
+ import type { LdsRecordRefresher } from './LdsRecordRefresher';
7
+ import { EventEmitter } from './Emitter';
8
+ export interface PrimingSessionConfig {
9
+ store: PrimingStore;
10
+ recordLoader: RecordLoader;
11
+ recordIngestor: RecordIngestor;
12
+ objectInfoLoader: ObjectInfoLoader;
13
+ ldsRecordRefresher: LdsRecordRefresher;
14
+ batchSize?: number;
15
+ concurrency?: number;
16
+ }
17
+ export interface PrimingEvents {
18
+ error: EventErrorPayload;
19
+ primed: EventPrimedPayload;
20
+ conflict: ConflictEventPayload;
21
+ 'metadata-fetched': {
22
+ availableTypes: string[];
23
+ unavailableTypes: string[];
24
+ duration: number;
25
+ };
26
+ 'batch-starting': {
27
+ queuedTime: number;
28
+ };
29
+ 'batch-fetched': {
30
+ ids: string[];
31
+ duration: number;
32
+ };
33
+ 'batch-written': {
34
+ written: string[];
35
+ conflicted: string[];
36
+ errors: string[];
37
+ duration: number;
38
+ };
39
+ }
40
+ interface EventErrorPayload {
41
+ ids: string[];
42
+ code: 'precondition-error' | 'service-protection-error' | 'not-found' | 'service-unavailable' | 'unknown' | 'canceled';
43
+ message: string;
44
+ }
45
+ interface ConflictEventPayload {
46
+ ids: string[];
47
+ resolution: 'priming-merge' | 'priming-refresh' | 'lds-refresh';
48
+ }
49
+ type EventPrimedPayload = Array<string>;
50
+ export declare class PrimingSession extends EventEmitter<PrimingEvents> {
51
+ private batchSize;
52
+ private concurrency;
53
+ private recordLoader;
54
+ private recordIngestor;
55
+ private objectInfoLoader;
56
+ private networkWorkerPool;
57
+ private conflictPool;
58
+ private ldsRecordRefresher;
59
+ constructor(config: PrimingSessionConfig);
60
+ enqueue(work: PrimingWork): Promise<void>;
61
+ cancel(): void;
62
+ private enqueueBatches;
63
+ private processFetchedRecords;
64
+ private handleWriteConflicts;
65
+ private fetchMetadata;
66
+ }
67
+ export {};
@@ -0,0 +1,27 @@
1
+ import type { DurableRecordRepresentation } from '@salesforce/lds-durable-records';
2
+ import type { StoreMetadata } from '@luvio/engine';
3
+ export interface RecordWithMetadata {
4
+ record: DurableRecordRepresentation;
5
+ metadata: StoreMetadata;
6
+ }
7
+ export interface WriteResult {
8
+ written: string[];
9
+ conflicted: string[];
10
+ errors: {
11
+ ids: string[];
12
+ message: string;
13
+ }[];
14
+ }
15
+ export interface PrimingStore {
16
+ /**
17
+ * Writes records to the store
18
+ * @param records list of records to insert
19
+ * @returns list of ids that were written and list of ids that were not written due to already being present in the store
20
+ */
21
+ writeRecords(records: RecordWithMetadata[], overwrite: boolean): Promise<WriteResult>;
22
+ /**
23
+ * Reads records from the store
24
+ * @param ids
25
+ */
26
+ readRecords(ids: string[]): Promise<RecordWithMetadata[]>;
27
+ }
@@ -0,0 +1,14 @@
1
+ import type { Luvio } from '@luvio/engine';
2
+ import type { DurableRecordRepresentation } from '@salesforce/lds-durable-records';
3
+ import type { PrimingStore, WriteResult } from './PrimingStore';
4
+ export declare class RecordIngestor {
5
+ private store;
6
+ private getLuvio;
7
+ constructor(store: PrimingStore, getLuvio: () => Luvio);
8
+ /**
9
+ * Inserts records into the store
10
+ * @param syntheticRecords list of records to insert
11
+ * @returns list of ids that were written and list of ids that were not written due to already being present in the store
12
+ */
13
+ insertRecords(syntheticRecords: DurableRecordRepresentation[], overwrite?: boolean): Promise<WriteResult>;
14
+ }
@@ -1,4 +1,4 @@
1
- import type { PrimingStore, RecordWithMetadata, WriteResult } from '@salesforce/lds-priming';
1
+ import type { PrimingStore, RecordWithMetadata, WriteResult } from '../priming';
2
2
  import type { Luvio } from '@luvio/engine';
3
3
  import type { NimbusSqliteStore } from '@salesforce/lds-store-nimbus';
4
4
  export declare class SqlitePrimingStore implements PrimingStore {
@@ -0,0 +1,10 @@
1
+ export { PrimingSession } from './PrimingSession';
2
+ export { RecordIngestor } from './RecordIngestor';
3
+ export { PrimingStore, RecordWithMetadata, WriteResult } from './PrimingStore';
4
+ export { MetadataHandler } from './metadata/MetadataHandler';
5
+ export { PrimingNetworkError } from './PrimingNetworkError';
6
+ export { RecordLoaderGraphQL, RecordLoaderGraphQLBatch, RecordLoaderSOQLComposite, } from './recordLoaders';
7
+ export type { RecordLoader } from './recordLoaders';
8
+ export type { LdsRecordRefresher } from './LdsRecordRefresher';
9
+ export type { PrimingEvents } from './PrimingSession';
10
+ export type { PrimingNetworkAdapter } from './PrimingNetworkAdapter';
@@ -0,0 +1,49 @@
1
+ import { EventEmitter } from '../Emitter';
2
+ import type { ObjectInfoLoader } from '../ObjectInfoLoader';
3
+ export interface MetadataEvents {
4
+ progress: number;
5
+ error: MetadataError;
6
+ starting: {
7
+ cached: Set<string>;
8
+ expired: Set<string>;
9
+ missing: Set<string>;
10
+ };
11
+ primed: {
12
+ apiNames: Set<string>;
13
+ };
14
+ complete: {
15
+ apiNames: Map<string, CacheStatus>;
16
+ };
17
+ }
18
+ interface ErrorCouldNotFetchDirectory {
19
+ type: 'directory-error';
20
+ }
21
+ interface ErrorCouldNotFetchObjectInfos {
22
+ type: 'object-info-error';
23
+ apiNames: Set<string>;
24
+ }
25
+ interface ErrorAlreadyStarted {
26
+ type: 'already-started';
27
+ }
28
+ type MetadataError = ErrorCouldNotFetchDirectory | ErrorCouldNotFetchObjectInfos | ErrorAlreadyStarted;
29
+ type CacheStatus = 'not-cached' | 'cached' | 'expired' | 'fetching' | 'error';
30
+ export declare class MetadataHandler extends EventEmitter<MetadataEvents> {
31
+ private objectInfoLoader;
32
+ private config;
33
+ private apiNames;
34
+ private progress;
35
+ private started;
36
+ private workPool;
37
+ private batchSize;
38
+ private concurrency;
39
+ constructor(objectInfoLoader: ObjectInfoLoader, config: {
40
+ batchSize?: number;
41
+ concurrency?: number;
42
+ });
43
+ start(): Promise<void>;
44
+ cancel(): void;
45
+ private getBatches;
46
+ private executeBatchedWork;
47
+ private updateProgress;
48
+ }
49
+ export {};
@@ -1,4 +1,4 @@
1
- import { PrimingSession } from '@salesforce/lds-priming';
1
+ import { PrimingSession } from '../priming';
2
2
  import type { Adapter, Luvio } from '@luvio/engine';
3
3
  import type { NimbusSqliteStore } from '@salesforce/lds-store-nimbus';
4
4
  import type { ObjectInfoService } from '../main';
@@ -0,0 +1,16 @@
1
+ import type { LdsAbortController } from '@salesforce/lds-utils-adapters';
2
+ import type { Request } from '@salesforce/nimbus-plugin-lds';
3
+ import type { AvailableTypedBatch } from '../types';
4
+ import type { RecordFetchResult, RecordLoader } from './RecordLoader';
5
+ import type { PrimingNetworkAdapter } from '../PrimingNetworkAdapter';
6
+ export declare abstract class NetworkRecordLoader implements RecordLoader {
7
+ private readonly networkAdapter;
8
+ constructor(networkAdapter: PrimingNetworkAdapter);
9
+ fetchRecordData(batch: AvailableTypedBatch, abortController: LdsAbortController): Promise<RecordFetchResult[]>;
10
+ private sendRequest;
11
+ protected abstract makeRequest<T>(batch: AvailableTypedBatch): {
12
+ request: Request;
13
+ context: T;
14
+ };
15
+ protected abstract generateFetchResults<T>(body: any, batchInput: AvailableTypedBatch, context: T): RecordFetchResult[];
16
+ }
@@ -0,0 +1,19 @@
1
+ import type { DurableRecordRepresentation } from '@salesforce/lds-durable-records';
2
+ import type { AvailableTypedBatch } from '../types';
3
+ import type { LdsAbortController } from '@salesforce/lds-utils-adapters';
4
+ interface RecordFetchResultSuccess {
5
+ ok: true;
6
+ records: DurableRecordRepresentation[];
7
+ missingIds: string[];
8
+ }
9
+ interface RecordFetchResultFailure {
10
+ ok: false;
11
+ error: 'network-error' | 'service-protection-error' | 'request-error' | 'unknown';
12
+ messages: string[];
13
+ missingIds: string[];
14
+ }
15
+ export type RecordFetchResult = RecordFetchResultSuccess | RecordFetchResultFailure;
16
+ export interface RecordLoader {
17
+ fetchRecordData(batch: AvailableTypedBatch, abortController: LdsAbortController): Promise<RecordFetchResult[]>;
18
+ }
19
+ export {};
@@ -0,0 +1,37 @@
1
+ import type { ObjectInfoRepresentation } from '@salesforce/lds-adapters-uiapi';
2
+ import type { DurableRecordRepresentation } from '@salesforce/lds-durable-records';
3
+ import type { Request } from '@salesforce/nimbus-plugin-lds';
4
+ import type { RecordFetchResult } from './RecordLoader';
5
+ import type { AvailableTypedBatch, TypedBatch } from '../types';
6
+ import { NetworkRecordLoader } from './NetworkRecordLoader';
7
+ type GraphQLNode = {
8
+ Id: string;
9
+ ApiName: string;
10
+ DisplayValue: {
11
+ value: string | null;
12
+ };
13
+ LastModifiedById: {
14
+ value: string | null;
15
+ };
16
+ LastModifiedDate: {
17
+ value: string | null;
18
+ };
19
+ RecordTypeId: {
20
+ value: string | null;
21
+ };
22
+ SystemModstamp: {
23
+ value: string | null;
24
+ };
25
+ WeakEtag: number;
26
+ [field: string]: any;
27
+ };
28
+ export declare class RecordLoaderGraphQL extends NetworkRecordLoader {
29
+ protected makeRequest(batch: TypedBatch): {
30
+ request: Request;
31
+ context: any;
32
+ };
33
+ protected generateFetchResults(repResult: any, batchInput: AvailableTypedBatch, _context: any): RecordFetchResult[];
34
+ protected generateGraphQLQuery(type: string, fields: string[]): string;
35
+ protected generateDurableRecordRepresentation(node: GraphQLNode, objectInfo: ObjectInfoRepresentation): DurableRecordRepresentation;
36
+ }
37
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { Request } from '@salesforce/nimbus-plugin-lds';
2
+ import type { AvailableTypedBatch, TypedBatch } from '../types';
3
+ import type { RecordFetchResult } from './RecordLoader';
4
+ import { RecordLoaderGraphQL } from './RecordLoaderGraphQL';
5
+ export declare class RecordLoaderGraphQLBatch extends RecordLoaderGraphQL {
6
+ makeRequest(batch: TypedBatch): {
7
+ request: Request;
8
+ context: string[][];
9
+ };
10
+ protected generateFetchResults(body: any, batchInput: AvailableTypedBatch, context: string[][]): RecordFetchResult[];
11
+ }
@@ -0,0 +1,14 @@
1
+ import type { Request } from '@salesforce/nimbus-plugin-lds';
2
+ import type { RecordFetchResult } from './RecordLoader';
3
+ import type { AvailableTypedBatch } from '../types';
4
+ import { NetworkRecordLoader } from './NetworkRecordLoader';
5
+ export declare class RecordLoaderSOQLComposite extends NetworkRecordLoader {
6
+ makeRequest(batch: AvailableTypedBatch): {
7
+ request: Request;
8
+ context: any;
9
+ };
10
+ protected generateFetchResults(batchResult: any, batchInput: AvailableTypedBatch, rawContext: any): RecordFetchResult[];
11
+ generateSelect(batch: AvailableTypedBatch): string;
12
+ generateWhere(ids: string[]): string;
13
+ private generateFetchResultForSoql;
14
+ }
@@ -0,0 +1,32 @@
1
+ import type { ObjectInfoRepresentation } from '@salesforce/lds-adapters-uiapi';
2
+ import type { DurableRecordRepresentation } from '@salesforce/lds-durable-records';
3
+ export interface RecordTypeInfo {
4
+ available: boolean;
5
+ defaultRecordTypeMapping: boolean;
6
+ master: boolean;
7
+ name: string;
8
+ recordTypeId: string;
9
+ }
10
+ export declare class SoqlRecordConverter {
11
+ objectType: string;
12
+ records: Record<string, any>[];
13
+ recordTypeInfos: Map<string, RecordTypeInfo>;
14
+ fieldTypeMapping: Map<string, string>;
15
+ masterRecordTypeInfo: RecordTypeInfo | null;
16
+ filteredFields: Array<string>;
17
+ /**
18
+ *
19
+ * Use the objectInfo to build a map of record types (and find the master/default type),
20
+ * as well as get a list of all fields and data types.
21
+ *
22
+ * @param objectInfo ObjectInfo information from server.
23
+ * @param records The records to process from soql endpoint.
24
+ * @returns instance of SoqlRecordConverter.
25
+ */
26
+ static get(objectInfo: ObjectInfoRepresentation, records: Record<string, any>[]): SoqlRecordConverter;
27
+ constructor(objectType: string, records: Record<string, any>[], recordTypeInfos: Map<string, RecordTypeInfo>, fieldTypeMapping: Map<string, string>, masterRecordTypeInfo: RecordTypeInfo | null);
28
+ convert(): DurableRecordRepresentation[];
29
+ private convertRecord;
30
+ private weakEtag;
31
+ private formatFieldValueIfNeeded;
32
+ }
@@ -0,0 +1,2 @@
1
+ export declare const apiVersion = "v63.0";
2
+ export declare const basePath: string;
@@ -0,0 +1,4 @@
1
+ export type { RecordLoader, RecordFetchResult } from './RecordLoader';
2
+ export { RecordLoaderGraphQL } from './RecordLoaderGraphQL';
3
+ export { RecordLoaderGraphQLBatch } from './RecordLoaderGraphQLBatch';
4
+ export { RecordLoaderSOQLComposite } from './RecordLoaderSOQLComposite';
@@ -0,0 +1,3 @@
1
+ import type { TypedBatch, PrimingWork } from './types';
2
+ export declare function chunk<T = any>(arr: T[], chunkSize: number): T[][];
3
+ export declare function generateTypedBatches(work: PrimingWork, batchSize: number): TypedBatch[];
@@ -0,0 +1,31 @@
1
+ import type { DurableRecordRepresentation } from '@salesforce/lds-durable-records';
2
+ import type { ObjectInfoRepresentation } from '@salesforce/lds-adapters-uiapi';
3
+ type MergeCode = 'success' | 'conflict-missing-fields' | 'conflict-drafts' | 'conflict-spanning-record';
4
+ export interface MergeResultSuccess {
5
+ ok: true;
6
+ code: MergeCode;
7
+ needsWrite: boolean;
8
+ record: DurableRecordRepresentation;
9
+ }
10
+ export interface MergeResultConflict {
11
+ ok: false;
12
+ code: MergeCode;
13
+ hasDraft: boolean;
14
+ fieldUnion: string[];
15
+ }
16
+ type MergeResult = MergeResultSuccess | MergeResultConflict;
17
+ /**
18
+ * Merges (if possible) an incoming record from a priming session with an existing record in the durable store.
19
+ *
20
+ * IMPORTANT NOTE: this is not a suitable function to use for general merging of two DurableRecordRepresentation since it
21
+ * makes the assumption that the incoming record ONLY contains scalar field values and no spanning records. The same is not
22
+ * necessarily true for the existing record as it may have been populated in the cache outside of a priming session.
23
+ * This function should not be moved out of the priming module!
24
+ *
25
+ * @param existingRecord Existing record in the durable store
26
+ * @param incomingRecord Incoming record from the priming session
27
+ * @param objectInfo Object info for the incoming record type
28
+ * @returns Merge result describing the success or failure of the merge operation
29
+ */
30
+ export declare function mergeRecord(existingRecord: DurableRecordRepresentation, incomingRecord: DurableRecordRepresentation, objectInfo: ObjectInfoRepresentation): MergeResult;
31
+ export {};
@@ -2,7 +2,7 @@ import { Luvio, Environment } from '@luvio/engine';
2
2
  import { DraftManager } from '@salesforce/lds-drafts';
3
3
  import type { DraftQueue } from '@salesforce/lds-drafts';
4
4
  import type { NimbusSqliteStore } from '@salesforce/lds-store-nimbus';
5
- import type { PrimingSession } from '@salesforce/lds-priming';
5
+ import type { PrimingSession } from './priming';
6
6
  export interface Runtime {
7
7
  luvio: Luvio;
8
8
  internalLuvio: Luvio;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-runtime-mobile",
3
- "version": "1.318.0",
3
+ "version": "1.320.0",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "LDS runtime for mobile/hybrid environments.",
6
6
  "main": "dist/main.js",
@@ -32,25 +32,23 @@
32
32
  "release:corejar": "yarn build && ../core-build/scripts/core.js --name=lds-runtime-mobile"
33
33
  },
34
34
  "dependencies": {
35
- "@salesforce/lds-adapters-uiapi": "^1.318.0",
36
- "@salesforce/lds-bindings": "^1.318.0",
37
- "@salesforce/lds-instrumentation": "^1.318.0",
38
- "@salesforce/lds-priming": "^1.318.0",
35
+ "@salesforce/lds-adapters-uiapi": "^1.320.0",
36
+ "@salesforce/lds-bindings": "^1.320.0",
37
+ "@salesforce/lds-instrumentation": "^1.320.0",
39
38
  "@salesforce/user": "0.0.21",
40
39
  "o11y": "250.7.0"
41
40
  },
42
41
  "devDependencies": {
43
- "@salesforce/lds-adapters-graphql": "^1.318.0",
44
- "@salesforce/lds-drafts": "^1.318.0",
45
- "@salesforce/lds-durable-records": "^1.318.0",
46
- "@salesforce/lds-graphql-local-evaluation": "^1.318.0",
47
- "@salesforce/lds-network-adapter": "^1.318.0",
48
- "@salesforce/lds-network-nimbus": "^1.318.0",
49
- "@salesforce/lds-store-binary": "^1.318.0",
50
- "@salesforce/lds-store-nimbus": "^1.318.0",
51
- "@salesforce/lds-store-sql": "^1.318.0",
52
- "@salesforce/lds-utils-adapters": "^1.318.0",
53
- "@salesforce/nimbus-plugin-lds": "^1.318.0",
42
+ "@salesforce/lds-adapters-graphql": "^1.320.0",
43
+ "@salesforce/lds-drafts": "^1.320.0",
44
+ "@salesforce/lds-durable-records": "^1.320.0",
45
+ "@salesforce/lds-network-adapter": "^1.320.0",
46
+ "@salesforce/lds-network-nimbus": "^1.320.0",
47
+ "@salesforce/lds-store-binary": "^1.320.0",
48
+ "@salesforce/lds-store-nimbus": "^1.320.0",
49
+ "@salesforce/lds-store-sql": "^1.320.0",
50
+ "@salesforce/lds-utils-adapters": "^1.320.0",
51
+ "@salesforce/nimbus-plugin-lds": "^1.320.0",
54
52
  "babel-plugin-dynamic-import-node": "^2.3.3",
55
53
  "wait-for-expect": "^3.0.2"
56
54
  },