@salesforce/lds-adapters-analytics-wave 1.463.0 → 1.465.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.
- package/dist/es/es2018/analytics-wave.js +91 -18
- package/dist/es/es2018/types/src/generated/adapters/getRecipes.d.ts +1 -0
- package/dist/es/es2018/types/src/generated/resources/getWaveRecipes.d.ts +1 -0
- package/dist/es/es2018/types/src/generated/types/PlatformAuditCheckCollectionRepresentation.d.ts +2 -2
- package/dist/es/es2018/types/src/generated/types/PlatformAuditCheckRepresentation.d.ts +15 -15
- package/dist/es/es2018/types/src/generated/types/PlatformAuditFindingRepresentation.d.ts +6 -6
- package/dist/es/es2018/types/src/generated/types/PlatformAuditRepresentation.d.ts +7 -7
- package/dist/es/es2018/types/src/generated/types/PlatformAuditSnapshotRepresentation.d.ts +7 -7
- package/dist/es/es2018/types/src/generated/types/PlatformAuditSummaryRepresentation.d.ts +6 -6
- package/dist/es/es2018/types/src/generated/types/PlatformAuditUrgencyRepresentation.d.ts +5 -5
- package/package.json +3 -3
- package/sfdc/index.js +92 -19
- package/src/raml/api.raml +178 -71
|
@@ -23190,7 +23190,7 @@ const getAnalyticsLimitsAdapterFactory = (luvio) => function WAVE__getAnalyticsL
|
|
|
23190
23190
|
};
|
|
23191
23191
|
|
|
23192
23192
|
const TTL$i = 300;
|
|
23193
|
-
const VERSION$M = "
|
|
23193
|
+
const VERSION$M = "c0feda50a4a8fc2e5637843b6c1b8eed";
|
|
23194
23194
|
function validate$12(obj, path = 'PlatformAuditCheckRepresentation') {
|
|
23195
23195
|
const v_error = (() => {
|
|
23196
23196
|
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
@@ -23257,8 +23257,62 @@ function validate$12(obj, path = 'PlatformAuditCheckRepresentation') {
|
|
|
23257
23257
|
return new TypeError(message);
|
|
23258
23258
|
}
|
|
23259
23259
|
}
|
|
23260
|
-
obj.coverageScanned
|
|
23261
|
-
|
|
23260
|
+
if (obj.coverageScanned !== undefined) {
|
|
23261
|
+
const obj_coverageScanned = obj.coverageScanned;
|
|
23262
|
+
const path_coverageScanned = path + '.coverageScanned';
|
|
23263
|
+
let obj_coverageScanned_union0 = null;
|
|
23264
|
+
const obj_coverageScanned_union0_error = (() => {
|
|
23265
|
+
if (typeof obj_coverageScanned !== 'number') {
|
|
23266
|
+
return new TypeError('Expected "number" but received "' + typeof obj_coverageScanned + '" (at "' + path_coverageScanned + '")');
|
|
23267
|
+
}
|
|
23268
|
+
})();
|
|
23269
|
+
if (obj_coverageScanned_union0_error != null) {
|
|
23270
|
+
obj_coverageScanned_union0 = obj_coverageScanned_union0_error.message;
|
|
23271
|
+
}
|
|
23272
|
+
let obj_coverageScanned_union1 = null;
|
|
23273
|
+
const obj_coverageScanned_union1_error = (() => {
|
|
23274
|
+
if (obj_coverageScanned !== null) {
|
|
23275
|
+
return new TypeError('Expected "null" but received "' + typeof obj_coverageScanned + '" (at "' + path_coverageScanned + '")');
|
|
23276
|
+
}
|
|
23277
|
+
})();
|
|
23278
|
+
if (obj_coverageScanned_union1_error != null) {
|
|
23279
|
+
obj_coverageScanned_union1 = obj_coverageScanned_union1_error.message;
|
|
23280
|
+
}
|
|
23281
|
+
if (obj_coverageScanned_union0 && obj_coverageScanned_union1) {
|
|
23282
|
+
let message = 'Object doesn\'t match union (at "' + path_coverageScanned + '")';
|
|
23283
|
+
message += '\n' + obj_coverageScanned_union0.split('\n').map((line) => '\t' + line).join('\n');
|
|
23284
|
+
message += '\n' + obj_coverageScanned_union1.split('\n').map((line) => '\t' + line).join('\n');
|
|
23285
|
+
return new TypeError(message);
|
|
23286
|
+
}
|
|
23287
|
+
}
|
|
23288
|
+
if (obj.coverageTotal !== undefined) {
|
|
23289
|
+
const obj_coverageTotal = obj.coverageTotal;
|
|
23290
|
+
const path_coverageTotal = path + '.coverageTotal';
|
|
23291
|
+
let obj_coverageTotal_union0 = null;
|
|
23292
|
+
const obj_coverageTotal_union0_error = (() => {
|
|
23293
|
+
if (typeof obj_coverageTotal !== 'number') {
|
|
23294
|
+
return new TypeError('Expected "number" but received "' + typeof obj_coverageTotal + '" (at "' + path_coverageTotal + '")');
|
|
23295
|
+
}
|
|
23296
|
+
})();
|
|
23297
|
+
if (obj_coverageTotal_union0_error != null) {
|
|
23298
|
+
obj_coverageTotal_union0 = obj_coverageTotal_union0_error.message;
|
|
23299
|
+
}
|
|
23300
|
+
let obj_coverageTotal_union1 = null;
|
|
23301
|
+
const obj_coverageTotal_union1_error = (() => {
|
|
23302
|
+
if (obj_coverageTotal !== null) {
|
|
23303
|
+
return new TypeError('Expected "null" but received "' + typeof obj_coverageTotal + '" (at "' + path_coverageTotal + '")');
|
|
23304
|
+
}
|
|
23305
|
+
})();
|
|
23306
|
+
if (obj_coverageTotal_union1_error != null) {
|
|
23307
|
+
obj_coverageTotal_union1 = obj_coverageTotal_union1_error.message;
|
|
23308
|
+
}
|
|
23309
|
+
if (obj_coverageTotal_union0 && obj_coverageTotal_union1) {
|
|
23310
|
+
let message = 'Object doesn\'t match union (at "' + path_coverageTotal + '")';
|
|
23311
|
+
message += '\n' + obj_coverageTotal_union0.split('\n').map((line) => '\t' + line).join('\n');
|
|
23312
|
+
message += '\n' + obj_coverageTotal_union1.split('\n').map((line) => '\t' + line).join('\n');
|
|
23313
|
+
return new TypeError(message);
|
|
23314
|
+
}
|
|
23315
|
+
}
|
|
23262
23316
|
if (obj.limitationNote !== undefined) {
|
|
23263
23317
|
const obj_limitationNote = obj.limitationNote;
|
|
23264
23318
|
const path_limitationNote = path + '.limitationNote';
|
|
@@ -23349,11 +23403,13 @@ const select$1f = function PlatformAuditCheckRepresentationSelect() {
|
|
|
23349
23403
|
},
|
|
23350
23404
|
{
|
|
23351
23405
|
name: 'coverageScanned',
|
|
23352
|
-
kind: 'Scalar'
|
|
23406
|
+
kind: 'Scalar',
|
|
23407
|
+
required: false
|
|
23353
23408
|
},
|
|
23354
23409
|
{
|
|
23355
23410
|
name: 'coverageTotal',
|
|
23356
|
-
kind: 'Scalar'
|
|
23411
|
+
kind: 'Scalar',
|
|
23412
|
+
required: false
|
|
23357
23413
|
},
|
|
23358
23414
|
{
|
|
23359
23415
|
name: 'limitationNote',
|
|
@@ -23383,16 +23439,6 @@ function equals$M(existing, incoming) {
|
|
|
23383
23439
|
if (!(existing_status === incoming_status)) {
|
|
23384
23440
|
return false;
|
|
23385
23441
|
}
|
|
23386
|
-
const existing_coverageScanned = existing.coverageScanned;
|
|
23387
|
-
const incoming_coverageScanned = incoming.coverageScanned;
|
|
23388
|
-
if (!(existing_coverageScanned === incoming_coverageScanned)) {
|
|
23389
|
-
return false;
|
|
23390
|
-
}
|
|
23391
|
-
const existing_coverageTotal = existing.coverageTotal;
|
|
23392
|
-
const incoming_coverageTotal = incoming.coverageTotal;
|
|
23393
|
-
if (!(existing_coverageTotal === incoming_coverageTotal)) {
|
|
23394
|
-
return false;
|
|
23395
|
-
}
|
|
23396
23442
|
const existing_checkCompletedDate = existing.checkCompletedDate;
|
|
23397
23443
|
const incoming_checkCompletedDate = incoming.checkCompletedDate;
|
|
23398
23444
|
// if at least one of these optionals is defined
|
|
@@ -23419,6 +23465,32 @@ function equals$M(existing, incoming) {
|
|
|
23419
23465
|
return false;
|
|
23420
23466
|
}
|
|
23421
23467
|
}
|
|
23468
|
+
const existing_coverageScanned = existing.coverageScanned;
|
|
23469
|
+
const incoming_coverageScanned = incoming.coverageScanned;
|
|
23470
|
+
// if at least one of these optionals is defined
|
|
23471
|
+
if (existing_coverageScanned !== undefined || incoming_coverageScanned !== undefined) {
|
|
23472
|
+
// if one of these is not defined we know the other is defined and therefore
|
|
23473
|
+
// not equal
|
|
23474
|
+
if (existing_coverageScanned === undefined || incoming_coverageScanned === undefined) {
|
|
23475
|
+
return false;
|
|
23476
|
+
}
|
|
23477
|
+
if (!(existing_coverageScanned === incoming_coverageScanned)) {
|
|
23478
|
+
return false;
|
|
23479
|
+
}
|
|
23480
|
+
}
|
|
23481
|
+
const existing_coverageTotal = existing.coverageTotal;
|
|
23482
|
+
const incoming_coverageTotal = incoming.coverageTotal;
|
|
23483
|
+
// if at least one of these optionals is defined
|
|
23484
|
+
if (existing_coverageTotal !== undefined || incoming_coverageTotal !== undefined) {
|
|
23485
|
+
// if one of these is not defined we know the other is defined and therefore
|
|
23486
|
+
// not equal
|
|
23487
|
+
if (existing_coverageTotal === undefined || incoming_coverageTotal === undefined) {
|
|
23488
|
+
return false;
|
|
23489
|
+
}
|
|
23490
|
+
if (!(existing_coverageTotal === incoming_coverageTotal)) {
|
|
23491
|
+
return false;
|
|
23492
|
+
}
|
|
23493
|
+
}
|
|
23422
23494
|
const existing_limitationNote = existing.limitationNote;
|
|
23423
23495
|
const incoming_limitationNote = incoming.limitationNote;
|
|
23424
23496
|
// if at least one of these optionals is defined
|
|
@@ -23537,7 +23609,7 @@ function equals$L(existing, incoming) {
|
|
|
23537
23609
|
return true;
|
|
23538
23610
|
}
|
|
23539
23611
|
|
|
23540
|
-
const VERSION$K = "
|
|
23612
|
+
const VERSION$K = "9a2c2926bd5c97af09b7fc0bbaf2066f";
|
|
23541
23613
|
function validate$10(obj, path = 'PlatformAuditFindingRepresentation') {
|
|
23542
23614
|
const v_error = (() => {
|
|
23543
23615
|
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
@@ -23615,7 +23687,7 @@ function equals$K(existing, incoming) {
|
|
|
23615
23687
|
return true;
|
|
23616
23688
|
}
|
|
23617
23689
|
|
|
23618
|
-
const VERSION$J = "
|
|
23690
|
+
const VERSION$J = "51c6525f2259b5219e90d75c591ddf7d";
|
|
23619
23691
|
function validate$$(obj, path = 'PlatformAuditUrgencyRepresentation') {
|
|
23620
23692
|
const v_error = (() => {
|
|
23621
23693
|
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
@@ -26625,7 +26697,7 @@ function select$V(luvio, params) {
|
|
|
26625
26697
|
return select$W();
|
|
26626
26698
|
}
|
|
26627
26699
|
function keyBuilder$F(luvio, params) {
|
|
26628
|
-
return keyPrefix + '::RecipeCollectionRepresentation:(' + 'format:' + params.queryParams.format + ',' + 'lastModifiedAfter:' + params.queryParams.lastModifiedAfter + ',' + 'lastModifiedBefore:' + params.queryParams.lastModifiedBefore + ',' + 'licenseType:' + params.queryParams.licenseType + ',' + 'nextScheduledAfter:' + params.queryParams.nextScheduledAfter + ',' + 'nextScheduledBefore:' + params.queryParams.nextScheduledBefore + ',' + 'page:' + params.queryParams.page + ',' + 'pageSize:' + params.queryParams.pageSize + ',' + 'q:' + params.queryParams.q + ',' + 'sort:' + params.queryParams.sort + ',' + 'status:' + params.queryParams.status + ')';
|
|
26700
|
+
return keyPrefix + '::RecipeCollectionRepresentation:(' + 'format:' + params.queryParams.format + ',' + 'lastModifiedAfter:' + params.queryParams.lastModifiedAfter + ',' + 'lastModifiedBefore:' + params.queryParams.lastModifiedBefore + ',' + 'licenseType:' + params.queryParams.licenseType + ',' + 'nextScheduledAfter:' + params.queryParams.nextScheduledAfter + ',' + 'nextScheduledBefore:' + params.queryParams.nextScheduledBefore + ',' + 'page:' + params.queryParams.page + ',' + 'pageSize:' + params.queryParams.pageSize + ',' + 'q:' + params.queryParams.q + ',' + 'recipePermsFolderId:' + params.queryParams.recipePermsFolderId + ',' + 'sort:' + params.queryParams.sort + ',' + 'status:' + params.queryParams.status + ')';
|
|
26629
26701
|
}
|
|
26630
26702
|
function getResponseCacheKeys$p(storeKeyMap, luvio, resourceParams, response) {
|
|
26631
26703
|
getTypeCacheKeys$d(storeKeyMap, luvio, response, () => keyBuilder$F(luvio, resourceParams));
|
|
@@ -26684,6 +26756,7 @@ const getRecipes_ConfigPropertyMetadata = [
|
|
|
26684
26756
|
generateParamConfigMetadata('page', false, 1 /* QueryParameter */, 0 /* String */),
|
|
26685
26757
|
generateParamConfigMetadata('pageSize', false, 1 /* QueryParameter */, 3 /* Integer */),
|
|
26686
26758
|
generateParamConfigMetadata('q', false, 1 /* QueryParameter */, 0 /* String */),
|
|
26759
|
+
generateParamConfigMetadata('recipePermsFolderId', false, 1 /* QueryParameter */, 0 /* String */),
|
|
26687
26760
|
generateParamConfigMetadata('sort', false, 1 /* QueryParameter */, 0 /* String */),
|
|
26688
26761
|
generateParamConfigMetadata('status', false, 1 /* QueryParameter */, 0 /* String */, true),
|
|
26689
26762
|
];
|
package/dist/es/es2018/types/src/generated/types/PlatformAuditCheckCollectionRepresentation.d.ts
CHANGED
|
@@ -16,9 +16,9 @@ export declare function getTypeCacheKeys(rootKeySet: $64$luvio_engine_DurableSto
|
|
|
16
16
|
* (none)
|
|
17
17
|
*/
|
|
18
18
|
export interface PlatformAuditCheckCollectionRepresentationNormalized {
|
|
19
|
-
/**
|
|
19
|
+
/** Every check of the audit run, ordered by check name. Finished checks carry their results; checks that have not finished carry only their status. If the server cannot determine which checks have not finished, only the finished checks are listed. */
|
|
20
20
|
checks: Array<PlatformAuditCheckRepresentation_PlatformAuditCheckRepresentation>;
|
|
21
|
-
/** The
|
|
21
|
+
/** The number of checks listed - every check of the audit run, or only the finished checks when the server cannot determine which have not finished. */
|
|
22
22
|
totalSize: number;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IngestPath as $64$luvio_engine_IngestPath, Luvio as $64$luvio_engine_Luvio, Store as $64$luvio_engine_Store, FragmentSelection as $64$luvio_engine_FragmentSelection, ResourceIngest as $64$luvio_engine_ResourceIngest, DurableStoreKeyMetadataMap as $64$luvio_engine_DurableStoreKeyMetadataMap, NormalizedKeyMetadata as $64$luvio_engine_NormalizedKeyMetadata } from '@luvio/engine';
|
|
2
2
|
export declare const TTL = 300;
|
|
3
|
-
export declare const VERSION = "
|
|
3
|
+
export declare const VERSION = "c0feda50a4a8fc2e5637843b6c1b8eed";
|
|
4
4
|
export declare function validate(obj: any, path?: string): TypeError | null;
|
|
5
5
|
export declare const RepresentationType: string;
|
|
6
6
|
export declare function normalize(input: PlatformAuditCheckRepresentation, existing: PlatformAuditCheckRepresentationNormalized, path: $64$luvio_engine_IngestPath, luvio: $64$luvio_engine_Luvio, store: $64$luvio_engine_Store, timestamp: number): PlatformAuditCheckRepresentationNormalized;
|
|
@@ -9,31 +9,31 @@ export declare function equals(existing: PlatformAuditCheckRepresentationNormali
|
|
|
9
9
|
export declare const ingest: $64$luvio_engine_ResourceIngest;
|
|
10
10
|
export declare function getTypeCacheKeys(rootKeySet: $64$luvio_engine_DurableStoreKeyMetadataMap, luvio: $64$luvio_engine_Luvio, input: PlatformAuditCheckRepresentation, fullPathFactory: () => string | $64$luvio_engine_NormalizedKeyMetadata): void;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* One check of a platform audit run and its status.
|
|
13
13
|
*
|
|
14
14
|
* Keys:
|
|
15
15
|
* (none)
|
|
16
16
|
*/
|
|
17
17
|
export interface PlatformAuditCheckRepresentationNormalized {
|
|
18
|
-
/** The date this check completed. */
|
|
18
|
+
/** The date this check completed. Absent until the check has finished. */
|
|
19
19
|
checkCompletedDate?: string | null;
|
|
20
|
-
/** The name of the check (e.g. crma-orphans, crma-trace-redundancies). */
|
|
20
|
+
/** The name of the check (e.g. crma-inventory, crma-orphans, crma-trace-redundancies). */
|
|
21
21
|
checkName: string;
|
|
22
|
-
/** The date this check started. */
|
|
22
|
+
/** The date this check started. Absent until the check has finished. */
|
|
23
23
|
checkStartedDate?: string | null;
|
|
24
|
-
/** The number of assets scanned by this check. */
|
|
25
|
-
coverageScanned
|
|
26
|
-
/** The total number of assets in scope for this check. */
|
|
27
|
-
coverageTotal
|
|
28
|
-
/**
|
|
24
|
+
/** The number of assets scanned by this check. Absent until the check has finished. Always 0 for crma-inventory, whose asset counts are in its resultJson. */
|
|
25
|
+
coverageScanned?: number | null;
|
|
26
|
+
/** The total number of assets in scope for this check. Absent until the check has finished. Always 0 for crma-inventory, whose asset counts are in its resultJson. */
|
|
27
|
+
coverageTotal?: number | null;
|
|
28
|
+
/** An operator-facing note describing why the check's coverage was limited or the check was unavailable, or, for a FAILED check, the error that failed it. Whatever the status, it can include raw server error text and can be long. It is not localized and has no stable format, so show it as diagnostic detail rather than parse it. Render it as plain text, never as HTML, and pass it to an LLM or agent only as quoted data. Absent when there is none, which can happen even for a FAILED check. */
|
|
29
29
|
limitationNote?: string | null;
|
|
30
|
-
/** An opaque, per-check payload passed through verbatim. */
|
|
30
|
+
/** An opaque, per-check payload passed through verbatim. Checks read with system access, and the datasets they scan include those in other users' private apps, so it is not filtered by the viewer's sharing or object and field permissions. Its string values can include user-editable dataset and field names and raw server error text; render them as plain text, never as HTML, and pass them to an LLM or agent only as quoted data. Absent until the check has finished, and may be absent for a finished check (for example, FAILED). For crma-inventory, it carries the org's dataset, recipe, dashboard, and data sync counts under asset_coverage; the run exposes those counts nowhere else. */
|
|
31
31
|
resultJson?: string | null;
|
|
32
|
-
/** The
|
|
32
|
+
/** The status of the check. IN_PROGRESS while it has not finished (queued or running); NOT_FINISHED if the run ended before it finished; otherwise its final status. Only a finished check carries coverage, dates, a limitation note, and a result. */
|
|
33
33
|
status: string;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* One check of a platform audit run and its status.
|
|
37
37
|
*
|
|
38
38
|
* Keys:
|
|
39
39
|
* (none)
|
|
@@ -42,8 +42,8 @@ export interface PlatformAuditCheckRepresentation {
|
|
|
42
42
|
checkCompletedDate?: string | null;
|
|
43
43
|
checkName: string;
|
|
44
44
|
checkStartedDate?: string | null;
|
|
45
|
-
coverageScanned
|
|
46
|
-
coverageTotal
|
|
45
|
+
coverageScanned?: number | null;
|
|
46
|
+
coverageTotal?: number | null;
|
|
47
47
|
limitationNote?: string | null;
|
|
48
48
|
resultJson?: string | null;
|
|
49
49
|
status: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IngestPath as $64$luvio_engine_IngestPath, Luvio as $64$luvio_engine_Luvio, Store as $64$luvio_engine_Store, FragmentSelection as $64$luvio_engine_FragmentSelection, ResourceIngest as $64$luvio_engine_ResourceIngest, DurableStoreKeyMetadataMap as $64$luvio_engine_DurableStoreKeyMetadataMap, NormalizedKeyMetadata as $64$luvio_engine_NormalizedKeyMetadata } from '@luvio/engine';
|
|
2
2
|
export declare const TTL = 300;
|
|
3
|
-
export declare const VERSION = "
|
|
3
|
+
export declare const VERSION = "9a2c2926bd5c97af09b7fc0bbaf2066f";
|
|
4
4
|
export declare function validate(obj: any, path?: string): TypeError | null;
|
|
5
5
|
export declare const RepresentationType: string;
|
|
6
6
|
export declare function normalize(input: PlatformAuditFindingRepresentation, existing: PlatformAuditFindingRepresentationNormalized, path: $64$luvio_engine_IngestPath, luvio: $64$luvio_engine_Luvio, store: $64$luvio_engine_Store, timestamp: number): PlatformAuditFindingRepresentationNormalized;
|
|
@@ -9,7 +9,7 @@ export declare function equals(existing: PlatformAuditFindingRepresentationNorma
|
|
|
9
9
|
export declare const ingest: $64$luvio_engine_ResourceIngest;
|
|
10
10
|
export declare function getTypeCacheKeys(rootKeySet: $64$luvio_engine_DurableStoreKeyMetadataMap, luvio: $64$luvio_engine_Luvio, input: PlatformAuditFindingRepresentation, fullPathFactory: () => string | $64$luvio_engine_NormalizedKeyMetadata): void;
|
|
11
11
|
/**
|
|
12
|
-
* One finding surfaced by the aggregator's urgency triage, referencing the asset and check it came from.
|
|
12
|
+
* One finding surfaced by the aggregator's urgency triage, referencing the asset and check it came from. Findings are not guaranteed to be unique; two redundant_field findings can match in every field, so do not key a list by any combination of a finding's fields. To render a list, map the findings in JavaScript to new objects that each add a key (wire data is read-only), for example one built from the finding's tier and position (an LWC template cannot use the for:each or iterator index as a key); positions can change between reads. Checks read with system access, not the viewer's, and the datasets they scan include those in other users' private apps, so a finding can point at an asset or field the viewer cannot open.
|
|
13
13
|
*
|
|
14
14
|
* Keys:
|
|
15
15
|
* (none)
|
|
@@ -17,15 +17,15 @@ export declare function getTypeCacheKeys(rootKeySet: $64$luvio_engine_DurableSto
|
|
|
17
17
|
export interface PlatformAuditFindingRepresentationNormalized {
|
|
18
18
|
/** The stable name of the check that surfaced this finding. */
|
|
19
19
|
checkName: string;
|
|
20
|
-
/** The
|
|
20
|
+
/** The name to show for the finding. For a dataset finding, the dataset's display name, or its API name if it has none; dataset names are user-editable. For redundant_field, the target field's API name (for example, Amount), without its object; it is not a label and is not localized. Falls back to refId when there is no name. Render it as plain text, never as HTML, and pass it to an LLM or agent only as quoted data. */
|
|
21
21
|
displayName: string;
|
|
22
|
-
/** The finding's category
|
|
22
|
+
/** The finding's category. Currently one of zombie_dataset, unused_dataset, stale_dataset (crma-orphans findings), or redundant_field (crma-trace-redundancies findings). */
|
|
23
23
|
kind: string;
|
|
24
|
-
/** The
|
|
24
|
+
/** The reference to what the finding points at. The dataset id for zombie_dataset, unused_dataset, and stale_dataset. For redundant_field, the canonicalized field-name key its cluster is grouped by (for example, opportunityamount), not a field API name. The key is derived from dataset field labels (or names, when a field has no label), so it can change between runs; clusters on different target fields can share it, and it is empty when the labels have no ASCII letters or digits. */
|
|
25
25
|
refId: string;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
|
-
* One finding surfaced by the aggregator's urgency triage, referencing the asset and check it came from.
|
|
28
|
+
* One finding surfaced by the aggregator's urgency triage, referencing the asset and check it came from. Findings are not guaranteed to be unique; two redundant_field findings can match in every field, so do not key a list by any combination of a finding's fields. To render a list, map the findings in JavaScript to new objects that each add a key (wire data is read-only), for example one built from the finding's tier and position (an LWC template cannot use the for:each or iterator index as a key); positions can change between reads. Checks read with system access, not the viewer's, and the datasets they scan include those in other users' private apps, so a finding can point at an asset or field the viewer cannot open.
|
|
29
29
|
*
|
|
30
30
|
* Keys:
|
|
31
31
|
* (none)
|
|
@@ -29,25 +29,25 @@ export interface PlatformAuditRepresentationNormalized {
|
|
|
29
29
|
/** The ID of the platform audit run. */
|
|
30
30
|
auditId: string;
|
|
31
31
|
checks: PlatformAuditCheckCollectionRepresentation_PlatformAuditCheckCollectionRepresentation;
|
|
32
|
-
/** The number of checks that have
|
|
32
|
+
/** The number of checks that have finished. It stays below checksTotal for a run that ended early, so use runStatus, not this count, to tell whether the run is still going. */
|
|
33
33
|
checksTerminal: number;
|
|
34
34
|
/** The total number of checks fanned out for this audit run. */
|
|
35
35
|
checksTotal: number;
|
|
36
|
-
/** The date the platform audit run completed.
|
|
36
|
+
/** The date the platform audit run completed. Absent while the run is RUNNING. */
|
|
37
37
|
completedDate?: string | null;
|
|
38
38
|
/** The date the platform audit run was created. */
|
|
39
39
|
createdDate: string;
|
|
40
|
-
/** The aggregated health score for the run
|
|
40
|
+
/** The aggregated health score for the run, computed from its finished checks on every read, including while RUNNING. Absent when the score is suppressed (the scored checks scanned less than half of their candidates, or had no candidates, as when no finished check could be scored) or could not be computed. */
|
|
41
41
|
healthScore?: number | null;
|
|
42
|
-
/** The runtime status of the platform audit run. */
|
|
42
|
+
/** The runtime status of the platform audit run. RUNNING until every check has finished or the run ends early. A run that ended before every check finished, for example because it ran too long, is FAILED. Otherwise the terminal status depends on every check except crma-inventory - READY if each is COMPLETE, FAILED if none is COMPLETE or COMPLETE_WITH_LIMITATIONS, and COMPLETE_WITH_LIMITATIONS otherwise. crma-inventory only counts the org's assets and its status does not affect the run's, so a READY run can have a crma-inventory check that is COMPLETE_WITH_LIMITATIONS, UNAVAILABLE, or FAILED. A FAILED run can still carry finished checks, findings, and a health score; any unfinished check it lists is NOT_FINISHED. */
|
|
43
43
|
runStatus: string;
|
|
44
44
|
/** The scope of assets covered by the platform audit run. */
|
|
45
45
|
scope: string;
|
|
46
|
-
/** Whether the health score is suppressed for this run. */
|
|
46
|
+
/** Whether the health score is suppressed for this run. Absent only when scoring could not be computed. */
|
|
47
47
|
scoreSuppressed?: boolean | null;
|
|
48
|
-
/** The aggregated health urgency triage, split into critical-now and needs-attention tiers.
|
|
48
|
+
/** The aggregated health urgency triage, split into critical-now and needs-attention tiers, computed from the finished checks on every read. Lists the scored checks' findings even when the score is suppressed. Absent only when scoring could not be computed. */
|
|
49
49
|
urgency?: PlatformAuditUrgencyRepresentation_PlatformAuditUrgencyRepresentation | null;
|
|
50
|
-
/** The aggregated health verdict for the run
|
|
50
|
+
/** The aggregated health verdict for the run (Healthy, NeedsAttention, Critical, or Indeterminate when the score is suppressed), computed from its finished checks on every read, including while RUNNING. Absent only when scoring could not be computed. */
|
|
51
51
|
verdict?: string | null;
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
@@ -20,25 +20,25 @@ export interface PlatformAuditSnapshotRepresentationNormalized {
|
|
|
20
20
|
/** The ID of the platform audit run. */
|
|
21
21
|
auditId: string;
|
|
22
22
|
checks: PlatformAuditCheckCollectionRepresentation_PlatformAuditCheckCollectionRepresentation;
|
|
23
|
-
/** The number of checks that have
|
|
23
|
+
/** The number of checks that have finished. It stays below checksTotal for a run that ended early, so use runStatus, not this count, to tell whether the run is still going. */
|
|
24
24
|
checksTerminal: number;
|
|
25
25
|
/** The total number of checks fanned out for this audit run. */
|
|
26
26
|
checksTotal: number;
|
|
27
|
-
/** The date the platform audit run completed.
|
|
27
|
+
/** The date the platform audit run completed. Absent while the run is RUNNING. */
|
|
28
28
|
completedDate?: string | null;
|
|
29
29
|
/** The date the platform audit run was created. */
|
|
30
30
|
createdDate: string;
|
|
31
|
-
/** The aggregated health score for the run
|
|
31
|
+
/** The aggregated health score for the run, computed from its finished checks on every read, including while RUNNING. Absent when the score is suppressed (the scored checks scanned less than half of their candidates, or had no candidates, as when no finished check could be scored) or could not be computed. */
|
|
32
32
|
healthScore?: number | null;
|
|
33
|
-
/** The runtime status of the platform audit run. */
|
|
33
|
+
/** The runtime status of the platform audit run. RUNNING until every check has finished or the run ends early. A run that ended before every check finished, for example because it ran too long, is FAILED. Otherwise the terminal status depends on every check except crma-inventory - READY if each is COMPLETE, FAILED if none is COMPLETE or COMPLETE_WITH_LIMITATIONS, and COMPLETE_WITH_LIMITATIONS otherwise. crma-inventory only counts the org's assets and its status does not affect the run's, so a READY run can have a crma-inventory check that is COMPLETE_WITH_LIMITATIONS, UNAVAILABLE, or FAILED. A FAILED run can still carry finished checks, findings, and a health score; any unfinished check it lists is NOT_FINISHED. */
|
|
34
34
|
runStatus: string;
|
|
35
35
|
/** The scope of assets covered by the platform audit run. */
|
|
36
36
|
scope: string;
|
|
37
|
-
/** Whether the health score is suppressed for this run. */
|
|
37
|
+
/** Whether the health score is suppressed for this run. Absent only when scoring could not be computed. */
|
|
38
38
|
scoreSuppressed?: boolean | null;
|
|
39
|
-
/** The aggregated health urgency triage, split into critical-now and needs-attention tiers.
|
|
39
|
+
/** The aggregated health urgency triage, split into critical-now and needs-attention tiers, computed from the finished checks on every read. Lists the scored checks' findings even when the score is suppressed. Absent only when scoring could not be computed. */
|
|
40
40
|
urgency?: PlatformAuditUrgencyRepresentation_PlatformAuditUrgencyRepresentation | null;
|
|
41
|
-
/** The aggregated health verdict for the run
|
|
41
|
+
/** The aggregated health verdict for the run (Healthy, NeedsAttention, Critical, or Indeterminate when the score is suppressed), computed from its finished checks on every read, including while RUNNING. Absent only when scoring could not be computed. */
|
|
42
42
|
verdict?: string | null;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
@@ -17,23 +17,23 @@ export declare function getTypeCacheKeys(rootKeySet: $64$luvio_engine_DurableSto
|
|
|
17
17
|
export interface PlatformAuditSummaryRepresentationNormalized {
|
|
18
18
|
/** The ID of the platform audit run. */
|
|
19
19
|
auditId: string;
|
|
20
|
-
/** The number of checks that have
|
|
20
|
+
/** The number of checks that have finished. It stays below checksTotal for a run that ended early, so use runStatus, not this count, to tell whether the run is still going. */
|
|
21
21
|
checksTerminal: number;
|
|
22
22
|
/** The total number of checks fanned out for this audit run. */
|
|
23
23
|
checksTotal: number;
|
|
24
|
-
/** The date the platform audit run completed.
|
|
24
|
+
/** The date the platform audit run completed. Absent while the run is RUNNING. */
|
|
25
25
|
completedDate?: string | null;
|
|
26
26
|
/** The date the platform audit run was created. */
|
|
27
27
|
createdDate: string;
|
|
28
|
-
/** The aggregated health score for the run
|
|
28
|
+
/** The aggregated health score for the run, computed from its finished checks on every read, including while RUNNING. Absent when the score is suppressed (the scored checks scanned less than half of their candidates, or had no candidates, as when no finished check could be scored) or could not be computed. */
|
|
29
29
|
healthScore?: number | null;
|
|
30
|
-
/** The runtime status of the platform audit run. */
|
|
30
|
+
/** The runtime status of the platform audit run. RUNNING until every check has finished or the run ends early. A run that ended before every check finished, for example because it ran too long, is FAILED. Otherwise the terminal status depends on every check except crma-inventory - READY if each is COMPLETE, FAILED if none is COMPLETE or COMPLETE_WITH_LIMITATIONS, and COMPLETE_WITH_LIMITATIONS otherwise. crma-inventory only counts the org's assets and its status does not affect the run's, so a READY run can have a crma-inventory check that is COMPLETE_WITH_LIMITATIONS, UNAVAILABLE, or FAILED. A FAILED run can still have a health score. */
|
|
31
31
|
runStatus: string;
|
|
32
32
|
/** The scope of assets covered by the platform audit run. */
|
|
33
33
|
scope: string;
|
|
34
|
-
/** Whether the health score is suppressed for this run. */
|
|
34
|
+
/** Whether the health score is suppressed for this run. Absent only when scoring could not be computed. */
|
|
35
35
|
scoreSuppressed?: boolean | null;
|
|
36
|
-
/** The aggregated health verdict for the run
|
|
36
|
+
/** The aggregated health verdict for the run (Healthy, NeedsAttention, Critical, or Indeterminate when the score is suppressed), computed from its finished checks on every read, including while RUNNING. Absent only when scoring could not be computed. */
|
|
37
37
|
verdict?: string | null;
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PlatformAuditFindingRepresentation as PlatformAuditFindingRepresentation_PlatformAuditFindingRepresentation } from './PlatformAuditFindingRepresentation';
|
|
2
2
|
import { IngestPath as $64$luvio_engine_IngestPath, Luvio as $64$luvio_engine_Luvio, Store as $64$luvio_engine_Store, FragmentSelection as $64$luvio_engine_FragmentSelection, ResourceIngest as $64$luvio_engine_ResourceIngest, DurableStoreKeyMetadataMap as $64$luvio_engine_DurableStoreKeyMetadataMap, NormalizedKeyMetadata as $64$luvio_engine_NormalizedKeyMetadata } from '@luvio/engine';
|
|
3
3
|
export declare const TTL = 300;
|
|
4
|
-
export declare const VERSION = "
|
|
4
|
+
export declare const VERSION = "51c6525f2259b5219e90d75c591ddf7d";
|
|
5
5
|
export declare function validate(obj: any, path?: string): TypeError | null;
|
|
6
6
|
export declare const RepresentationType: string;
|
|
7
7
|
export declare function normalize(input: PlatformAuditUrgencyRepresentation, existing: PlatformAuditUrgencyRepresentationNormalized, path: $64$luvio_engine_IngestPath, luvio: $64$luvio_engine_Luvio, store: $64$luvio_engine_Store, timestamp: number): PlatformAuditUrgencyRepresentationNormalized;
|
|
@@ -10,19 +10,19 @@ export declare function equals(existing: PlatformAuditUrgencyRepresentationNorma
|
|
|
10
10
|
export declare const ingest: $64$luvio_engine_ResourceIngest;
|
|
11
11
|
export declare function getTypeCacheKeys(rootKeySet: $64$luvio_engine_DurableStoreKeyMetadataMap, luvio: $64$luvio_engine_Luvio, input: PlatformAuditUrgencyRepresentation, fullPathFactory: () => string | $64$luvio_engine_NormalizedKeyMetadata): void;
|
|
12
12
|
/**
|
|
13
|
-
* The aggregator's two-tier urgency triage over the run's findings.
|
|
13
|
+
* The aggregator's two-tier urgency triage over the run's findings. Each check contributes only the findings it surfaces, and the number it surfaces is capped (currently at most 25 datasets per label for crma-orphans and 10 clusters for crma-trace-redundancies; the caps can change), so list lengths are not org-wide counts.
|
|
14
14
|
*
|
|
15
15
|
* Keys:
|
|
16
16
|
* (none)
|
|
17
17
|
*/
|
|
18
18
|
export interface PlatformAuditUrgencyRepresentationNormalized {
|
|
19
|
-
/** Findings the user should act on now,
|
|
19
|
+
/** Findings the user should act on now, sorted by checkName, then refId. */
|
|
20
20
|
criticalNow: Array<PlatformAuditFindingRepresentation_PlatformAuditFindingRepresentation>;
|
|
21
|
-
/** Findings that need attention as standing hygiene,
|
|
21
|
+
/** Findings that need attention as standing hygiene, sorted by checkName, then refId. */
|
|
22
22
|
needsAttention: Array<PlatformAuditFindingRepresentation_PlatformAuditFindingRepresentation>;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
-
* The aggregator's two-tier urgency triage over the run's findings.
|
|
25
|
+
* The aggregator's two-tier urgency triage over the run's findings. Each check contributes only the findings it surfaces, and the number it surfaces is capped (currently at most 25 datasets per label for crma-orphans and 10 clusters for crma-trace-redundancies; the caps can change), so list lengths are not org-wide counts.
|
|
26
26
|
*
|
|
27
27
|
* Keys:
|
|
28
28
|
* (none)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/lds-adapters-analytics-wave",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.465.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"description": "The Einstein Analytics family of APIs",
|
|
6
6
|
"main": "dist/es/es2018/analytics-wave.js",
|
|
@@ -58,10 +58,10 @@
|
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@salesforce/lds-bindings": "^1.
|
|
61
|
+
"@salesforce/lds-bindings": "^1.465.0"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"@salesforce/lds-compiler-plugins": "^1.
|
|
64
|
+
"@salesforce/lds-compiler-plugins": "^1.465.0"
|
|
65
65
|
},
|
|
66
66
|
"volta": {
|
|
67
67
|
"extends": "../../package.json"
|
package/sfdc/index.js
CHANGED
|
@@ -24900,7 +24900,7 @@ const getDependenciesAdapterFactory = (luvio) => function WAVE__getDependencies(
|
|
|
24900
24900
|
};
|
|
24901
24901
|
|
|
24902
24902
|
const TTL$i = 300;
|
|
24903
|
-
const VERSION$G = "
|
|
24903
|
+
const VERSION$G = "c0feda50a4a8fc2e5637843b6c1b8eed";
|
|
24904
24904
|
function validate$Y(obj, path = 'PlatformAuditCheckRepresentation') {
|
|
24905
24905
|
const v_error = (() => {
|
|
24906
24906
|
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
@@ -24967,8 +24967,62 @@ function validate$Y(obj, path = 'PlatformAuditCheckRepresentation') {
|
|
|
24967
24967
|
return new TypeError(message);
|
|
24968
24968
|
}
|
|
24969
24969
|
}
|
|
24970
|
-
obj.coverageScanned
|
|
24971
|
-
|
|
24970
|
+
if (obj.coverageScanned !== undefined) {
|
|
24971
|
+
const obj_coverageScanned = obj.coverageScanned;
|
|
24972
|
+
const path_coverageScanned = path + '.coverageScanned';
|
|
24973
|
+
let obj_coverageScanned_union0 = null;
|
|
24974
|
+
const obj_coverageScanned_union0_error = (() => {
|
|
24975
|
+
if (typeof obj_coverageScanned !== 'number') {
|
|
24976
|
+
return new TypeError('Expected "number" but received "' + typeof obj_coverageScanned + '" (at "' + path_coverageScanned + '")');
|
|
24977
|
+
}
|
|
24978
|
+
})();
|
|
24979
|
+
if (obj_coverageScanned_union0_error != null) {
|
|
24980
|
+
obj_coverageScanned_union0 = obj_coverageScanned_union0_error.message;
|
|
24981
|
+
}
|
|
24982
|
+
let obj_coverageScanned_union1 = null;
|
|
24983
|
+
const obj_coverageScanned_union1_error = (() => {
|
|
24984
|
+
if (obj_coverageScanned !== null) {
|
|
24985
|
+
return new TypeError('Expected "null" but received "' + typeof obj_coverageScanned + '" (at "' + path_coverageScanned + '")');
|
|
24986
|
+
}
|
|
24987
|
+
})();
|
|
24988
|
+
if (obj_coverageScanned_union1_error != null) {
|
|
24989
|
+
obj_coverageScanned_union1 = obj_coverageScanned_union1_error.message;
|
|
24990
|
+
}
|
|
24991
|
+
if (obj_coverageScanned_union0 && obj_coverageScanned_union1) {
|
|
24992
|
+
let message = 'Object doesn\'t match union (at "' + path_coverageScanned + '")';
|
|
24993
|
+
message += '\n' + obj_coverageScanned_union0.split('\n').map((line) => '\t' + line).join('\n');
|
|
24994
|
+
message += '\n' + obj_coverageScanned_union1.split('\n').map((line) => '\t' + line).join('\n');
|
|
24995
|
+
return new TypeError(message);
|
|
24996
|
+
}
|
|
24997
|
+
}
|
|
24998
|
+
if (obj.coverageTotal !== undefined) {
|
|
24999
|
+
const obj_coverageTotal = obj.coverageTotal;
|
|
25000
|
+
const path_coverageTotal = path + '.coverageTotal';
|
|
25001
|
+
let obj_coverageTotal_union0 = null;
|
|
25002
|
+
const obj_coverageTotal_union0_error = (() => {
|
|
25003
|
+
if (typeof obj_coverageTotal !== 'number') {
|
|
25004
|
+
return new TypeError('Expected "number" but received "' + typeof obj_coverageTotal + '" (at "' + path_coverageTotal + '")');
|
|
25005
|
+
}
|
|
25006
|
+
})();
|
|
25007
|
+
if (obj_coverageTotal_union0_error != null) {
|
|
25008
|
+
obj_coverageTotal_union0 = obj_coverageTotal_union0_error.message;
|
|
25009
|
+
}
|
|
25010
|
+
let obj_coverageTotal_union1 = null;
|
|
25011
|
+
const obj_coverageTotal_union1_error = (() => {
|
|
25012
|
+
if (obj_coverageTotal !== null) {
|
|
25013
|
+
return new TypeError('Expected "null" but received "' + typeof obj_coverageTotal + '" (at "' + path_coverageTotal + '")');
|
|
25014
|
+
}
|
|
25015
|
+
})();
|
|
25016
|
+
if (obj_coverageTotal_union1_error != null) {
|
|
25017
|
+
obj_coverageTotal_union1 = obj_coverageTotal_union1_error.message;
|
|
25018
|
+
}
|
|
25019
|
+
if (obj_coverageTotal_union0 && obj_coverageTotal_union1) {
|
|
25020
|
+
let message = 'Object doesn\'t match union (at "' + path_coverageTotal + '")';
|
|
25021
|
+
message += '\n' + obj_coverageTotal_union0.split('\n').map((line) => '\t' + line).join('\n');
|
|
25022
|
+
message += '\n' + obj_coverageTotal_union1.split('\n').map((line) => '\t' + line).join('\n');
|
|
25023
|
+
return new TypeError(message);
|
|
25024
|
+
}
|
|
25025
|
+
}
|
|
24972
25026
|
if (obj.limitationNote !== undefined) {
|
|
24973
25027
|
const obj_limitationNote = obj.limitationNote;
|
|
24974
25028
|
const path_limitationNote = path + '.limitationNote';
|
|
@@ -25059,11 +25113,13 @@ const select$1i = function PlatformAuditCheckRepresentationSelect() {
|
|
|
25059
25113
|
},
|
|
25060
25114
|
{
|
|
25061
25115
|
name: 'coverageScanned',
|
|
25062
|
-
kind: 'Scalar'
|
|
25116
|
+
kind: 'Scalar',
|
|
25117
|
+
required: false
|
|
25063
25118
|
},
|
|
25064
25119
|
{
|
|
25065
25120
|
name: 'coverageTotal',
|
|
25066
|
-
kind: 'Scalar'
|
|
25121
|
+
kind: 'Scalar',
|
|
25122
|
+
required: false
|
|
25067
25123
|
},
|
|
25068
25124
|
{
|
|
25069
25125
|
name: 'limitationNote',
|
|
@@ -25093,16 +25149,6 @@ function equals$G(existing, incoming) {
|
|
|
25093
25149
|
if (!(existing_status === incoming_status)) {
|
|
25094
25150
|
return false;
|
|
25095
25151
|
}
|
|
25096
|
-
const existing_coverageScanned = existing.coverageScanned;
|
|
25097
|
-
const incoming_coverageScanned = incoming.coverageScanned;
|
|
25098
|
-
if (!(existing_coverageScanned === incoming_coverageScanned)) {
|
|
25099
|
-
return false;
|
|
25100
|
-
}
|
|
25101
|
-
const existing_coverageTotal = existing.coverageTotal;
|
|
25102
|
-
const incoming_coverageTotal = incoming.coverageTotal;
|
|
25103
|
-
if (!(existing_coverageTotal === incoming_coverageTotal)) {
|
|
25104
|
-
return false;
|
|
25105
|
-
}
|
|
25106
25152
|
const existing_checkCompletedDate = existing.checkCompletedDate;
|
|
25107
25153
|
const incoming_checkCompletedDate = incoming.checkCompletedDate;
|
|
25108
25154
|
// if at least one of these optionals is defined
|
|
@@ -25129,6 +25175,32 @@ function equals$G(existing, incoming) {
|
|
|
25129
25175
|
return false;
|
|
25130
25176
|
}
|
|
25131
25177
|
}
|
|
25178
|
+
const existing_coverageScanned = existing.coverageScanned;
|
|
25179
|
+
const incoming_coverageScanned = incoming.coverageScanned;
|
|
25180
|
+
// if at least one of these optionals is defined
|
|
25181
|
+
if (existing_coverageScanned !== undefined || incoming_coverageScanned !== undefined) {
|
|
25182
|
+
// if one of these is not defined we know the other is defined and therefore
|
|
25183
|
+
// not equal
|
|
25184
|
+
if (existing_coverageScanned === undefined || incoming_coverageScanned === undefined) {
|
|
25185
|
+
return false;
|
|
25186
|
+
}
|
|
25187
|
+
if (!(existing_coverageScanned === incoming_coverageScanned)) {
|
|
25188
|
+
return false;
|
|
25189
|
+
}
|
|
25190
|
+
}
|
|
25191
|
+
const existing_coverageTotal = existing.coverageTotal;
|
|
25192
|
+
const incoming_coverageTotal = incoming.coverageTotal;
|
|
25193
|
+
// if at least one of these optionals is defined
|
|
25194
|
+
if (existing_coverageTotal !== undefined || incoming_coverageTotal !== undefined) {
|
|
25195
|
+
// if one of these is not defined we know the other is defined and therefore
|
|
25196
|
+
// not equal
|
|
25197
|
+
if (existing_coverageTotal === undefined || incoming_coverageTotal === undefined) {
|
|
25198
|
+
return false;
|
|
25199
|
+
}
|
|
25200
|
+
if (!(existing_coverageTotal === incoming_coverageTotal)) {
|
|
25201
|
+
return false;
|
|
25202
|
+
}
|
|
25203
|
+
}
|
|
25132
25204
|
const existing_limitationNote = existing.limitationNote;
|
|
25133
25205
|
const incoming_limitationNote = incoming.limitationNote;
|
|
25134
25206
|
// if at least one of these optionals is defined
|
|
@@ -25247,7 +25319,7 @@ function equals$F(existing, incoming) {
|
|
|
25247
25319
|
return true;
|
|
25248
25320
|
}
|
|
25249
25321
|
|
|
25250
|
-
const VERSION$E = "
|
|
25322
|
+
const VERSION$E = "9a2c2926bd5c97af09b7fc0bbaf2066f";
|
|
25251
25323
|
function validate$W(obj, path = 'PlatformAuditFindingRepresentation') {
|
|
25252
25324
|
const v_error = (() => {
|
|
25253
25325
|
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
@@ -25325,7 +25397,7 @@ function equals$E(existing, incoming) {
|
|
|
25325
25397
|
return true;
|
|
25326
25398
|
}
|
|
25327
25399
|
|
|
25328
|
-
const VERSION$D = "
|
|
25400
|
+
const VERSION$D = "51c6525f2259b5219e90d75c591ddf7d";
|
|
25329
25401
|
function validate$V(obj, path = 'PlatformAuditUrgencyRepresentation') {
|
|
25330
25402
|
const v_error = (() => {
|
|
25331
25403
|
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
@@ -27888,7 +27960,7 @@ function select$11(luvio, params) {
|
|
|
27888
27960
|
return select$12();
|
|
27889
27961
|
}
|
|
27890
27962
|
function keyBuilder$F(luvio, params) {
|
|
27891
|
-
return keyPrefix + '::RecipeCollectionRepresentation:(' + 'format:' + params.queryParams.format + ',' + 'lastModifiedAfter:' + params.queryParams.lastModifiedAfter + ',' + 'lastModifiedBefore:' + params.queryParams.lastModifiedBefore + ',' + 'licenseType:' + params.queryParams.licenseType + ',' + 'nextScheduledAfter:' + params.queryParams.nextScheduledAfter + ',' + 'nextScheduledBefore:' + params.queryParams.nextScheduledBefore + ',' + 'page:' + params.queryParams.page + ',' + 'pageSize:' + params.queryParams.pageSize + ',' + 'q:' + params.queryParams.q + ',' + 'sort:' + params.queryParams.sort + ',' + 'status:' + params.queryParams.status + ')';
|
|
27963
|
+
return keyPrefix + '::RecipeCollectionRepresentation:(' + 'format:' + params.queryParams.format + ',' + 'lastModifiedAfter:' + params.queryParams.lastModifiedAfter + ',' + 'lastModifiedBefore:' + params.queryParams.lastModifiedBefore + ',' + 'licenseType:' + params.queryParams.licenseType + ',' + 'nextScheduledAfter:' + params.queryParams.nextScheduledAfter + ',' + 'nextScheduledBefore:' + params.queryParams.nextScheduledBefore + ',' + 'page:' + params.queryParams.page + ',' + 'pageSize:' + params.queryParams.pageSize + ',' + 'q:' + params.queryParams.q + ',' + 'recipePermsFolderId:' + params.queryParams.recipePermsFolderId + ',' + 'sort:' + params.queryParams.sort + ',' + 'status:' + params.queryParams.status + ')';
|
|
27892
27964
|
}
|
|
27893
27965
|
function getResponseCacheKeys$y(storeKeyMap, luvio, resourceParams, response) {
|
|
27894
27966
|
getTypeCacheKeys$d(storeKeyMap, luvio, response, () => keyBuilder$F(luvio, resourceParams));
|
|
@@ -27947,6 +28019,7 @@ const getRecipes_ConfigPropertyMetadata = [
|
|
|
27947
28019
|
generateParamConfigMetadata('page', false, 1 /* QueryParameter */, 0 /* String */),
|
|
27948
28020
|
generateParamConfigMetadata('pageSize', false, 1 /* QueryParameter */, 3 /* Integer */),
|
|
27949
28021
|
generateParamConfigMetadata('q', false, 1 /* QueryParameter */, 0 /* String */),
|
|
28022
|
+
generateParamConfigMetadata('recipePermsFolderId', false, 1 /* QueryParameter */, 0 /* String */),
|
|
27950
28023
|
generateParamConfigMetadata('sort', false, 1 /* QueryParameter */, 0 /* String */),
|
|
27951
28024
|
generateParamConfigMetadata('status', false, 1 /* QueryParameter */, 0 /* String */, true),
|
|
27952
28025
|
];
|
|
@@ -38424,4 +38497,4 @@ withDefaultLuvio((luvio) => {
|
|
|
38424
38497
|
});
|
|
38425
38498
|
|
|
38426
38499
|
export { createDataConnector, createDataflowJob, createDataset, createDatasetVersion, createReplicatedDataset, createWaveFolder, deleteDataConnector, deleteDataset, deleteRecipe, deleteReplicatedDataset, deleteWaveFolder, executeQuery, executeQuery_imperative, generatePlatformAuditReport, getActions, getActions_imperative, getAnalyticsLimits, getAnalyticsLimits_imperative, getAsset, getAssetNotifyChange, getAsset_imperative, getDataConnector, getDataConnectorNotifyChange, getDataConnectorSourceFields, getDataConnectorSourceFieldsNotifyChange, getDataConnectorSourceFieldsWithAdvProps, getDataConnectorSourceFieldsWithAdvPropsNotifyChange, getDataConnectorSourceFieldsWithAdvProps_imperative, getDataConnectorSourceFields_imperative, getDataConnectorSourceObject, getDataConnectorSourceObjectDataPreviewWithFields, getDataConnectorSourceObjectDataPreviewWithFields_imperative, getDataConnectorSourceObjectNotifyChange, getDataConnectorSourceObject_imperative, getDataConnectorSourceObjects, getDataConnectorSourceObjects_imperative, getDataConnectorStatus, getDataConnectorStatus_imperative, getDataConnectorTypes, getDataConnectorTypes_imperative, getDataConnector_imperative, getDataConnectors, getDataConnectors_imperative, getDataflowJob, getDataflowJobNode, getDataflowJobNodeNotifyChange, getDataflowJobNodeStage, getDataflowJobNodeStageNotifyChange, getDataflowJobNodeStageParents, getDataflowJobNodeStageParentsNotifyChange, getDataflowJobNodeStageParents_imperative, getDataflowJobNodeStage_imperative, getDataflowJobNodeStages, getDataflowJobNodeStages_imperative, getDataflowJobNode_imperative, getDataflowJobNodes, getDataflowJobNodes_imperative, getDataflowJobNotifyChange, getDataflowJob_imperative, getDataflowJobs, getDataflowJobs_imperative, getDataflows, getDataflows_imperative, getDataset, getDatasetNotifyChange, getDatasetVersion, getDatasetVersionNotifyChange, getDatasetVersion_imperative, getDatasetVersions, getDatasetVersions_imperative, getDataset_imperative, getDatasets, getDatasets_imperative, getDependencies, getDependencies_imperative, getLatestPlatformAudit, getLatestPlatformAudit_imperative, getPlatformAudit, getPlatformAuditCheck, getPlatformAuditCheck_imperative, getPlatformAuditHistory, getPlatformAuditHistory_imperative, getPlatformAuditNotifyChange, getPlatformAuditReport, getPlatformAuditReport_imperative, getPlatformAudit_imperative, getRecipe, getRecipeNotification, getRecipeNotificationNotifyChange, getRecipeNotification_imperative, getRecipeNotifyChange, getRecipe_imperative, getRecipes, getRecipes_imperative, getRecycleBin, getRecycleBinAsset, getRecycleBinAssetNotifyChange, getRecycleBinAsset_imperative, getRecycleBin_imperative, getReplicatedDataset, getReplicatedDatasetNotifyChange, getReplicatedDataset_imperative, getReplicatedDatasets, getReplicatedDatasets_imperative, getReplicatedFields, getReplicatedFieldsNotifyChange, getReplicatedFieldsWithAdvancedProps, getReplicatedFieldsWithAdvancedPropsNotifyChange, getReplicatedFieldsWithAdvancedProps_imperative, getReplicatedFields_imperative, getSchedule, getScheduleNotifyChange, getSchedule_imperative, getSecurityCoverageDatasetVersion, getSecurityCoverageDatasetVersion_imperative, getWaveFolder, getWaveFolderNotifyChange, getWaveFolder_imperative, getWaveFolders, getWaveFolders_imperative, getWaveTemplate, getWaveTemplateConfig, getWaveTemplateConfigNotifyChange, getWaveTemplateConfig_imperative, getWaveTemplateNotifyChange, getWaveTemplateReleaseNotes, getWaveTemplateReleaseNotesNotifyChange, getWaveTemplateReleaseNotes_imperative, getWaveTemplate_imperative, getWaveTemplates, getWaveTemplates_imperative, getWaveUnsupportedFeatures, getWaveUnsupportedFeatures_imperative, getXmd, getXmd_imperative, ingestDataConnector, permanentlyDeleteAsset, restoreAsset, softDeleteAsset, triggerPlatformAudit, updateDataConnector, updateDataflowJob, updateDataset, updateDatasetVersion, updatePartialWaveFolder, updateRecipe, updateRecipeNotification, updateReplicatedDataset, updateReplicatedFields, updateSchedule, updateWaveFolder, updateXmd, validateWaveTemplate };
|
|
38427
|
-
// version: 1.
|
|
38500
|
+
// version: 1.465.0-4371689bb7
|
package/src/raml/api.raml
CHANGED
|
@@ -2785,13 +2785,21 @@ types:
|
|
|
2785
2785
|
description: The ID of the platform audit run.
|
|
2786
2786
|
type: string
|
|
2787
2787
|
runStatus:
|
|
2788
|
-
description: The runtime status of the platform audit run.
|
|
2788
|
+
description: The runtime status of the platform audit run. RUNNING until every check
|
|
2789
|
+
has finished or the run ends early. A run that ended before every check finished,
|
|
2790
|
+
for example because it ran too long, is FAILED. Otherwise the terminal status depends
|
|
2791
|
+
on every check except crma-inventory - READY if each is COMPLETE, FAILED if none is
|
|
2792
|
+
COMPLETE or COMPLETE_WITH_LIMITATIONS, and COMPLETE_WITH_LIMITATIONS otherwise.
|
|
2793
|
+
crma-inventory only counts the org's assets and its status does not affect the
|
|
2794
|
+
run's, so a READY run can have a crma-inventory check that is
|
|
2795
|
+
COMPLETE_WITH_LIMITATIONS, UNAVAILABLE, or FAILED. A FAILED run can still carry finished checks,
|
|
2796
|
+
findings, and a health score; any unfinished check it lists is NOT_FINISHED.
|
|
2789
2797
|
type: string
|
|
2790
2798
|
enum:
|
|
2791
|
-
-
|
|
2792
|
-
-
|
|
2793
|
-
-
|
|
2794
|
-
-
|
|
2799
|
+
- RUNNING
|
|
2800
|
+
- READY
|
|
2801
|
+
- COMPLETE_WITH_LIMITATIONS
|
|
2802
|
+
- FAILED
|
|
2795
2803
|
scope:
|
|
2796
2804
|
description: The scope of assets covered by the platform audit run.
|
|
2797
2805
|
type: string
|
|
@@ -2803,7 +2811,9 @@ types:
|
|
|
2803
2811
|
format: double
|
|
2804
2812
|
type: number
|
|
2805
2813
|
checksTerminal:
|
|
2806
|
-
description: The number of checks that have
|
|
2814
|
+
description: The number of checks that have finished. It stays below checksTotal
|
|
2815
|
+
for a run that ended early, so use runStatus, not this count, to tell whether the
|
|
2816
|
+
run is still going.
|
|
2807
2817
|
# TODO: Hand-rolled from "format: int64, type: integer" due to W-8274943
|
|
2808
2818
|
format: double
|
|
2809
2819
|
type: number
|
|
@@ -2811,30 +2821,37 @@ types:
|
|
|
2811
2821
|
description: The date the platform audit run was created.
|
|
2812
2822
|
type: string
|
|
2813
2823
|
completedDate:
|
|
2814
|
-
description: The date the platform audit run completed.
|
|
2824
|
+
description: The date the platform audit run completed. Absent while the run is RUNNING.
|
|
2815
2825
|
type: string | nil
|
|
2816
2826
|
required: false
|
|
2817
2827
|
checks:
|
|
2818
|
-
description:
|
|
2828
|
+
description: Every check of the audit run with its status - finished checks with
|
|
2829
|
+
their results, and checks that have not finished without one.
|
|
2819
2830
|
type: PlatformAuditCheckCollectionRepresentation
|
|
2820
2831
|
healthScore:
|
|
2821
|
-
description: The aggregated health score for the run
|
|
2822
|
-
|
|
2832
|
+
description: The aggregated health score for the run, computed from its finished
|
|
2833
|
+
checks on every read, including while RUNNING. Absent when the score is suppressed
|
|
2834
|
+
(the scored checks scanned less than half of their candidates, or had no
|
|
2835
|
+
candidates, as when no finished check could be scored) or could not be computed.
|
|
2823
2836
|
type: integer | nil
|
|
2824
2837
|
required: false
|
|
2825
2838
|
verdict:
|
|
2826
|
-
description: The aggregated health verdict for the run
|
|
2827
|
-
|
|
2839
|
+
description: The aggregated health verdict for the run (Healthy, NeedsAttention,
|
|
2840
|
+
Critical, or Indeterminate when the score is suppressed), computed from its
|
|
2841
|
+
finished checks on every read, including while RUNNING. Absent only when scoring
|
|
2842
|
+
could not be computed.
|
|
2828
2843
|
type: string | nil
|
|
2829
2844
|
required: false
|
|
2830
2845
|
urgency:
|
|
2831
2846
|
description: The aggregated health urgency triage, split into critical-now and
|
|
2832
|
-
needs-attention tiers
|
|
2833
|
-
|
|
2847
|
+
needs-attention tiers, computed from the finished checks on every read. Lists the
|
|
2848
|
+
scored checks' findings even when the score is suppressed. Absent only when scoring
|
|
2849
|
+
could not be computed.
|
|
2834
2850
|
type: PlatformAuditUrgencyRepresentation | nil
|
|
2835
2851
|
required: false
|
|
2836
2852
|
scoreSuppressed:
|
|
2837
|
-
description: Whether the health score is suppressed for this run.
|
|
2853
|
+
description: Whether the health score is suppressed for this run. Absent only when
|
|
2854
|
+
scoring could not be computed.
|
|
2838
2855
|
type: boolean | nil
|
|
2839
2856
|
required: false
|
|
2840
2857
|
PlatformAuditSnapshotRepresentation: # TODO Hand-rolled W-24314623
|
|
@@ -2848,13 +2865,21 @@ types:
|
|
|
2848
2865
|
description: The ID of the platform audit run.
|
|
2849
2866
|
type: string
|
|
2850
2867
|
runStatus:
|
|
2851
|
-
description: The runtime status of the platform audit run.
|
|
2868
|
+
description: The runtime status of the platform audit run. RUNNING until every check
|
|
2869
|
+
has finished or the run ends early. A run that ended before every check finished,
|
|
2870
|
+
for example because it ran too long, is FAILED. Otherwise the terminal status depends
|
|
2871
|
+
on every check except crma-inventory - READY if each is COMPLETE, FAILED if none is
|
|
2872
|
+
COMPLETE or COMPLETE_WITH_LIMITATIONS, and COMPLETE_WITH_LIMITATIONS otherwise.
|
|
2873
|
+
crma-inventory only counts the org's assets and its status does not affect the
|
|
2874
|
+
run's, so a READY run can have a crma-inventory check that is
|
|
2875
|
+
COMPLETE_WITH_LIMITATIONS, UNAVAILABLE, or FAILED. A FAILED run can still carry finished checks,
|
|
2876
|
+
findings, and a health score; any unfinished check it lists is NOT_FINISHED.
|
|
2852
2877
|
type: string
|
|
2853
2878
|
enum:
|
|
2854
|
-
-
|
|
2855
|
-
-
|
|
2856
|
-
-
|
|
2857
|
-
-
|
|
2879
|
+
- RUNNING
|
|
2880
|
+
- READY
|
|
2881
|
+
- COMPLETE_WITH_LIMITATIONS
|
|
2882
|
+
- FAILED
|
|
2858
2883
|
scope:
|
|
2859
2884
|
description: The scope of assets covered by the platform audit run.
|
|
2860
2885
|
type: string
|
|
@@ -2866,7 +2891,9 @@ types:
|
|
|
2866
2891
|
format: double
|
|
2867
2892
|
type: number
|
|
2868
2893
|
checksTerminal:
|
|
2869
|
-
description: The number of checks that have
|
|
2894
|
+
description: The number of checks that have finished. It stays below checksTotal
|
|
2895
|
+
for a run that ended early, so use runStatus, not this count, to tell whether the
|
|
2896
|
+
run is still going.
|
|
2870
2897
|
# TODO: Hand-rolled from "format: int64, type: integer" due to W-8274943
|
|
2871
2898
|
format: double
|
|
2872
2899
|
type: number
|
|
@@ -2874,71 +2901,103 @@ types:
|
|
|
2874
2901
|
description: The date the platform audit run was created.
|
|
2875
2902
|
type: string
|
|
2876
2903
|
completedDate:
|
|
2877
|
-
description: The date the platform audit run completed.
|
|
2904
|
+
description: The date the platform audit run completed. Absent while the run is RUNNING.
|
|
2878
2905
|
type: string | nil
|
|
2879
2906
|
required: false
|
|
2880
2907
|
checks:
|
|
2881
|
-
description:
|
|
2908
|
+
description: Every check of the audit run with its status - finished checks with
|
|
2909
|
+
their results, and checks that have not finished without one.
|
|
2882
2910
|
type: PlatformAuditCheckCollectionRepresentation
|
|
2883
2911
|
healthScore:
|
|
2884
|
-
description: The aggregated health score for the run
|
|
2885
|
-
|
|
2912
|
+
description: The aggregated health score for the run, computed from its finished
|
|
2913
|
+
checks on every read, including while RUNNING. Absent when the score is suppressed
|
|
2914
|
+
(the scored checks scanned less than half of their candidates, or had no
|
|
2915
|
+
candidates, as when no finished check could be scored) or could not be computed.
|
|
2886
2916
|
type: integer | nil
|
|
2887
2917
|
required: false
|
|
2888
2918
|
verdict:
|
|
2889
|
-
description: The aggregated health verdict for the run
|
|
2890
|
-
|
|
2919
|
+
description: The aggregated health verdict for the run (Healthy, NeedsAttention,
|
|
2920
|
+
Critical, or Indeterminate when the score is suppressed), computed from its
|
|
2921
|
+
finished checks on every read, including while RUNNING. Absent only when scoring
|
|
2922
|
+
could not be computed.
|
|
2891
2923
|
type: string | nil
|
|
2892
2924
|
required: false
|
|
2893
2925
|
urgency:
|
|
2894
2926
|
description: The aggregated health urgency triage, split into critical-now and
|
|
2895
|
-
needs-attention tiers
|
|
2896
|
-
|
|
2927
|
+
needs-attention tiers, computed from the finished checks on every read. Lists the
|
|
2928
|
+
scored checks' findings even when the score is suppressed. Absent only when scoring
|
|
2929
|
+
could not be computed.
|
|
2897
2930
|
type: PlatformAuditUrgencyRepresentation | nil
|
|
2898
2931
|
required: false
|
|
2899
2932
|
scoreSuppressed:
|
|
2900
|
-
description: Whether the health score is suppressed for this run.
|
|
2933
|
+
description: Whether the health score is suppressed for this run. Absent only when
|
|
2934
|
+
scoring could not be computed.
|
|
2901
2935
|
type: boolean | nil
|
|
2902
2936
|
required: false
|
|
2903
2937
|
PlatformAuditCheckRepresentation: # TODO Hand-rolled W-24314623
|
|
2904
|
-
description:
|
|
2938
|
+
description: One check of a platform audit run and its status.
|
|
2905
2939
|
type: object
|
|
2906
2940
|
properties:
|
|
2907
2941
|
checkName:
|
|
2908
|
-
description: The name of the check (e.g. crma-
|
|
2942
|
+
description: The name of the check (e.g. crma-inventory, crma-orphans,
|
|
2943
|
+
crma-trace-redundancies).
|
|
2909
2944
|
type: string
|
|
2910
2945
|
status:
|
|
2911
|
-
description: The
|
|
2946
|
+
description: The status of the check. IN_PROGRESS while it has not finished (queued
|
|
2947
|
+
or running); NOT_FINISHED if the run ended before it finished; otherwise its final
|
|
2948
|
+
status. Only a finished check carries coverage, dates, a limitation note, and a
|
|
2949
|
+
result.
|
|
2912
2950
|
type: string
|
|
2913
2951
|
enum:
|
|
2914
|
-
-
|
|
2915
|
-
-
|
|
2916
|
-
-
|
|
2917
|
-
-
|
|
2952
|
+
- IN_PROGRESS # TODO Hand-rolled W-24564863
|
|
2953
|
+
- NOT_FINISHED # TODO Hand-rolled W-24564863
|
|
2954
|
+
- COMPLETE
|
|
2955
|
+
- COMPLETE_WITH_LIMITATIONS
|
|
2956
|
+
- UNAVAILABLE
|
|
2957
|
+
- FAILED
|
|
2918
2958
|
coverageScanned:
|
|
2919
|
-
description: The number of assets scanned by this check.
|
|
2959
|
+
description: The number of assets scanned by this check. Absent until the check
|
|
2960
|
+
has finished. Always 0 for crma-inventory, whose asset counts are in its resultJson.
|
|
2920
2961
|
# TODO: Hand-rolled from "format: int64, type: integer" due to W-8274943
|
|
2921
|
-
format: double
|
|
2922
|
-
type: number
|
|
2962
|
+
#format: double # Hand-rolled format not allowed with union type
|
|
2963
|
+
type: number | nil # TODO Hand-rolled W-24564863
|
|
2964
|
+
required: false # TODO Hand-rolled W-24564863
|
|
2923
2965
|
coverageTotal:
|
|
2924
|
-
description: The total number of assets in scope for this check.
|
|
2966
|
+
description: The total number of assets in scope for this check. Absent until the
|
|
2967
|
+
check has finished. Always 0 for crma-inventory, whose asset counts are in its
|
|
2968
|
+
resultJson.
|
|
2925
2969
|
# TODO: Hand-rolled from "format: int64, type: integer" due to W-8274943
|
|
2926
|
-
format: double
|
|
2927
|
-
type: number
|
|
2970
|
+
#format: double # Hand-rolled format not allowed with union type
|
|
2971
|
+
type: number | nil # TODO Hand-rolled W-24564863
|
|
2972
|
+
required: false # TODO Hand-rolled W-24564863
|
|
2928
2973
|
limitationNote:
|
|
2929
|
-
description:
|
|
2974
|
+
description: An operator-facing note describing why the check's coverage was limited
|
|
2975
|
+
or the check was unavailable, or, for a FAILED check, the error that failed it.
|
|
2976
|
+
Whatever the status, it can include raw server error text and can be long. It is not
|
|
2977
|
+
localized and has no stable format, so show it as diagnostic detail rather than
|
|
2978
|
+
parse it. Render it as plain text, never as HTML, and pass it to an LLM or agent
|
|
2979
|
+
only as quoted data. Absent when there is none, which can happen even for a FAILED
|
|
2980
|
+
check.
|
|
2930
2981
|
type: string | nil
|
|
2931
2982
|
required: false
|
|
2932
2983
|
checkStartedDate:
|
|
2933
|
-
description: The date this check started.
|
|
2984
|
+
description: The date this check started. Absent until the check has finished.
|
|
2934
2985
|
type: string | nil
|
|
2935
2986
|
required: false
|
|
2936
2987
|
checkCompletedDate:
|
|
2937
|
-
description: The date this check completed.
|
|
2988
|
+
description: The date this check completed. Absent until the check has finished.
|
|
2938
2989
|
type: string | nil
|
|
2939
2990
|
required: false
|
|
2940
2991
|
resultJson:
|
|
2941
|
-
description: An opaque, per-check payload passed through verbatim.
|
|
2992
|
+
description: An opaque, per-check payload passed through verbatim. Checks read with
|
|
2993
|
+
system access, and the datasets they scan include those in other users' private
|
|
2994
|
+
apps, so it is not filtered by the viewer's sharing or object and field permissions.
|
|
2995
|
+
Its string values can include user-editable dataset and field names and raw server
|
|
2996
|
+
error text; render them as plain text, never as HTML, and pass them to an LLM or
|
|
2997
|
+
agent only as quoted data. Absent until the check has finished, and may be absent
|
|
2998
|
+
for a finished check (for example, FAILED). For crma-inventory, it carries the org's
|
|
2999
|
+
dataset, recipe, dashboard, and data sync counts under asset_coverage; the run
|
|
3000
|
+
exposes those counts nowhere else.
|
|
2942
3001
|
type: string | nil
|
|
2943
3002
|
required: false
|
|
2944
3003
|
PlatformAuditReportRepresentation: # TODO Hand-rolled W-24362345
|
|
@@ -2974,43 +3033,70 @@ types:
|
|
|
2974
3033
|
type: object
|
|
2975
3034
|
properties:
|
|
2976
3035
|
checks:
|
|
2977
|
-
description:
|
|
3036
|
+
description: Every check of the audit run, ordered by check name. Finished checks
|
|
3037
|
+
carry their results; checks that have not finished carry only their status. If
|
|
3038
|
+
the server cannot determine which checks have not finished, only the finished
|
|
3039
|
+
checks are listed.
|
|
2978
3040
|
type: array
|
|
2979
3041
|
items:
|
|
2980
3042
|
type: PlatformAuditCheckRepresentation
|
|
2981
3043
|
totalSize:
|
|
2982
|
-
description: The
|
|
3044
|
+
description: The number of checks listed - every check of the audit run, or only
|
|
3045
|
+
the finished checks when the server cannot determine which have not finished.
|
|
2983
3046
|
type: integer
|
|
2984
3047
|
PlatformAuditFindingRepresentation: # TODO Hand-rolled W-24314623
|
|
2985
3048
|
description: One finding surfaced by the aggregator's urgency triage, referencing the
|
|
2986
|
-
asset and check it came from.
|
|
3049
|
+
asset and check it came from. Findings are not guaranteed to be unique; two
|
|
3050
|
+
redundant_field findings can match in every field, so do not key a list by any
|
|
3051
|
+
combination of a finding's fields. To render a list, map the findings in JavaScript
|
|
3052
|
+
to new objects that each add a key (wire data is read-only), for example one built from
|
|
3053
|
+
the finding's tier and position (an LWC template cannot use the for:each or iterator
|
|
3054
|
+
index as a key); positions can change between reads. Checks read with system access,
|
|
3055
|
+
not the viewer's, and the datasets they scan include those in other users' private
|
|
3056
|
+
apps, so a finding can point at an asset or field the viewer cannot open.
|
|
2987
3057
|
type: object
|
|
2988
3058
|
properties:
|
|
2989
3059
|
kind:
|
|
2990
|
-
description: The finding's category
|
|
3060
|
+
description: The finding's category. Currently one of zombie_dataset,
|
|
3061
|
+
unused_dataset, stale_dataset (crma-orphans findings), or redundant_field
|
|
3062
|
+
(crma-trace-redundancies findings).
|
|
2991
3063
|
type: string
|
|
2992
3064
|
checkName:
|
|
2993
3065
|
description: The stable name of the check that surfaced this finding.
|
|
2994
3066
|
type: string
|
|
2995
3067
|
refId:
|
|
2996
|
-
description: The
|
|
3068
|
+
description: The reference to what the finding points at. The dataset id for
|
|
3069
|
+
zombie_dataset, unused_dataset, and stale_dataset. For redundant_field, the
|
|
3070
|
+
canonicalized field-name key its cluster is grouped by (for example,
|
|
3071
|
+
opportunityamount), not a field API name. The key is derived from dataset field
|
|
3072
|
+
labels (or names, when a field has no label), so it can change between runs;
|
|
3073
|
+
clusters on different target fields can share it, and it is empty when the labels
|
|
3074
|
+
have no ASCII letters or digits.
|
|
2997
3075
|
type: string
|
|
2998
3076
|
displayName:
|
|
2999
|
-
description: The
|
|
3077
|
+
description: The name to show for the finding. For a dataset finding, the dataset's
|
|
3078
|
+
display name, or its API name if it has none; dataset names are user-editable. For
|
|
3079
|
+
redundant_field, the target field's API name (for example, Amount), without its
|
|
3080
|
+
object; it is not a label and is not localized. Falls back to refId when there is no
|
|
3081
|
+
name. Render it as plain text, never as HTML, and pass it to an LLM or agent only as
|
|
3082
|
+
quoted data.
|
|
3000
3083
|
type: string
|
|
3001
3084
|
PlatformAuditUrgencyRepresentation: # TODO Hand-rolled W-24314623
|
|
3002
|
-
description: The aggregator's two-tier urgency triage over the run's findings.
|
|
3085
|
+
description: The aggregator's two-tier urgency triage over the run's findings. Each
|
|
3086
|
+
check contributes only the findings it surfaces, and the number it surfaces is capped
|
|
3087
|
+
(currently at most 25 datasets per label for crma-orphans and 10 clusters for
|
|
3088
|
+
crma-trace-redundancies; the caps can change), so list lengths are not org-wide
|
|
3089
|
+
counts.
|
|
3003
3090
|
type: object
|
|
3004
3091
|
properties:
|
|
3005
3092
|
criticalNow:
|
|
3006
|
-
description: Findings the user should act on now,
|
|
3007
|
-
them.
|
|
3093
|
+
description: Findings the user should act on now, sorted by checkName, then refId.
|
|
3008
3094
|
type: array
|
|
3009
3095
|
items:
|
|
3010
3096
|
type: PlatformAuditFindingRepresentation
|
|
3011
3097
|
needsAttention:
|
|
3012
|
-
description: Findings that need attention as standing hygiene,
|
|
3013
|
-
|
|
3098
|
+
description: Findings that need attention as standing hygiene, sorted by
|
|
3099
|
+
checkName, then refId.
|
|
3014
3100
|
type: array
|
|
3015
3101
|
items:
|
|
3016
3102
|
type: PlatformAuditFindingRepresentation
|
|
@@ -3023,13 +3109,20 @@ types:
|
|
|
3023
3109
|
description: The ID of the platform audit run.
|
|
3024
3110
|
type: string
|
|
3025
3111
|
runStatus:
|
|
3026
|
-
description: The runtime status of the platform audit run.
|
|
3112
|
+
description: The runtime status of the platform audit run. RUNNING until every check
|
|
3113
|
+
has finished or the run ends early. A run that ended before every check finished,
|
|
3114
|
+
for example because it ran too long, is FAILED. Otherwise the terminal status depends
|
|
3115
|
+
on every check except crma-inventory - READY if each is COMPLETE, FAILED if none is
|
|
3116
|
+
COMPLETE or COMPLETE_WITH_LIMITATIONS, and COMPLETE_WITH_LIMITATIONS otherwise.
|
|
3117
|
+
crma-inventory only counts the org's assets and its status does not affect the
|
|
3118
|
+
run's, so a READY run can have a crma-inventory check that is
|
|
3119
|
+
COMPLETE_WITH_LIMITATIONS, UNAVAILABLE, or FAILED. A FAILED run can still have a health score.
|
|
3027
3120
|
type: string
|
|
3028
3121
|
enum:
|
|
3029
|
-
-
|
|
3030
|
-
-
|
|
3031
|
-
-
|
|
3032
|
-
-
|
|
3122
|
+
- RUNNING
|
|
3123
|
+
- READY
|
|
3124
|
+
- COMPLETE_WITH_LIMITATIONS
|
|
3125
|
+
- FAILED
|
|
3033
3126
|
scope:
|
|
3034
3127
|
description: The scope of assets covered by the platform audit run.
|
|
3035
3128
|
type: string
|
|
@@ -3041,7 +3134,9 @@ types:
|
|
|
3041
3134
|
format: double
|
|
3042
3135
|
type: number
|
|
3043
3136
|
checksTerminal:
|
|
3044
|
-
description: The number of checks that have
|
|
3137
|
+
description: The number of checks that have finished. It stays below checksTotal
|
|
3138
|
+
for a run that ended early, so use runStatus, not this count, to tell whether the
|
|
3139
|
+
run is still going.
|
|
3045
3140
|
# TODO: Hand-rolled from "format: int64, type: integer" due to W-8274943
|
|
3046
3141
|
format: double
|
|
3047
3142
|
type: number
|
|
@@ -3049,21 +3144,26 @@ types:
|
|
|
3049
3144
|
description: The date the platform audit run was created.
|
|
3050
3145
|
type: string
|
|
3051
3146
|
completedDate:
|
|
3052
|
-
description: The date the platform audit run completed.
|
|
3147
|
+
description: The date the platform audit run completed. Absent while the run is RUNNING.
|
|
3053
3148
|
type: string | nil
|
|
3054
3149
|
required: false
|
|
3055
3150
|
healthScore:
|
|
3056
|
-
description: The aggregated health score for the run
|
|
3057
|
-
|
|
3151
|
+
description: The aggregated health score for the run, computed from its finished
|
|
3152
|
+
checks on every read, including while RUNNING. Absent when the score is suppressed
|
|
3153
|
+
(the scored checks scanned less than half of their candidates, or had no
|
|
3154
|
+
candidates, as when no finished check could be scored) or could not be computed.
|
|
3058
3155
|
type: integer | nil
|
|
3059
3156
|
required: false
|
|
3060
3157
|
verdict:
|
|
3061
|
-
description: The aggregated health verdict for the run
|
|
3062
|
-
|
|
3158
|
+
description: The aggregated health verdict for the run (Healthy, NeedsAttention,
|
|
3159
|
+
Critical, or Indeterminate when the score is suppressed), computed from its
|
|
3160
|
+
finished checks on every read, including while RUNNING. Absent only when scoring
|
|
3161
|
+
could not be computed.
|
|
3063
3162
|
type: string | nil
|
|
3064
3163
|
required: false
|
|
3065
3164
|
scoreSuppressed:
|
|
3066
|
-
description: Whether the health score is suppressed for this run.
|
|
3165
|
+
description: Whether the health score is suppressed for this run. Absent only when
|
|
3166
|
+
scoring could not be computed.
|
|
3067
3167
|
type: boolean | nil
|
|
3068
3168
|
required: false
|
|
3069
3169
|
PlatformAuditCollectionRepresentation: # TODO Hand-rolled W-24314623
|
|
@@ -7864,7 +7964,10 @@ types:
|
|
|
7864
7964
|
required: true
|
|
7865
7965
|
/platform-audit/{auditId}/checks/{checkId}: # TODO Hand-rolled W-24314623
|
|
7866
7966
|
get:
|
|
7867
|
-
description: Get a single check's result within a platform audit run.
|
|
7967
|
+
description: Get a single check's result within a platform audit run. Returns 404
|
|
7968
|
+
when the run or the check does not exist. The server has no record of a check until
|
|
7969
|
+
it finishes, so an IN_PROGRESS or NOT_FINISHED check also returns 404; a FAILED check
|
|
7970
|
+
returns 200.
|
|
7868
7971
|
responses:
|
|
7869
7972
|
'200':
|
|
7870
7973
|
description: Success
|
|
@@ -7876,6 +7979,7 @@ types:
|
|
|
7876
7979
|
type: string
|
|
7877
7980
|
required: true
|
|
7878
7981
|
checkId:
|
|
7982
|
+
description: The check's name (e.g. crma-orphans). A check has no separate id.
|
|
7879
7983
|
type: string
|
|
7880
7984
|
required: true
|
|
7881
7985
|
/platform-audit/{auditId}/report: # TODO Hand-rolled W-24362345
|
|
@@ -7987,6 +8091,9 @@ types:
|
|
|
7987
8091
|
q:
|
|
7988
8092
|
type: string
|
|
7989
8093
|
required: false
|
|
8094
|
+
recipePermsFolderId:
|
|
8095
|
+
type: string
|
|
8096
|
+
required: false
|
|
7990
8097
|
sort:
|
|
7991
8098
|
type: string
|
|
7992
8099
|
required: false
|