@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.
@@ -23190,7 +23190,7 @@ const getAnalyticsLimitsAdapterFactory = (luvio) => function WAVE__getAnalyticsL
23190
23190
  };
23191
23191
 
23192
23192
  const TTL$i = 300;
23193
- const VERSION$M = "5d9aba0ee3f2f80287493bdc7dd1fa9a";
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
- obj.coverageTotal;
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 = "936db61354149ac16a6d4af9b7504b5a";
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 = "c8e93d7c8c090a959704d87fcb7f563e";
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
  ];
@@ -15,6 +15,7 @@ export interface GetRecipesConfig {
15
15
  page?: string;
16
16
  pageSize?: number;
17
17
  q?: string;
18
+ recipePermsFolderId?: string;
18
19
  sort?: string;
19
20
  status?: Array<string>;
20
21
  }
@@ -11,6 +11,7 @@ export interface ResourceRequestConfig {
11
11
  page?: string;
12
12
  pageSize?: number;
13
13
  q?: string;
14
+ recipePermsFolderId?: string;
14
15
  sort?: string;
15
16
  status?: Array<string>;
16
17
  };
@@ -16,9 +16,9 @@ export declare function getTypeCacheKeys(rootKeySet: $64$luvio_engine_DurableSto
16
16
  * (none)
17
17
  */
18
18
  export interface PlatformAuditCheckCollectionRepresentationNormalized {
19
- /** The checks in this collection. */
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 total number of checks in this collection. */
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 = "5d9aba0ee3f2f80287493bdc7dd1fa9a";
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
- * A single check's result within a platform audit run.
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: number;
26
- /** The total number of assets in scope for this check. */
27
- coverageTotal: number;
28
- /** A note describing why coverage was limited. Null unless limited. */
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 runtime status of the check. */
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
- * A single check's result within a platform audit run.
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: number;
46
- coverageTotal: number;
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 = "936db61354149ac16a6d4af9b7504b5a";
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 asset's display name, for rendering the finding. */
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 (e.g. zombie, unused, stale, or redundant asset). */
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 stable id of the asset the finding points at. */
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 reached a terminal state. */
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. Null while the run is Running. */
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. Null while Running, not yet computed, or suppressed. */
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. Omitted when scoring was suppressed or the run is still running. */
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. Null while Running or not yet computed. */
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 reached a terminal state. */
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. Null while the run is Running. */
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. Null while Running, not yet computed, or suppressed. */
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. Omitted when scoring was suppressed or the run is still running. */
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. Null while Running or not yet computed. */
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 reached a terminal state. */
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. Null while the run is Running. */
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. Null while Running, not yet computed, or suppressed. */
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. Null while Running or not yet computed. */
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 = "c8e93d7c8c090a959704d87fcb7f563e";
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, ordered as the aggregator surfaced them. */
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, ordered as the aggregator surfaced them. */
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.463.0",
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.463.0"
61
+ "@salesforce/lds-bindings": "^1.465.0"
62
62
  },
63
63
  "devDependencies": {
64
- "@salesforce/lds-compiler-plugins": "^1.463.0"
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 = "5d9aba0ee3f2f80287493bdc7dd1fa9a";
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
- obj.coverageTotal;
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 = "936db61354149ac16a6d4af9b7504b5a";
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 = "c8e93d7c8c090a959704d87fcb7f563e";
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.463.0-8515018faf
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
- - Running
2792
- - Ready
2793
- - CompleteWithLimitations
2794
- - Failed
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 reached a terminal state.
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. Null while the run is Running.
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: The checks that make up this platform audit run.
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. Null while Running, not yet
2822
- computed, or suppressed.
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. Null while Running or not
2827
- yet computed.
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. Omitted when scoring was suppressed or the run is still
2833
- running.
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
- - Running
2855
- - Ready
2856
- - CompleteWithLimitations
2857
- - Failed
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 reached a terminal state.
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. Null while the run is Running.
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: The checks that make up this platform audit run.
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. Null while Running, not yet
2885
- computed, or suppressed.
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. Null while Running or not
2890
- yet computed.
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. Omitted when scoring was suppressed or the run is still
2896
- running.
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: A single check's result within a platform audit run.
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-orphans, crma-trace-redundancies).
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 runtime status of the check.
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
- - Complete
2915
- - CompleteWithLimitations
2916
- - Unavailable
2917
- - Failed
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: A note describing why coverage was limited. Null unless limited.
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: The checks in this collection.
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 total number of checks in this collection.
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 (e.g. zombie, unused, stale, or redundant asset).
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 stable id of the asset the finding points at.
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 asset's display name, for rendering the finding.
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, ordered as the aggregator surfaced
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, ordered as the
3013
- aggregator surfaced them.
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
- - Running
3030
- - Ready
3031
- - CompleteWithLimitations
3032
- - Failed
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 reached a terminal state.
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. Null while the run is Running.
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. Null while Running, not yet
3057
- computed, or suppressed.
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. Null while Running or not
3062
- yet computed.
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