@salesforce/lds-adapters-industries-explainability 0.1.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.
Files changed (23) hide show
  1. package/LICENSE.txt +82 -0
  2. package/dist/es/es2018/industries-explainability.js +878 -0
  3. package/dist/es/es2018/types/src/generated/adapters/adapter-utils.d.ts +62 -0
  4. package/dist/es/es2018/types/src/generated/adapters/getExplainabilityActionLogs.d.ts +38 -0
  5. package/dist/es/es2018/types/src/generated/adapters/getExplainabilityDetailedActionLog.d.ts +32 -0
  6. package/dist/es/es2018/types/src/generated/adapters/storeExplainabilityActionLog.d.ts +16 -0
  7. package/dist/es/es2018/types/src/generated/artifacts/main.d.ts +3 -0
  8. package/dist/es/es2018/types/src/generated/artifacts/sfdc.d.ts +6 -0
  9. package/dist/es/es2018/types/src/generated/resources/getConnectDecisionExplainerActionLogs.d.ts +26 -0
  10. package/dist/es/es2018/types/src/generated/resources/getConnectDecisionExplainerDetailedActionLog.d.ts +20 -0
  11. package/dist/es/es2018/types/src/generated/resources/postConnectDecisionExplainerActionLogs.d.ts +13 -0
  12. package/dist/es/es2018/types/src/generated/types/ExplainabilityActionLogCreateRepresentation.d.ts +41 -0
  13. package/dist/es/es2018/types/src/generated/types/ExplainabilityActionLogDetailRepresentation.d.ts +67 -0
  14. package/dist/es/es2018/types/src/generated/types/ExplainabilityActionLogInputRepresentation.d.ts +52 -0
  15. package/dist/es/es2018/types/src/generated/types/ExplainabilityActionLogInputRepresentationWrapper.d.ts +28 -0
  16. package/dist/es/es2018/types/src/generated/types/ExplainabilityActionLogsRepresentation.d.ts +33 -0
  17. package/dist/es/es2018/types/src/generated/types/ExplainabilityDetailedActionLogDetailRepresentation.d.ts +62 -0
  18. package/dist/es/es2018/types/src/generated/types/type-utils.d.ts +32 -0
  19. package/package.json +74 -0
  20. package/sfdc/index.d.ts +1 -0
  21. package/sfdc/index.js +935 -0
  22. package/src/raml/api.raml +304 -0
  23. package/src/raml/luvio.raml +34 -0
@@ -0,0 +1,878 @@
1
+ /**
2
+ * Copyright (c) 2022, Salesforce, Inc.,
3
+ * All rights reserved.
4
+ * For full license text, see the LICENSE.txt file
5
+ */
6
+
7
+ import { serializeStructuredKey, ingestShape, deepFreeze, buildNetworkSnapshotCachePolicy as buildNetworkSnapshotCachePolicy$2, typeCheckConfig as typeCheckConfig$3, StoreKeyMap, createResourceParams as createResourceParams$3 } from '@luvio/engine';
8
+
9
+ const { hasOwnProperty: ObjectPrototypeHasOwnProperty } = Object.prototype;
10
+ const { keys: ObjectKeys, create: ObjectCreate } = Object;
11
+ const { isArray: ArrayIsArray$1 } = Array;
12
+ /**
13
+ * Validates an adapter config is well-formed.
14
+ * @param config The config to validate.
15
+ * @param adapter The adapter validation configuration.
16
+ * @param oneOf The keys the config must contain at least one of.
17
+ * @throws A TypeError if config doesn't satisfy the adapter's config validation.
18
+ */
19
+ function validateConfig(config, adapter, oneOf) {
20
+ const { displayName } = adapter;
21
+ const { required, optional, unsupported } = adapter.parameters;
22
+ if (config === undefined ||
23
+ required.every(req => ObjectPrototypeHasOwnProperty.call(config, req)) === false) {
24
+ throw new TypeError(`adapter ${displayName} configuration must specify ${required.sort().join(', ')}`);
25
+ }
26
+ if (oneOf && oneOf.some(req => ObjectPrototypeHasOwnProperty.call(config, req)) === false) {
27
+ throw new TypeError(`adapter ${displayName} configuration must specify one of ${oneOf.sort().join(', ')}`);
28
+ }
29
+ if (unsupported !== undefined &&
30
+ unsupported.some(req => ObjectPrototypeHasOwnProperty.call(config, req))) {
31
+ throw new TypeError(`adapter ${displayName} does not yet support ${unsupported.sort().join(', ')}`);
32
+ }
33
+ const supported = required.concat(optional);
34
+ if (ObjectKeys(config).some(key => !supported.includes(key))) {
35
+ throw new TypeError(`adapter ${displayName} configuration supports only ${supported.sort().join(', ')}`);
36
+ }
37
+ }
38
+ function untrustedIsObject(untrusted) {
39
+ return typeof untrusted === 'object' && untrusted !== null && ArrayIsArray$1(untrusted) === false;
40
+ }
41
+ function areRequiredParametersPresent(config, configPropertyNames) {
42
+ return configPropertyNames.parameters.required.every(req => req in config);
43
+ }
44
+ const snapshotRefreshOptions = {
45
+ overrides: {
46
+ headers: {
47
+ 'Cache-Control': 'no-cache',
48
+ },
49
+ }
50
+ };
51
+ function generateParamConfigMetadata(name, required, resourceType, typeCheckShape, isArrayShape = false, coerceFn) {
52
+ return {
53
+ name,
54
+ required,
55
+ resourceType,
56
+ typeCheckShape,
57
+ isArrayShape,
58
+ coerceFn,
59
+ };
60
+ }
61
+ function buildAdapterValidationConfig(displayName, paramsMeta) {
62
+ const required = paramsMeta.filter(p => p.required).map(p => p.name);
63
+ const optional = paramsMeta.filter(p => !p.required).map(p => p.name);
64
+ return {
65
+ displayName,
66
+ parameters: {
67
+ required,
68
+ optional,
69
+ }
70
+ };
71
+ }
72
+ const keyPrefix = 'explainability';
73
+
74
+ const { isArray: ArrayIsArray } = Array;
75
+ const { stringify: JSONStringify } = JSON;
76
+ function createLink(ref) {
77
+ return {
78
+ __ref: serializeStructuredKey(ref),
79
+ };
80
+ }
81
+
82
+ function validate$4(obj, path = 'ExplainabilityActionLogDetailRepresentation') {
83
+ const v_error = (() => {
84
+ if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
85
+ return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
86
+ }
87
+ const obj_actionContextCode = obj.actionContextCode;
88
+ const path_actionContextCode = path + '.actionContextCode';
89
+ if (typeof obj_actionContextCode !== 'string') {
90
+ return new TypeError('Expected "string" but received "' + typeof obj_actionContextCode + '" (at "' + path_actionContextCode + '")');
91
+ }
92
+ if (obj.actionLog !== undefined) {
93
+ const obj_actionLog = obj.actionLog;
94
+ const path_actionLog = path + '.actionLog';
95
+ if (typeof obj_actionLog !== 'string') {
96
+ return new TypeError('Expected "string" but received "' + typeof obj_actionLog + '" (at "' + path_actionLog + '")');
97
+ }
98
+ }
99
+ if (obj.additionalFilter !== undefined) {
100
+ const obj_additionalFilter = obj.additionalFilter;
101
+ const path_additionalFilter = path + '.additionalFilter';
102
+ if (typeof obj_additionalFilter !== 'string') {
103
+ return new TypeError('Expected "string" but received "' + typeof obj_additionalFilter + '" (at "' + path_additionalFilter + '")');
104
+ }
105
+ }
106
+ const obj_applicationLogCalendarDate = obj.applicationLogCalendarDate;
107
+ const path_applicationLogCalendarDate = path + '.applicationLogCalendarDate';
108
+ if (typeof obj_applicationLogCalendarDate !== 'string') {
109
+ return new TypeError('Expected "string" but received "' + typeof obj_applicationLogCalendarDate + '" (at "' + path_applicationLogCalendarDate + '")');
110
+ }
111
+ const obj_applicationLogDate = obj.applicationLogDate;
112
+ const path_applicationLogDate = path + '.applicationLogDate';
113
+ if (typeof obj_applicationLogDate !== 'string') {
114
+ return new TypeError('Expected "string" but received "' + typeof obj_applicationLogDate + '" (at "' + path_applicationLogDate + '")');
115
+ }
116
+ const obj_applicationSubtype = obj.applicationSubtype;
117
+ const path_applicationSubtype = path + '.applicationSubtype';
118
+ if (typeof obj_applicationSubtype !== 'string') {
119
+ return new TypeError('Expected "string" but received "' + typeof obj_applicationSubtype + '" (at "' + path_applicationSubtype + '")');
120
+ }
121
+ const obj_applicationType = obj.applicationType;
122
+ const path_applicationType = path + '.applicationType';
123
+ if (typeof obj_applicationType !== 'string') {
124
+ return new TypeError('Expected "string" but received "' + typeof obj_applicationType + '" (at "' + path_applicationType + '")');
125
+ }
126
+ const obj_explainabilitySpecName = obj.explainabilitySpecName;
127
+ const path_explainabilitySpecName = path + '.explainabilitySpecName';
128
+ if (typeof obj_explainabilitySpecName !== 'string') {
129
+ return new TypeError('Expected "string" but received "' + typeof obj_explainabilitySpecName + '" (at "' + path_explainabilitySpecName + '")');
130
+ }
131
+ const obj_isChunked = obj.isChunked;
132
+ const path_isChunked = path + '.isChunked';
133
+ if (typeof obj_isChunked !== 'boolean') {
134
+ return new TypeError('Expected "boolean" but received "' + typeof obj_isChunked + '" (at "' + path_isChunked + '")');
135
+ }
136
+ const obj_name = obj.name;
137
+ const path_name = path + '.name';
138
+ if (typeof obj_name !== 'string') {
139
+ return new TypeError('Expected "string" but received "' + typeof obj_name + '" (at "' + path_name + '")');
140
+ }
141
+ if (obj.primaryFilter !== undefined) {
142
+ const obj_primaryFilter = obj.primaryFilter;
143
+ const path_primaryFilter = path + '.primaryFilter';
144
+ if (typeof obj_primaryFilter !== 'string') {
145
+ return new TypeError('Expected "string" but received "' + typeof obj_primaryFilter + '" (at "' + path_primaryFilter + '")');
146
+ }
147
+ }
148
+ const obj_processType = obj.processType;
149
+ const path_processType = path + '.processType';
150
+ if (typeof obj_processType !== 'string') {
151
+ return new TypeError('Expected "string" but received "' + typeof obj_processType + '" (at "' + path_processType + '")');
152
+ }
153
+ if (obj.secondaryFilter !== undefined) {
154
+ const obj_secondaryFilter = obj.secondaryFilter;
155
+ const path_secondaryFilter = path + '.secondaryFilter';
156
+ if (typeof obj_secondaryFilter !== 'string') {
157
+ return new TypeError('Expected "string" but received "' + typeof obj_secondaryFilter + '" (at "' + path_secondaryFilter + '")');
158
+ }
159
+ }
160
+ const obj_uniqueIdentifier = obj.uniqueIdentifier;
161
+ const path_uniqueIdentifier = path + '.uniqueIdentifier';
162
+ if (typeof obj_uniqueIdentifier !== 'string') {
163
+ return new TypeError('Expected "string" but received "' + typeof obj_uniqueIdentifier + '" (at "' + path_uniqueIdentifier + '")');
164
+ }
165
+ })();
166
+ return v_error === undefined ? null : v_error;
167
+ }
168
+
169
+ const TTL$2 = 10000;
170
+ const VERSION$2 = "d0452c2b6e53e2a843a03bf30a275e18";
171
+ function validate$3(obj, path = 'ExplainabilityActionLogsRepresentation') {
172
+ const v_error = (() => {
173
+ if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
174
+ return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
175
+ }
176
+ const obj_actionLogs = obj.actionLogs;
177
+ const path_actionLogs = path + '.actionLogs';
178
+ if (!ArrayIsArray(obj_actionLogs)) {
179
+ return new TypeError('Expected "array" but received "' + typeof obj_actionLogs + '" (at "' + path_actionLogs + '")');
180
+ }
181
+ for (let i = 0; i < obj_actionLogs.length; i++) {
182
+ const obj_actionLogs_item = obj_actionLogs[i];
183
+ const path_actionLogs_item = path_actionLogs + '[' + i + ']';
184
+ const referencepath_actionLogs_itemValidationError = validate$4(obj_actionLogs_item, path_actionLogs_item);
185
+ if (referencepath_actionLogs_itemValidationError !== null) {
186
+ let message = 'Object doesn\'t match ExplainabilityActionLogDetailRepresentation (at "' + path_actionLogs_item + '")\n';
187
+ message += referencepath_actionLogs_itemValidationError.message.split('\n').map((line) => '\t' + line).join('\n');
188
+ return new TypeError(message);
189
+ }
190
+ }
191
+ if (obj.queryMore !== undefined) {
192
+ const obj_queryMore = obj.queryMore;
193
+ const path_queryMore = path + '.queryMore';
194
+ if (typeof obj_queryMore !== 'string') {
195
+ return new TypeError('Expected "string" but received "' + typeof obj_queryMore + '" (at "' + path_queryMore + '")');
196
+ }
197
+ }
198
+ })();
199
+ return v_error === undefined ? null : v_error;
200
+ }
201
+ const RepresentationType$2 = 'ExplainabilityActionLogsRepresentation';
202
+ function normalize$2(input, existing, path, luvio, store, timestamp) {
203
+ return input;
204
+ }
205
+ const select$5 = function ExplainabilityActionLogsRepresentationSelect() {
206
+ return {
207
+ kind: 'Fragment',
208
+ version: VERSION$2,
209
+ private: [],
210
+ opaque: true
211
+ };
212
+ };
213
+ function equals$2(existing, incoming) {
214
+ if (JSONStringify(incoming) !== JSONStringify(existing)) {
215
+ return false;
216
+ }
217
+ return true;
218
+ }
219
+ const ingest$2 = function ExplainabilityActionLogsRepresentationIngest(input, path, luvio, store, timestamp) {
220
+ if (process.env.NODE_ENV !== 'production') {
221
+ const validateError = validate$3(input);
222
+ if (validateError !== null) {
223
+ throw validateError;
224
+ }
225
+ }
226
+ const key = path.fullPath;
227
+ const ttlToUse = TTL$2;
228
+ ingestShape(input, path, luvio, store, timestamp, ttlToUse, key, normalize$2, "explainability", VERSION$2, RepresentationType$2, equals$2);
229
+ return createLink(key);
230
+ };
231
+ function getTypeCacheKeys$2(rootKeySet, luvio, input, fullPathFactory) {
232
+ // root cache key (uses fullPathFactory if keyBuilderFromType isn't defined)
233
+ const rootKey = fullPathFactory();
234
+ rootKeySet.set(rootKey, {
235
+ namespace: keyPrefix,
236
+ representationName: RepresentationType$2,
237
+ mergeable: false
238
+ });
239
+ }
240
+
241
+ function select$4(luvio, params) {
242
+ return select$5();
243
+ }
244
+ function keyBuilder$4(luvio, params) {
245
+ return keyPrefix + '::ExplainabilityActionLogsRepresentation:(' + 'actionContextCode:' + params.queryParams.actionContextCode + ',' + 'applicationSubType:' + params.queryParams.applicationSubType + ',' + 'applicationType:' + params.queryParams.applicationType + ',' + 'createdAfter:' + params.queryParams.createdAfter + ',' + 'createdBefore:' + params.queryParams.createdBefore + ',' + 'pageSize:' + params.queryParams.pageSize + ',' + 'processType:' + params.queryParams.processType + ',' + 'queryMore:' + params.queryParams.queryMore + ',' + 'primaryFilter:' + params.queryParams.primaryFilter + ',' + 'secondaryFilter:' + params.queryParams.secondaryFilter + ',' + 'additionalFilter:' + params.queryParams.additionalFilter + ',' + 'sortDirection:' + params.queryParams.sortDirection + ')';
246
+ }
247
+ function getResponseCacheKeys$2(storeKeyMap, luvio, resourceParams, response) {
248
+ getTypeCacheKeys$2(storeKeyMap, luvio, response, () => keyBuilder$4(luvio, resourceParams));
249
+ }
250
+ function ingestSuccess$2(luvio, resourceParams, response, snapshotRefresh) {
251
+ const { body } = response;
252
+ const key = keyBuilder$4(luvio, resourceParams);
253
+ luvio.storeIngest(key, ingest$2, body);
254
+ const snapshot = luvio.storeLookup({
255
+ recordId: key,
256
+ node: select$4(),
257
+ variables: {},
258
+ }, snapshotRefresh);
259
+ if (process.env.NODE_ENV !== 'production') {
260
+ if (snapshot.state !== 'Fulfilled') {
261
+ throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
262
+ }
263
+ }
264
+ deepFreeze(snapshot.data);
265
+ return snapshot;
266
+ }
267
+ function ingestError$1(luvio, params, error, snapshotRefresh) {
268
+ const key = keyBuilder$4(luvio, params);
269
+ const errorSnapshot = luvio.errorSnapshot(error, snapshotRefresh);
270
+ const storeMetadataParams = {
271
+ ttl: TTL$2,
272
+ namespace: keyPrefix,
273
+ version: VERSION$2,
274
+ representationName: RepresentationType$2
275
+ };
276
+ luvio.storeIngestError(key, errorSnapshot, storeMetadataParams);
277
+ return errorSnapshot;
278
+ }
279
+ function createResourceRequest$2(config) {
280
+ const headers = {};
281
+ return {
282
+ baseUri: '/services/data/v66.0',
283
+ basePath: '/connect/decision-explainer/action-logs',
284
+ method: 'get',
285
+ body: null,
286
+ urlParams: {},
287
+ queryParams: config.queryParams,
288
+ headers,
289
+ priority: 'normal',
290
+ };
291
+ }
292
+
293
+ const adapterName$2 = 'getExplainabilityActionLogs';
294
+ const getExplainabilityActionLogs_ConfigPropertyMetadata = [
295
+ generateParamConfigMetadata('actionContextCode', false, 1 /* QueryParameter */, 0 /* String */),
296
+ generateParamConfigMetadata('applicationSubType', false, 1 /* QueryParameter */, 0 /* String */),
297
+ generateParamConfigMetadata('applicationType', false, 1 /* QueryParameter */, 0 /* String */),
298
+ generateParamConfigMetadata('createdAfter', false, 1 /* QueryParameter */, 0 /* String */),
299
+ generateParamConfigMetadata('createdBefore', false, 1 /* QueryParameter */, 0 /* String */),
300
+ generateParamConfigMetadata('pageSize', false, 1 /* QueryParameter */, 3 /* Integer */),
301
+ generateParamConfigMetadata('processType', false, 1 /* QueryParameter */, 0 /* String */),
302
+ generateParamConfigMetadata('queryMore', false, 1 /* QueryParameter */, 0 /* String */),
303
+ generateParamConfigMetadata('primaryFilter', false, 1 /* QueryParameter */, 0 /* String */),
304
+ generateParamConfigMetadata('secondaryFilter', false, 1 /* QueryParameter */, 0 /* String */),
305
+ generateParamConfigMetadata('additionalFilter', false, 1 /* QueryParameter */, 0 /* String */),
306
+ generateParamConfigMetadata('sortDirection', false, 1 /* QueryParameter */, 0 /* String */),
307
+ ];
308
+ const getExplainabilityActionLogs_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig(adapterName$2, getExplainabilityActionLogs_ConfigPropertyMetadata);
309
+ const createResourceParams$2 = /*#__PURE__*/ createResourceParams$3(getExplainabilityActionLogs_ConfigPropertyMetadata);
310
+ function keyBuilder$3(luvio, config) {
311
+ const resourceParams = createResourceParams$2(config);
312
+ return keyBuilder$4(luvio, resourceParams);
313
+ }
314
+ function typeCheckConfig$2(untrustedConfig) {
315
+ const config = {};
316
+ typeCheckConfig$3(untrustedConfig, config, getExplainabilityActionLogs_ConfigPropertyMetadata);
317
+ return config;
318
+ }
319
+ function validateAdapterConfig$2(untrustedConfig, configPropertyNames) {
320
+ if (!untrustedIsObject(untrustedConfig)) {
321
+ return null;
322
+ }
323
+ if (process.env.NODE_ENV !== 'production') {
324
+ validateConfig(untrustedConfig, configPropertyNames);
325
+ }
326
+ const config = typeCheckConfig$2(untrustedConfig);
327
+ if (!areRequiredParametersPresent(config, configPropertyNames)) {
328
+ return null;
329
+ }
330
+ return config;
331
+ }
332
+ function adapterFragment$1(luvio, config) {
333
+ createResourceParams$2(config);
334
+ return select$4();
335
+ }
336
+ function onFetchResponseSuccess$1(luvio, config, resourceParams, response) {
337
+ const snapshot = ingestSuccess$2(luvio, resourceParams, response, {
338
+ config,
339
+ resolve: () => buildNetworkSnapshot$2(luvio, config, snapshotRefreshOptions)
340
+ });
341
+ return luvio.storeBroadcast().then(() => snapshot);
342
+ }
343
+ function onFetchResponseError$1(luvio, config, resourceParams, response) {
344
+ const snapshot = ingestError$1(luvio, resourceParams, response, {
345
+ config,
346
+ resolve: () => buildNetworkSnapshot$2(luvio, config, snapshotRefreshOptions)
347
+ });
348
+ return luvio.storeBroadcast().then(() => snapshot);
349
+ }
350
+ function buildNetworkSnapshot$2(luvio, config, options) {
351
+ const resourceParams = createResourceParams$2(config);
352
+ const request = createResourceRequest$2(resourceParams);
353
+ return luvio.dispatchResourceRequest(request, options)
354
+ .then((response) => {
355
+ return luvio.handleSuccessResponse(() => onFetchResponseSuccess$1(luvio, config, resourceParams, response), () => {
356
+ const cache = new StoreKeyMap();
357
+ getResponseCacheKeys$2(cache, luvio, resourceParams, response.body);
358
+ return cache;
359
+ });
360
+ }, (response) => {
361
+ return luvio.handleErrorResponse(() => onFetchResponseError$1(luvio, config, resourceParams, response));
362
+ });
363
+ }
364
+ function buildNetworkSnapshotCachePolicy$1(context, coercedAdapterRequestContext) {
365
+ return buildNetworkSnapshotCachePolicy$2(context, coercedAdapterRequestContext, buildNetworkSnapshot$2, undefined, false);
366
+ }
367
+ function buildCachedSnapshotCachePolicy$1(context, storeLookup) {
368
+ const { luvio, config } = context;
369
+ const selector = {
370
+ recordId: keyBuilder$3(luvio, config),
371
+ node: adapterFragment$1(luvio, config),
372
+ variables: {},
373
+ };
374
+ const cacheSnapshot = storeLookup(selector, {
375
+ config,
376
+ resolve: () => buildNetworkSnapshot$2(luvio, config, snapshotRefreshOptions)
377
+ });
378
+ return cacheSnapshot;
379
+ }
380
+ const getExplainabilityActionLogsAdapterFactory = (luvio) => function explainability__getExplainabilityActionLogs(untrustedConfig, requestContext) {
381
+ const config = validateAdapterConfig$2(untrustedConfig, getExplainabilityActionLogs_ConfigPropertyNames);
382
+ // Invalid or incomplete config
383
+ if (config === null) {
384
+ return null;
385
+ }
386
+ return luvio.applyCachePolicy((requestContext || {}), { config, luvio }, // BuildSnapshotContext
387
+ buildCachedSnapshotCachePolicy$1, buildNetworkSnapshotCachePolicy$1);
388
+ };
389
+
390
+ function validate$2(obj, path = 'ExplainabilityActionLogInputRepresentation') {
391
+ const v_error = (() => {
392
+ if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
393
+ return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
394
+ }
395
+ const obj_actionContextCode = obj.actionContextCode;
396
+ const path_actionContextCode = path + '.actionContextCode';
397
+ if (typeof obj_actionContextCode !== 'string') {
398
+ return new TypeError('Expected "string" but received "' + typeof obj_actionContextCode + '" (at "' + path_actionContextCode + '")');
399
+ }
400
+ const obj_actionLog = obj.actionLog;
401
+ const path_actionLog = path + '.actionLog';
402
+ if (typeof obj_actionLog !== 'string') {
403
+ return new TypeError('Expected "string" but received "' + typeof obj_actionLog + '" (at "' + path_actionLog + '")');
404
+ }
405
+ const obj_actionLogDate = obj.actionLogDate;
406
+ const path_actionLogDate = path + '.actionLogDate';
407
+ if (typeof obj_actionLogDate !== 'string') {
408
+ return new TypeError('Expected "string" but received "' + typeof obj_actionLogDate + '" (at "' + path_actionLogDate + '")');
409
+ }
410
+ if (obj.actionLogOwnerId !== undefined) {
411
+ const obj_actionLogOwnerId = obj.actionLogOwnerId;
412
+ const path_actionLogOwnerId = path + '.actionLogOwnerId';
413
+ if (typeof obj_actionLogOwnerId !== 'string') {
414
+ return new TypeError('Expected "string" but received "' + typeof obj_actionLogOwnerId + '" (at "' + path_actionLogOwnerId + '")');
415
+ }
416
+ }
417
+ if (obj.additionalFilter !== undefined) {
418
+ const obj_additionalFilter = obj.additionalFilter;
419
+ const path_additionalFilter = path + '.additionalFilter';
420
+ if (typeof obj_additionalFilter !== 'string') {
421
+ return new TypeError('Expected "string" but received "' + typeof obj_additionalFilter + '" (at "' + path_additionalFilter + '")');
422
+ }
423
+ }
424
+ if (obj.name !== undefined) {
425
+ const obj_name = obj.name;
426
+ const path_name = path + '.name';
427
+ if (typeof obj_name !== 'string') {
428
+ return new TypeError('Expected "string" but received "' + typeof obj_name + '" (at "' + path_name + '")');
429
+ }
430
+ }
431
+ if (obj.primaryFilter !== undefined) {
432
+ const obj_primaryFilter = obj.primaryFilter;
433
+ const path_primaryFilter = path + '.primaryFilter';
434
+ if (typeof obj_primaryFilter !== 'string') {
435
+ return new TypeError('Expected "string" but received "' + typeof obj_primaryFilter + '" (at "' + path_primaryFilter + '")');
436
+ }
437
+ }
438
+ if (obj.secondaryFilter !== undefined) {
439
+ const obj_secondaryFilter = obj.secondaryFilter;
440
+ const path_secondaryFilter = path + '.secondaryFilter';
441
+ if (typeof obj_secondaryFilter !== 'string') {
442
+ return new TypeError('Expected "string" but received "' + typeof obj_secondaryFilter + '" (at "' + path_secondaryFilter + '")');
443
+ }
444
+ }
445
+ const obj_specificationName = obj.specificationName;
446
+ const path_specificationName = path + '.specificationName';
447
+ if (typeof obj_specificationName !== 'string') {
448
+ return new TypeError('Expected "string" but received "' + typeof obj_specificationName + '" (at "' + path_specificationName + '")');
449
+ }
450
+ })();
451
+ return v_error === undefined ? null : v_error;
452
+ }
453
+
454
+ const TTL$1 = 10000;
455
+ const VERSION$1 = "0d45c6e4f0bafbddf9b0c6a50f5e1a25";
456
+ function validate$1(obj, path = 'ExplainabilityActionLogCreateRepresentation') {
457
+ const v_error = (() => {
458
+ if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
459
+ return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
460
+ }
461
+ if (obj.sequenceNumber !== undefined) {
462
+ const obj_sequenceNumber = obj.sequenceNumber;
463
+ const path_sequenceNumber = path + '.sequenceNumber';
464
+ if (typeof obj_sequenceNumber !== 'number' || (typeof obj_sequenceNumber === 'number' && Math.floor(obj_sequenceNumber) !== obj_sequenceNumber)) {
465
+ return new TypeError('Expected "integer" but received "' + typeof obj_sequenceNumber + '" (at "' + path_sequenceNumber + '")');
466
+ }
467
+ }
468
+ const obj_uniqueIdentifier = obj.uniqueIdentifier;
469
+ const path_uniqueIdentifier = path + '.uniqueIdentifier';
470
+ if (typeof obj_uniqueIdentifier !== 'string') {
471
+ return new TypeError('Expected "string" but received "' + typeof obj_uniqueIdentifier + '" (at "' + path_uniqueIdentifier + '")');
472
+ }
473
+ })();
474
+ return v_error === undefined ? null : v_error;
475
+ }
476
+ const RepresentationType$1 = 'ExplainabilityActionLogCreateRepresentation';
477
+ function keyBuilder$2(luvio, config) {
478
+ return keyPrefix + '::' + RepresentationType$1 + ':' + config.id;
479
+ }
480
+ function keyBuilderFromType(luvio, object) {
481
+ const keyParams = {
482
+ id: object.uniqueIdentifier
483
+ };
484
+ return keyBuilder$2(luvio, keyParams);
485
+ }
486
+ function normalize$1(input, existing, path, luvio, store, timestamp) {
487
+ return input;
488
+ }
489
+ const select$3 = function ExplainabilityActionLogCreateRepresentationSelect() {
490
+ return {
491
+ kind: 'Fragment',
492
+ version: VERSION$1,
493
+ private: [],
494
+ opaque: true
495
+ };
496
+ };
497
+ function equals$1(existing, incoming) {
498
+ if (JSONStringify(incoming) !== JSONStringify(existing)) {
499
+ return false;
500
+ }
501
+ return true;
502
+ }
503
+ const ingest$1 = function ExplainabilityActionLogCreateRepresentationIngest(input, path, luvio, store, timestamp) {
504
+ if (process.env.NODE_ENV !== 'production') {
505
+ const validateError = validate$1(input);
506
+ if (validateError !== null) {
507
+ throw validateError;
508
+ }
509
+ }
510
+ const key = keyBuilderFromType(luvio, input);
511
+ const ttlToUse = TTL$1;
512
+ ingestShape(input, path, luvio, store, timestamp, ttlToUse, key, normalize$1, "explainability", VERSION$1, RepresentationType$1, equals$1);
513
+ return createLink(key);
514
+ };
515
+ function getTypeCacheKeys$1(rootKeySet, luvio, input, fullPathFactory) {
516
+ // root cache key (uses fullPathFactory if keyBuilderFromType isn't defined)
517
+ const rootKey = keyBuilderFromType(luvio, input);
518
+ rootKeySet.set(rootKey, {
519
+ namespace: keyPrefix,
520
+ representationName: RepresentationType$1,
521
+ mergeable: false
522
+ });
523
+ }
524
+
525
+ function select$2(luvio, params) {
526
+ return select$3();
527
+ }
528
+ function getResponseCacheKeys$1(storeKeyMap, luvio, resourceParams, response) {
529
+ getTypeCacheKeys$1(storeKeyMap, luvio, response);
530
+ }
531
+ function ingestSuccess$1(luvio, resourceParams, response) {
532
+ const { body } = response;
533
+ const key = keyBuilderFromType(luvio, body);
534
+ luvio.storeIngest(key, ingest$1, body);
535
+ const snapshot = luvio.storeLookup({
536
+ recordId: key,
537
+ node: select$2(),
538
+ variables: {},
539
+ });
540
+ if (process.env.NODE_ENV !== 'production') {
541
+ if (snapshot.state !== 'Fulfilled') {
542
+ throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
543
+ }
544
+ }
545
+ deepFreeze(snapshot.data);
546
+ return snapshot;
547
+ }
548
+ function createResourceRequest$1(config) {
549
+ const headers = {};
550
+ return {
551
+ baseUri: '/services/data/v66.0',
552
+ basePath: '/connect/decision-explainer/action-logs',
553
+ method: 'post',
554
+ body: config.body,
555
+ urlParams: {},
556
+ queryParams: {},
557
+ headers,
558
+ priority: 'normal',
559
+ };
560
+ }
561
+
562
+ const adapterName$1 = 'storeExplainabilityActionLog';
563
+ const storeExplainabilityActionLog_ConfigPropertyMetadata = [
564
+ generateParamConfigMetadata('explainabilityActionLogDefinition', true, 2 /* Body */, 4 /* Unsupported */),
565
+ ];
566
+ const storeExplainabilityActionLog_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig(adapterName$1, storeExplainabilityActionLog_ConfigPropertyMetadata);
567
+ const createResourceParams$1 = /*#__PURE__*/ createResourceParams$3(storeExplainabilityActionLog_ConfigPropertyMetadata);
568
+ function typeCheckConfig$1(untrustedConfig) {
569
+ const config = {};
570
+ const untrustedConfig_explainabilityActionLogDefinition = untrustedConfig.explainabilityActionLogDefinition;
571
+ const referenceExplainabilityActionLogInputRepresentationValidationError = validate$2(untrustedConfig_explainabilityActionLogDefinition);
572
+ if (referenceExplainabilityActionLogInputRepresentationValidationError === null) {
573
+ config.explainabilityActionLogDefinition = untrustedConfig_explainabilityActionLogDefinition;
574
+ }
575
+ return config;
576
+ }
577
+ function validateAdapterConfig$1(untrustedConfig, configPropertyNames) {
578
+ if (!untrustedIsObject(untrustedConfig)) {
579
+ return null;
580
+ }
581
+ if (process.env.NODE_ENV !== 'production') {
582
+ validateConfig(untrustedConfig, configPropertyNames);
583
+ }
584
+ const config = typeCheckConfig$1(untrustedConfig);
585
+ if (!areRequiredParametersPresent(config, configPropertyNames)) {
586
+ return null;
587
+ }
588
+ return config;
589
+ }
590
+ function buildNetworkSnapshot$1(luvio, config, options) {
591
+ const resourceParams = createResourceParams$1(config);
592
+ const request = createResourceRequest$1(resourceParams);
593
+ return luvio.dispatchResourceRequest(request, options)
594
+ .then((response) => {
595
+ return luvio.handleSuccessResponse(() => {
596
+ const snapshot = ingestSuccess$1(luvio, resourceParams, response);
597
+ return luvio.storeBroadcast().then(() => snapshot);
598
+ }, () => {
599
+ const cache = new StoreKeyMap();
600
+ getResponseCacheKeys$1(cache, luvio, resourceParams, response.body);
601
+ return cache;
602
+ });
603
+ }, (response) => {
604
+ deepFreeze(response);
605
+ throw response;
606
+ });
607
+ }
608
+ const storeExplainabilityActionLogAdapterFactory = (luvio) => {
609
+ return function storeExplainabilityActionLog(untrustedConfig) {
610
+ const config = validateAdapterConfig$1(untrustedConfig, storeExplainabilityActionLog_ConfigPropertyNames);
611
+ // Invalid or incomplete config
612
+ if (config === null) {
613
+ throw new Error('Invalid config for "storeExplainabilityActionLog"');
614
+ }
615
+ return buildNetworkSnapshot$1(luvio, config);
616
+ };
617
+ };
618
+
619
+ const TTL = 10000;
620
+ const VERSION = "2ead56c771f0c2cc2857826a85e490c8";
621
+ function validate(obj, path = 'ExplainabilityDetailedActionLogDetailRepresentation') {
622
+ const v_error = (() => {
623
+ if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
624
+ return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
625
+ }
626
+ const obj_actionContextCode = obj.actionContextCode;
627
+ const path_actionContextCode = path + '.actionContextCode';
628
+ if (typeof obj_actionContextCode !== 'string') {
629
+ return new TypeError('Expected "string" but received "' + typeof obj_actionContextCode + '" (at "' + path_actionContextCode + '")');
630
+ }
631
+ const obj_actionLog = obj.actionLog;
632
+ const path_actionLog = path + '.actionLog';
633
+ if (typeof obj_actionLog !== 'string') {
634
+ return new TypeError('Expected "string" but received "' + typeof obj_actionLog + '" (at "' + path_actionLog + '")');
635
+ }
636
+ if (obj.additionalFilter !== undefined) {
637
+ const obj_additionalFilter = obj.additionalFilter;
638
+ const path_additionalFilter = path + '.additionalFilter';
639
+ if (typeof obj_additionalFilter !== 'string') {
640
+ return new TypeError('Expected "string" but received "' + typeof obj_additionalFilter + '" (at "' + path_additionalFilter + '")');
641
+ }
642
+ }
643
+ const obj_applicationLogDate = obj.applicationLogDate;
644
+ const path_applicationLogDate = path + '.applicationLogDate';
645
+ if (typeof obj_applicationLogDate !== 'string') {
646
+ return new TypeError('Expected "string" but received "' + typeof obj_applicationLogDate + '" (at "' + path_applicationLogDate + '")');
647
+ }
648
+ const obj_applicationSubtype = obj.applicationSubtype;
649
+ const path_applicationSubtype = path + '.applicationSubtype';
650
+ if (typeof obj_applicationSubtype !== 'string') {
651
+ return new TypeError('Expected "string" but received "' + typeof obj_applicationSubtype + '" (at "' + path_applicationSubtype + '")');
652
+ }
653
+ const obj_applicationType = obj.applicationType;
654
+ const path_applicationType = path + '.applicationType';
655
+ if (typeof obj_applicationType !== 'string') {
656
+ return new TypeError('Expected "string" but received "' + typeof obj_applicationType + '" (at "' + path_applicationType + '")');
657
+ }
658
+ const obj_explainabilitySpecName = obj.explainabilitySpecName;
659
+ const path_explainabilitySpecName = path + '.explainabilitySpecName';
660
+ if (typeof obj_explainabilitySpecName !== 'string') {
661
+ return new TypeError('Expected "string" but received "' + typeof obj_explainabilitySpecName + '" (at "' + path_explainabilitySpecName + '")');
662
+ }
663
+ const obj_name = obj.name;
664
+ const path_name = path + '.name';
665
+ if (typeof obj_name !== 'string') {
666
+ return new TypeError('Expected "string" but received "' + typeof obj_name + '" (at "' + path_name + '")');
667
+ }
668
+ if (obj.primaryFilter !== undefined) {
669
+ const obj_primaryFilter = obj.primaryFilter;
670
+ const path_primaryFilter = path + '.primaryFilter';
671
+ if (typeof obj_primaryFilter !== 'string') {
672
+ return new TypeError('Expected "string" but received "' + typeof obj_primaryFilter + '" (at "' + path_primaryFilter + '")');
673
+ }
674
+ }
675
+ const obj_processType = obj.processType;
676
+ const path_processType = path + '.processType';
677
+ if (typeof obj_processType !== 'string') {
678
+ return new TypeError('Expected "string" but received "' + typeof obj_processType + '" (at "' + path_processType + '")');
679
+ }
680
+ if (obj.secondaryFilter !== undefined) {
681
+ const obj_secondaryFilter = obj.secondaryFilter;
682
+ const path_secondaryFilter = path + '.secondaryFilter';
683
+ if (typeof obj_secondaryFilter !== 'string') {
684
+ return new TypeError('Expected "string" but received "' + typeof obj_secondaryFilter + '" (at "' + path_secondaryFilter + '")');
685
+ }
686
+ }
687
+ const obj_uniqueIdentifier = obj.uniqueIdentifier;
688
+ const path_uniqueIdentifier = path + '.uniqueIdentifier';
689
+ if (typeof obj_uniqueIdentifier !== 'string') {
690
+ return new TypeError('Expected "string" but received "' + typeof obj_uniqueIdentifier + '" (at "' + path_uniqueIdentifier + '")');
691
+ }
692
+ })();
693
+ return v_error === undefined ? null : v_error;
694
+ }
695
+ const RepresentationType = 'ExplainabilityDetailedActionLogDetailRepresentation';
696
+ function normalize(input, existing, path, luvio, store, timestamp) {
697
+ return input;
698
+ }
699
+ const select$1 = function ExplainabilityDetailedActionLogDetailRepresentationSelect() {
700
+ return {
701
+ kind: 'Fragment',
702
+ version: VERSION,
703
+ private: [],
704
+ opaque: true
705
+ };
706
+ };
707
+ function equals(existing, incoming) {
708
+ if (JSONStringify(incoming) !== JSONStringify(existing)) {
709
+ return false;
710
+ }
711
+ return true;
712
+ }
713
+ const ingest = function ExplainabilityDetailedActionLogDetailRepresentationIngest(input, path, luvio, store, timestamp) {
714
+ if (process.env.NODE_ENV !== 'production') {
715
+ const validateError = validate(input);
716
+ if (validateError !== null) {
717
+ throw validateError;
718
+ }
719
+ }
720
+ const key = path.fullPath;
721
+ const ttlToUse = TTL;
722
+ ingestShape(input, path, luvio, store, timestamp, ttlToUse, key, normalize, "explainability", VERSION, RepresentationType, equals);
723
+ return createLink(key);
724
+ };
725
+ function getTypeCacheKeys(rootKeySet, luvio, input, fullPathFactory) {
726
+ // root cache key (uses fullPathFactory if keyBuilderFromType isn't defined)
727
+ const rootKey = fullPathFactory();
728
+ rootKeySet.set(rootKey, {
729
+ namespace: keyPrefix,
730
+ representationName: RepresentationType,
731
+ mergeable: false
732
+ });
733
+ }
734
+
735
+ function select(luvio, params) {
736
+ return select$1();
737
+ }
738
+ function keyBuilder$1(luvio, params) {
739
+ return keyPrefix + '::ExplainabilityDetailedActionLogDetailRepresentation:(' + 'actionContextCode:' + params.queryParams.actionContextCode + ',' + 'applicationSubType:' + params.queryParams.applicationSubType + ',' + 'applicationType:' + params.queryParams.applicationType + ',' + 'actionLogDateTime:' + params.queryParams.actionLogDateTime + ',' + 'processType:' + params.queryParams.processType + ',' + 'uniqueIdentifier:' + params.queryParams.uniqueIdentifier + ')';
740
+ }
741
+ function getResponseCacheKeys(storeKeyMap, luvio, resourceParams, response) {
742
+ getTypeCacheKeys(storeKeyMap, luvio, response, () => keyBuilder$1(luvio, resourceParams));
743
+ }
744
+ function ingestSuccess(luvio, resourceParams, response, snapshotRefresh) {
745
+ const { body } = response;
746
+ const key = keyBuilder$1(luvio, resourceParams);
747
+ luvio.storeIngest(key, ingest, body);
748
+ const snapshot = luvio.storeLookup({
749
+ recordId: key,
750
+ node: select(),
751
+ variables: {},
752
+ }, snapshotRefresh);
753
+ if (process.env.NODE_ENV !== 'production') {
754
+ if (snapshot.state !== 'Fulfilled') {
755
+ throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
756
+ }
757
+ }
758
+ deepFreeze(snapshot.data);
759
+ return snapshot;
760
+ }
761
+ function ingestError(luvio, params, error, snapshotRefresh) {
762
+ const key = keyBuilder$1(luvio, params);
763
+ const errorSnapshot = luvio.errorSnapshot(error, snapshotRefresh);
764
+ const storeMetadataParams = {
765
+ ttl: TTL,
766
+ namespace: keyPrefix,
767
+ version: VERSION,
768
+ representationName: RepresentationType
769
+ };
770
+ luvio.storeIngestError(key, errorSnapshot, storeMetadataParams);
771
+ return errorSnapshot;
772
+ }
773
+ function createResourceRequest(config) {
774
+ const headers = {};
775
+ return {
776
+ baseUri: '/services/data/v66.0',
777
+ basePath: '/connect/decision-explainer/detailed-action-log',
778
+ method: 'get',
779
+ body: null,
780
+ urlParams: {},
781
+ queryParams: config.queryParams,
782
+ headers,
783
+ priority: 'normal',
784
+ };
785
+ }
786
+
787
+ const adapterName = 'getExplainabilityDetailedActionLog';
788
+ const getExplainabilityDetailedActionLog_ConfigPropertyMetadata = [
789
+ generateParamConfigMetadata('actionContextCode', true, 1 /* QueryParameter */, 0 /* String */),
790
+ generateParamConfigMetadata('applicationSubType', true, 1 /* QueryParameter */, 0 /* String */),
791
+ generateParamConfigMetadata('applicationType', true, 1 /* QueryParameter */, 0 /* String */),
792
+ generateParamConfigMetadata('actionLogDateTime', true, 1 /* QueryParameter */, 0 /* String */),
793
+ generateParamConfigMetadata('processType', true, 1 /* QueryParameter */, 0 /* String */),
794
+ generateParamConfigMetadata('uniqueIdentifier', true, 1 /* QueryParameter */, 0 /* String */),
795
+ ];
796
+ const getExplainabilityDetailedActionLog_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig(adapterName, getExplainabilityDetailedActionLog_ConfigPropertyMetadata);
797
+ const createResourceParams = /*#__PURE__*/ createResourceParams$3(getExplainabilityDetailedActionLog_ConfigPropertyMetadata);
798
+ function keyBuilder(luvio, config) {
799
+ const resourceParams = createResourceParams(config);
800
+ return keyBuilder$1(luvio, resourceParams);
801
+ }
802
+ function typeCheckConfig(untrustedConfig) {
803
+ const config = {};
804
+ typeCheckConfig$3(untrustedConfig, config, getExplainabilityDetailedActionLog_ConfigPropertyMetadata);
805
+ return config;
806
+ }
807
+ function validateAdapterConfig(untrustedConfig, configPropertyNames) {
808
+ if (!untrustedIsObject(untrustedConfig)) {
809
+ return null;
810
+ }
811
+ if (process.env.NODE_ENV !== 'production') {
812
+ validateConfig(untrustedConfig, configPropertyNames);
813
+ }
814
+ const config = typeCheckConfig(untrustedConfig);
815
+ if (!areRequiredParametersPresent(config, configPropertyNames)) {
816
+ return null;
817
+ }
818
+ return config;
819
+ }
820
+ function adapterFragment(luvio, config) {
821
+ createResourceParams(config);
822
+ return select();
823
+ }
824
+ function onFetchResponseSuccess(luvio, config, resourceParams, response) {
825
+ const snapshot = ingestSuccess(luvio, resourceParams, response, {
826
+ config,
827
+ resolve: () => buildNetworkSnapshot(luvio, config, snapshotRefreshOptions)
828
+ });
829
+ return luvio.storeBroadcast().then(() => snapshot);
830
+ }
831
+ function onFetchResponseError(luvio, config, resourceParams, response) {
832
+ const snapshot = ingestError(luvio, resourceParams, response, {
833
+ config,
834
+ resolve: () => buildNetworkSnapshot(luvio, config, snapshotRefreshOptions)
835
+ });
836
+ return luvio.storeBroadcast().then(() => snapshot);
837
+ }
838
+ function buildNetworkSnapshot(luvio, config, options) {
839
+ const resourceParams = createResourceParams(config);
840
+ const request = createResourceRequest(resourceParams);
841
+ return luvio.dispatchResourceRequest(request, options)
842
+ .then((response) => {
843
+ return luvio.handleSuccessResponse(() => onFetchResponseSuccess(luvio, config, resourceParams, response), () => {
844
+ const cache = new StoreKeyMap();
845
+ getResponseCacheKeys(cache, luvio, resourceParams, response.body);
846
+ return cache;
847
+ });
848
+ }, (response) => {
849
+ return luvio.handleErrorResponse(() => onFetchResponseError(luvio, config, resourceParams, response));
850
+ });
851
+ }
852
+ function buildNetworkSnapshotCachePolicy(context, coercedAdapterRequestContext) {
853
+ return buildNetworkSnapshotCachePolicy$2(context, coercedAdapterRequestContext, buildNetworkSnapshot, undefined, false);
854
+ }
855
+ function buildCachedSnapshotCachePolicy(context, storeLookup) {
856
+ const { luvio, config } = context;
857
+ const selector = {
858
+ recordId: keyBuilder(luvio, config),
859
+ node: adapterFragment(luvio, config),
860
+ variables: {},
861
+ };
862
+ const cacheSnapshot = storeLookup(selector, {
863
+ config,
864
+ resolve: () => buildNetworkSnapshot(luvio, config, snapshotRefreshOptions)
865
+ });
866
+ return cacheSnapshot;
867
+ }
868
+ const getExplainabilityDetailedActionLogAdapterFactory = (luvio) => function explainability__getExplainabilityDetailedActionLog(untrustedConfig, requestContext) {
869
+ const config = validateAdapterConfig(untrustedConfig, getExplainabilityDetailedActionLog_ConfigPropertyNames);
870
+ // Invalid or incomplete config
871
+ if (config === null) {
872
+ return null;
873
+ }
874
+ return luvio.applyCachePolicy((requestContext || {}), { config, luvio }, // BuildSnapshotContext
875
+ buildCachedSnapshotCachePolicy, buildNetworkSnapshotCachePolicy);
876
+ };
877
+
878
+ export { getExplainabilityActionLogsAdapterFactory, getExplainabilityDetailedActionLogAdapterFactory, storeExplainabilityActionLogAdapterFactory };