@salesforce/lds-adapters-analytics-wave 1.464.0 → 1.466.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. package/dist/es/es2018/analytics-wave.js +3054 -2748
  2. package/dist/es/es2018/types/src/generated/adapters/cancelPlatformAudit.d.ts +15 -0
  3. package/dist/es/es2018/types/src/generated/adapters/getPlatformAuditReport.d.ts +7 -7
  4. package/dist/es/es2018/types/src/generated/adapters/getRecipes.d.ts +1 -0
  5. package/dist/es/es2018/types/src/generated/artifacts/main.d.ts +1 -0
  6. package/dist/es/es2018/types/src/generated/artifacts/sfdc.d.ts +2 -1
  7. package/dist/es/es2018/types/src/generated/resources/getWavePlatformAuditReportByAuditId.d.ts +4 -4
  8. package/dist/es/es2018/types/src/generated/resources/getWaveRecipes.d.ts +1 -0
  9. package/dist/es/es2018/types/src/generated/resources/postWavePlatformAuditByAuditId.d.ts +12 -0
  10. package/dist/es/es2018/types/src/generated/types/PlatformAuditCheckCollectionRepresentation.d.ts +2 -2
  11. package/dist/es/es2018/types/src/generated/types/PlatformAuditCheckRepresentation.d.ts +15 -15
  12. package/dist/es/es2018/types/src/generated/types/PlatformAuditFindingRepresentation.d.ts +6 -6
  13. package/dist/es/es2018/types/src/generated/types/PlatformAuditReportReferenceRepresentation.d.ts +41 -0
  14. package/dist/es/es2018/types/src/generated/types/PlatformAuditRepresentation.d.ts +7 -7
  15. package/dist/es/es2018/types/src/generated/types/PlatformAuditSnapshotRepresentation.d.ts +7 -7
  16. package/dist/es/es2018/types/src/generated/types/PlatformAuditSummaryRepresentation.d.ts +6 -6
  17. package/dist/es/es2018/types/src/generated/types/PlatformAuditUrgencyRepresentation.d.ts +5 -5
  18. package/package.json +3 -3
  19. package/sfdc/index.js +4820 -4507
  20. package/src/raml/api.raml +269 -79
  21. package/src/raml/luvio.raml +15 -3
package/src/raml/api.raml CHANGED
@@ -2785,13 +2785,25 @@ 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, the run ends early, or a user cancels it. A run cancelled while RUNNING
2790
+ is CANCELLED - its check results are discarded, every check it lists is CANCELLED,
2791
+ and it is not scored. A run that ended before every check finished in any other way,
2792
+ for example because it ran too long, is FAILED. Otherwise the terminal status depends
2793
+ on every check except crma-inventory (or on every check, if crma-inventory is the
2794
+ only one) - READY if each is COMPLETE, FAILED if none is COMPLETE or
2795
+ COMPLETE_WITH_LIMITATIONS, and COMPLETE_WITH_LIMITATIONS otherwise. crma-inventory
2796
+ only counts the org's assets and its status does not affect the run's, so a READY run
2797
+ can have a crma-inventory check that is COMPLETE_WITH_LIMITATIONS, UNAVAILABLE, or
2798
+ FAILED; the run still waits for it to finish. A FAILED run can still carry finished
2799
+ checks, findings, and a health score; any unfinished check it lists is NOT_FINISHED.
2789
2800
  type: string
2790
2801
  enum:
2791
- - Running
2792
- - Ready
2793
- - CompleteWithLimitations
2794
- - Failed
2802
+ - RUNNING
2803
+ - READY
2804
+ - COMPLETE_WITH_LIMITATIONS
2805
+ - FAILED
2806
+ - CANCELLED # TODO Hand-rolled W-24626646
2795
2807
  scope:
2796
2808
  description: The scope of assets covered by the platform audit run.
2797
2809
  type: string
@@ -2803,7 +2815,9 @@ types:
2803
2815
  format: double
2804
2816
  type: number
2805
2817
  checksTerminal:
2806
- description: The number of checks that have reached a terminal state.
2818
+ description: The number of checks that have finished. It stays below checksTotal
2819
+ for a run that ended early, and is 0 for a CANCELLED run, so use runStatus, not this
2820
+ count, to tell whether the run is still going.
2807
2821
  # TODO: Hand-rolled from "format: int64, type: integer" due to W-8274943
2808
2822
  format: double
2809
2823
  type: number
@@ -2811,30 +2825,43 @@ types:
2811
2825
  description: The date the platform audit run was created.
2812
2826
  type: string
2813
2827
  completedDate:
2814
- description: The date the platform audit run completed. Null while the run is Running.
2828
+ description: The date the platform audit run completed, or for a CANCELLED run, the
2829
+ date it was cancelled. Absent while the run is RUNNING.
2815
2830
  type: string | nil
2816
2831
  required: false
2817
2832
  checks:
2818
- description: The checks that make up this platform audit run.
2833
+ description: Every check of the audit run with its status - finished checks with
2834
+ their results, and checks that have not finished without one. Every check of a
2835
+ CANCELLED run is listed as CANCELLED, without a result.
2819
2836
  type: PlatformAuditCheckCollectionRepresentation
2820
2837
  healthScore:
2821
- description: The aggregated health score for the run. Null while Running, not yet
2822
- computed, or suppressed.
2838
+ description: The aggregated health score for the run, computed from its finished
2839
+ checks on every read, including while RUNNING. crma-inventory is not scored. Absent
2840
+ when the score is suppressed (the scored checks scanned less than half of their
2841
+ candidates, or had no candidates, as when no finished check could be scored) or
2842
+ could not be computed, and always absent for a CANCELLED run, which is not scored.
2823
2843
  type: integer | nil
2824
2844
  required: false
2825
2845
  verdict:
2826
- description: The aggregated health verdict for the run. Null while Running or not
2827
- yet computed.
2846
+ description: The aggregated health verdict for the run (Healthy, NeedsAttention,
2847
+ Critical, or Indeterminate when the score is suppressed), computed from its
2848
+ finished checks on every read, including while RUNNING; crma-inventory does not
2849
+ affect it. NotApplicable for a CANCELLED run, which is not scored. Absent only when
2850
+ scoring could not be computed.
2828
2851
  type: string | nil
2829
2852
  required: false
2830
2853
  urgency:
2831
2854
  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.
2855
+ needs-attention tiers, computed from the finished checks on every read. Lists the
2856
+ scored checks' findings even when the score is suppressed. Both tiers are empty for
2857
+ a CANCELLED run. Absent only when scoring could not be computed.
2834
2858
  type: PlatformAuditUrgencyRepresentation | nil
2835
2859
  required: false
2836
2860
  scoreSuppressed:
2837
- description: Whether the health score is suppressed for this run.
2861
+ description: Whether the health score is suppressed for this run, so consumers show a
2862
+ dash rather than a number. Always true for a CANCELLED run. crma-inventory does not
2863
+ count toward the coverage that decides suppression. Absent only when scoring could
2864
+ not be computed.
2838
2865
  type: boolean | nil
2839
2866
  required: false
2840
2867
  PlatformAuditSnapshotRepresentation: # TODO Hand-rolled W-24314623
@@ -2848,13 +2875,25 @@ types:
2848
2875
  description: The ID of the platform audit run.
2849
2876
  type: string
2850
2877
  runStatus:
2851
- description: The runtime status of the platform audit run.
2878
+ description: The runtime status of the platform audit run. RUNNING until every check
2879
+ has finished, the run ends early, or a user cancels it. A run cancelled while RUNNING
2880
+ is CANCELLED - its check results are discarded, every check it lists is CANCELLED,
2881
+ and it is not scored. A run that ended before every check finished in any other way,
2882
+ for example because it ran too long, is FAILED. Otherwise the terminal status depends
2883
+ on every check except crma-inventory (or on every check, if crma-inventory is the
2884
+ only one) - READY if each is COMPLETE, FAILED if none is COMPLETE or
2885
+ COMPLETE_WITH_LIMITATIONS, and COMPLETE_WITH_LIMITATIONS otherwise. crma-inventory
2886
+ only counts the org's assets and its status does not affect the run's, so a READY run
2887
+ can have a crma-inventory check that is COMPLETE_WITH_LIMITATIONS, UNAVAILABLE, or
2888
+ FAILED; the run still waits for it to finish. A FAILED run can still carry finished
2889
+ checks, findings, and a health score; any unfinished check it lists is NOT_FINISHED.
2852
2890
  type: string
2853
2891
  enum:
2854
- - Running
2855
- - Ready
2856
- - CompleteWithLimitations
2857
- - Failed
2892
+ - RUNNING
2893
+ - READY
2894
+ - COMPLETE_WITH_LIMITATIONS
2895
+ - FAILED
2896
+ - CANCELLED # TODO Hand-rolled W-24626646
2858
2897
  scope:
2859
2898
  description: The scope of assets covered by the platform audit run.
2860
2899
  type: string
@@ -2866,7 +2905,9 @@ types:
2866
2905
  format: double
2867
2906
  type: number
2868
2907
  checksTerminal:
2869
- description: The number of checks that have reached a terminal state.
2908
+ description: The number of checks that have finished. It stays below checksTotal
2909
+ for a run that ended early, and is 0 for a CANCELLED run, so use runStatus, not this
2910
+ count, to tell whether the run is still going.
2870
2911
  # TODO: Hand-rolled from "format: int64, type: integer" due to W-8274943
2871
2912
  format: double
2872
2913
  type: number
@@ -2874,71 +2915,114 @@ types:
2874
2915
  description: The date the platform audit run was created.
2875
2916
  type: string
2876
2917
  completedDate:
2877
- description: The date the platform audit run completed. Null while the run is Running.
2918
+ description: The date the platform audit run completed, or for a CANCELLED run, the
2919
+ date it was cancelled. Absent while the run is RUNNING.
2878
2920
  type: string | nil
2879
2921
  required: false
2880
2922
  checks:
2881
- description: The checks that make up this platform audit run.
2923
+ description: Every check of the audit run with its status - finished checks with
2924
+ their results, and checks that have not finished without one. Every check of a
2925
+ CANCELLED run is listed as CANCELLED, without a result.
2882
2926
  type: PlatformAuditCheckCollectionRepresentation
2883
2927
  healthScore:
2884
- description: The aggregated health score for the run. Null while Running, not yet
2885
- computed, or suppressed.
2928
+ description: The aggregated health score for the run, computed from its finished
2929
+ checks on every read, including while RUNNING. crma-inventory is not scored. Absent
2930
+ when the score is suppressed (the scored checks scanned less than half of their
2931
+ candidates, or had no candidates, as when no finished check could be scored) or
2932
+ could not be computed, and always absent for a CANCELLED run, which is not scored.
2886
2933
  type: integer | nil
2887
2934
  required: false
2888
2935
  verdict:
2889
- description: The aggregated health verdict for the run. Null while Running or not
2890
- yet computed.
2936
+ description: The aggregated health verdict for the run (Healthy, NeedsAttention,
2937
+ Critical, or Indeterminate when the score is suppressed), computed from its
2938
+ finished checks on every read, including while RUNNING; crma-inventory does not
2939
+ affect it. NotApplicable for a CANCELLED run, which is not scored. Absent only when
2940
+ scoring could not be computed.
2891
2941
  type: string | nil
2892
2942
  required: false
2893
2943
  urgency:
2894
2944
  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.
2945
+ needs-attention tiers, computed from the finished checks on every read. Lists the
2946
+ scored checks' findings even when the score is suppressed. Both tiers are empty for
2947
+ a CANCELLED run. Absent only when scoring could not be computed.
2897
2948
  type: PlatformAuditUrgencyRepresentation | nil
2898
2949
  required: false
2899
2950
  scoreSuppressed:
2900
- description: Whether the health score is suppressed for this run.
2951
+ description: Whether the health score is suppressed for this run, so consumers show a
2952
+ dash rather than a number. Always true for a CANCELLED run. crma-inventory does not
2953
+ count toward the coverage that decides suppression. Absent only when scoring could
2954
+ not be computed.
2901
2955
  type: boolean | nil
2902
2956
  required: false
2903
2957
  PlatformAuditCheckRepresentation: # TODO Hand-rolled W-24314623
2904
- description: A single check's result within a platform audit run.
2958
+ description: One check of a platform audit run and its status.
2905
2959
  type: object
2906
2960
  properties:
2907
2961
  checkName:
2908
- description: The name of the check (e.g. crma-orphans, crma-trace-redundancies).
2962
+ description: The name of the check (e.g. crma-inventory, crma-orphans,
2963
+ crma-trace-redundancies).
2909
2964
  type: string
2910
2965
  status:
2911
- description: The runtime status of the check.
2966
+ description: The status of the check. IN_PROGRESS while it has not finished (queued
2967
+ or running); CANCELLED if a user cancelled the run, which discards every check's
2968
+ result, finished or not; NOT_FINISHED if the run ended any other way before it
2969
+ finished; otherwise its final status. Only a finished check carries coverage, dates,
2970
+ a limitation note, and a result.
2912
2971
  type: string
2913
2972
  enum:
2914
- - Complete
2915
- - CompleteWithLimitations
2916
- - Unavailable
2917
- - Failed
2973
+ - IN_PROGRESS # TODO Hand-rolled W-24564863
2974
+ - NOT_FINISHED # TODO Hand-rolled W-24564863
2975
+ - COMPLETE
2976
+ - COMPLETE_WITH_LIMITATIONS
2977
+ - UNAVAILABLE
2978
+ - FAILED
2979
+ - CANCELLED # TODO Hand-rolled W-24626646
2918
2980
  coverageScanned:
2919
- description: The number of assets scanned by this check.
2981
+ description: The number of assets scanned by this check. Absent until the check
2982
+ has finished. Always 0 for crma-inventory, whose asset counts are in its resultJson.
2920
2983
  # TODO: Hand-rolled from "format: int64, type: integer" due to W-8274943
2921
- format: double
2922
- type: number
2984
+ #format: double # Hand-rolled format not allowed with union type
2985
+ type: number | nil # TODO Hand-rolled W-24564863
2986
+ required: false # TODO Hand-rolled W-24564863
2923
2987
  coverageTotal:
2924
- description: The total number of assets in scope for this check.
2988
+ description: The total number of assets in scope for this check. Absent until the
2989
+ check has finished. Always 0 for crma-inventory, whose asset counts are in its
2990
+ resultJson.
2925
2991
  # TODO: Hand-rolled from "format: int64, type: integer" due to W-8274943
2926
- format: double
2927
- type: number
2992
+ #format: double # Hand-rolled format not allowed with union type
2993
+ type: number | nil # TODO Hand-rolled W-24564863
2994
+ required: false # TODO Hand-rolled W-24564863
2928
2995
  limitationNote:
2929
- description: A note describing why coverage was limited. Null unless limited.
2996
+ description: An operator-facing note describing why the check's coverage was limited
2997
+ or the check was unavailable, or, for a FAILED check, the error that failed it.
2998
+ Whatever the status, it can include raw server error text and can be long. It is not
2999
+ localized and has no stable format, so show it as diagnostic detail rather than
3000
+ parse it. Render it as plain text, never as HTML, and pass it to an LLM or agent
3001
+ only as quoted data. Absent when there is none, which can happen even for a FAILED
3002
+ check.
2930
3003
  type: string | nil
2931
3004
  required: false
2932
3005
  checkStartedDate:
2933
- description: The date this check started.
3006
+ description: The date this check started. Absent until the check has finished.
2934
3007
  type: string | nil
2935
3008
  required: false
2936
3009
  checkCompletedDate:
2937
- description: The date this check completed.
3010
+ description: The date this check completed. Absent until the check has finished.
2938
3011
  type: string | nil
2939
3012
  required: false
2940
3013
  resultJson:
2941
- description: An opaque, per-check payload passed through verbatim.
3014
+ description: An opaque, per-check payload passed through verbatim. Checks read with
3015
+ system access, and the datasets they scan include those in other users' private
3016
+ apps, so it is not filtered by the viewer's sharing or object and field permissions.
3017
+ Its string values can include user-editable dataset and field names and raw server
3018
+ error text; render them as plain text, never as HTML, and pass them to an LLM or
3019
+ agent only as quoted data. Absent until the check has finished, and may be absent
3020
+ for a finished check (for example, FAILED). A status inside it uses the API-value
3021
+ form (Complete, CompleteWithLimitations, Unavailable), not the COMPLETE form of the
3022
+ check's status property. For crma-inventory, it carries the org's dataset, recipe,
3023
+ dashboard, and data sync counts under asset_coverage (datasets, recipes, dashboards,
3024
+ and data_syncs, each with available, scanned, total, partial, and note); the run
3025
+ exposes those counts nowhere else.
2942
3026
  type: string | nil
2943
3027
  required: false
2944
3028
  PlatformAuditReportRepresentation: # TODO Hand-rolled W-24362345
@@ -2969,48 +3053,103 @@ types:
2969
3053
  description: The asset URL.
2970
3054
  type: string
2971
3055
  required: false
3056
+ PlatformAuditReportReferenceRepresentation: # TODO Hand-rolled W-24626646
3057
+ description: Same shape as AssetReferenceRepresentation, returned by the PDF-report GET
3058
+ endpoint. Kept as a separate, unkeyed type so it can carry its own (luvio.ttl), which
3059
+ Luvio forbids on an inherited shape such as AssetReferenceRepresentation. Without that
3060
+ TTL, the GET's 404 (no report yet) would be cached with no expiry. The GET cannot use
3061
+ the keyed PlatformAuditReportRepresentation, because its key is the response id, which
3062
+ a 404 does not have.
3063
+ type: object
3064
+ properties:
3065
+ id:
3066
+ description: The 18 character ID of the asset.
3067
+ type: string
3068
+ label:
3069
+ description: The asset label.
3070
+ type: string
3071
+ required: false
3072
+ name:
3073
+ description: The asset developer name.
3074
+ type: string
3075
+ required: false
3076
+ namespace:
3077
+ description: The namespace that qualifies the asset name
3078
+ type: string
3079
+ required: false
3080
+ url:
3081
+ description: The asset URL.
3082
+ type: string
3083
+ required: false
2972
3084
  PlatformAuditCheckCollectionRepresentation: # TODO Hand-rolled W-24314623
2973
3085
  description: A collection of platform audit checks.
2974
3086
  type: object
2975
3087
  properties:
2976
3088
  checks:
2977
- description: The checks in this collection.
3089
+ description: Every check of the audit run, ordered by check name. Finished checks
3090
+ carry their results; checks that have not finished carry only their status. If
3091
+ the server cannot determine which checks have not finished, only the finished
3092
+ checks are listed.
2978
3093
  type: array
2979
3094
  items:
2980
3095
  type: PlatformAuditCheckRepresentation
2981
3096
  totalSize:
2982
- description: The total number of checks in this collection.
3097
+ description: The number of checks listed - every check of the audit run, or only
3098
+ the finished checks when the server cannot determine which have not finished.
2983
3099
  type: integer
2984
3100
  PlatformAuditFindingRepresentation: # TODO Hand-rolled W-24314623
2985
3101
  description: One finding surfaced by the aggregator's urgency triage, referencing the
2986
- asset and check it came from.
3102
+ asset and check it came from. Findings are not guaranteed to be unique; two
3103
+ redundant_field findings can match in every field, so do not key a list by any
3104
+ combination of a finding's fields. To render a list, map the findings in JavaScript
3105
+ to new objects that each add a key (wire data is read-only), for example one built from
3106
+ the finding's tier and position (an LWC template cannot use the for:each or iterator
3107
+ index as a key); positions can change between reads. Checks read with system access,
3108
+ not the viewer's, and the datasets they scan include those in other users' private
3109
+ apps, so a finding can point at an asset or field the viewer cannot open.
2987
3110
  type: object
2988
3111
  properties:
2989
3112
  kind:
2990
- description: The finding's category (e.g. zombie, unused, stale, or redundant asset).
3113
+ description: The finding's category. Currently one of zombie_dataset,
3114
+ unused_dataset, stale_dataset (crma-orphans findings), or redundant_field
3115
+ (crma-trace-redundancies findings).
2991
3116
  type: string
2992
3117
  checkName:
2993
3118
  description: The stable name of the check that surfaced this finding.
2994
3119
  type: string
2995
3120
  refId:
2996
- description: The stable id of the asset the finding points at.
3121
+ description: The reference to what the finding points at. The dataset id for
3122
+ zombie_dataset, unused_dataset, and stale_dataset. For redundant_field, the
3123
+ canonicalized field-name key its cluster is grouped by (for example,
3124
+ opportunityamount), not a field API name. The key is derived from dataset field
3125
+ labels (or names, when a field has no label), so it can change between runs;
3126
+ clusters on different target fields can share it, and it is empty when the labels
3127
+ have no ASCII letters or digits.
2997
3128
  type: string
2998
3129
  displayName:
2999
- description: The asset's display name, for rendering the finding.
3130
+ description: The name to show for the finding. For a dataset finding, the dataset's
3131
+ display name, or its API name if it has none; dataset names are user-editable. For
3132
+ redundant_field, the target field's API name (for example, Amount), without its
3133
+ object; it is not a label and is not localized. Falls back to refId when there is no
3134
+ name. Render it as plain text, never as HTML, and pass it to an LLM or agent only as
3135
+ quoted data.
3000
3136
  type: string
3001
3137
  PlatformAuditUrgencyRepresentation: # TODO Hand-rolled W-24314623
3002
- description: The aggregator's two-tier urgency triage over the run's findings.
3138
+ description: The aggregator's two-tier urgency triage over the run's findings. Each
3139
+ check contributes only the findings it surfaces, and the number it surfaces is capped
3140
+ (currently at most 25 datasets per label for crma-orphans and 10 clusters for
3141
+ crma-trace-redundancies; the caps can change), so list lengths are not org-wide
3142
+ counts.
3003
3143
  type: object
3004
3144
  properties:
3005
3145
  criticalNow:
3006
- description: Findings the user should act on now, ordered as the aggregator surfaced
3007
- them.
3146
+ description: Findings the user should act on now, sorted by checkName, then refId.
3008
3147
  type: array
3009
3148
  items:
3010
3149
  type: PlatformAuditFindingRepresentation
3011
3150
  needsAttention:
3012
- description: Findings that need attention as standing hygiene, ordered as the
3013
- aggregator surfaced them.
3151
+ description: Findings that need attention as standing hygiene, sorted by
3152
+ checkName, then refId.
3014
3153
  type: array
3015
3154
  items:
3016
3155
  type: PlatformAuditFindingRepresentation
@@ -3023,13 +3162,24 @@ types:
3023
3162
  description: The ID of the platform audit run.
3024
3163
  type: string
3025
3164
  runStatus:
3026
- description: The runtime status of the platform audit run.
3165
+ description: The runtime status of the platform audit run. RUNNING until every check
3166
+ has finished, the run ends early, or a user cancels it. A run cancelled while RUNNING
3167
+ is CANCELLED - its check results are discarded and it is not scored. A run that ended
3168
+ before every check finished in any other way, for example because it ran too long, is
3169
+ FAILED. Otherwise the terminal status depends on every check except crma-inventory
3170
+ (or on every check, if crma-inventory is the only one) - READY if each is COMPLETE,
3171
+ FAILED if none is COMPLETE or COMPLETE_WITH_LIMITATIONS, and
3172
+ COMPLETE_WITH_LIMITATIONS otherwise. crma-inventory only counts the org's assets and
3173
+ its status does not affect the run's, so a READY run can have a crma-inventory check
3174
+ that is COMPLETE_WITH_LIMITATIONS, UNAVAILABLE, or FAILED; the run still waits for it
3175
+ to finish. A FAILED run can still have a health score.
3027
3176
  type: string
3028
3177
  enum:
3029
- - Running
3030
- - Ready
3031
- - CompleteWithLimitations
3032
- - Failed
3178
+ - RUNNING
3179
+ - READY
3180
+ - COMPLETE_WITH_LIMITATIONS
3181
+ - FAILED
3182
+ - CANCELLED # TODO Hand-rolled W-24626646
3033
3183
  scope:
3034
3184
  description: The scope of assets covered by the platform audit run.
3035
3185
  type: string
@@ -3041,7 +3191,9 @@ types:
3041
3191
  format: double
3042
3192
  type: number
3043
3193
  checksTerminal:
3044
- description: The number of checks that have reached a terminal state.
3194
+ description: The number of checks that have finished. It stays below checksTotal
3195
+ for a run that ended early, and is 0 for a CANCELLED run, so use runStatus, not this
3196
+ count, to tell whether the run is still going.
3045
3197
  # TODO: Hand-rolled from "format: int64, type: integer" due to W-8274943
3046
3198
  format: double
3047
3199
  type: number
@@ -3049,21 +3201,31 @@ types:
3049
3201
  description: The date the platform audit run was created.
3050
3202
  type: string
3051
3203
  completedDate:
3052
- description: The date the platform audit run completed. Null while the run is Running.
3204
+ description: The date the platform audit run completed, or for a CANCELLED run, the
3205
+ date it was cancelled. Absent while the run is RUNNING.
3053
3206
  type: string | nil
3054
3207
  required: false
3055
3208
  healthScore:
3056
- description: The aggregated health score for the run. Null while Running, not yet
3057
- computed, or suppressed.
3209
+ description: The aggregated health score for the run, computed from its finished
3210
+ checks on every read, including while RUNNING. crma-inventory is not scored. Absent
3211
+ when the score is suppressed (the scored checks scanned less than half of their
3212
+ candidates, or had no candidates, as when no finished check could be scored) or
3213
+ could not be computed, and always absent for a CANCELLED run, which is not scored.
3058
3214
  type: integer | nil
3059
3215
  required: false
3060
3216
  verdict:
3061
- description: The aggregated health verdict for the run. Null while Running or not
3062
- yet computed.
3217
+ description: The aggregated health verdict for the run (Healthy, NeedsAttention,
3218
+ Critical, or Indeterminate when the score is suppressed), computed from its
3219
+ finished checks on every read, including while RUNNING; crma-inventory does not
3220
+ affect it. NotApplicable for a CANCELLED run, which is not scored. Absent only when
3221
+ scoring could not be computed.
3063
3222
  type: string | nil
3064
3223
  required: false
3065
3224
  scoreSuppressed:
3066
- description: Whether the health score is suppressed for this run.
3225
+ description: Whether the health score is suppressed for this run, so consumers show a
3226
+ dash rather than a number. Always true for a CANCELLED run. crma-inventory does not
3227
+ count toward the coverage that decides suppression. Absent only when scoring could
3228
+ not be computed.
3067
3229
  type: boolean | nil
3068
3230
  required: false
3069
3231
  PlatformAuditCollectionRepresentation: # TODO Hand-rolled W-24314623
@@ -7842,7 +8004,10 @@ types:
7842
8004
  application/json:
7843
8005
  type: PlatformAuditSnapshotRepresentation
7844
8006
  post:
7845
- description: Trigger a new platform audit run.
8007
+ description: Trigger a new platform audit run. A CANCELLED run frees the org's single
8008
+ running slot and does not count toward the one-run-per-24h rate limit, but every
8009
+ trigger, cancelled or not, counts toward a cap of three per org per 24h (403 when
8010
+ exceeded).
7846
8011
  responses:
7847
8012
  '200':
7848
8013
  description: Success
@@ -7858,13 +8023,32 @@ types:
7858
8023
  body:
7859
8024
  application/json:
7860
8025
  type: PlatformAuditRepresentation
8026
+ post: # TODO Hand-rolled W-24626646
8027
+ description: Cancel a RUNNING platform audit run. Takes no body. Discards every check
8028
+ result the run has written, marks it CANCELLED, and returns the cancelled run. Checks
8029
+ that are still executing stop at their next checkpoint and write nothing. The run is
8030
+ kept, so it stays in the history and can still be read by id, with every check listed
8031
+ as CANCELLED, verdict NotApplicable, and no health score; it has no PDF report.
8032
+ Returns 400 when the run is not RUNNING (it has already ended or been cancelled), 404
8033
+ for an unknown, deleted, malformed, or non-audit id, and 403 without permission to
8034
+ trigger a platform audit.
8035
+ responses:
8036
+ '200':
8037
+ description: Success
8038
+ body:
8039
+ application/json:
8040
+ type: PlatformAuditRepresentation
7861
8041
  uriParameters:
7862
8042
  auditId:
8043
+ description: The ID of the platform audit run (15 or 18 characters).
7863
8044
  type: string
7864
8045
  required: true
7865
8046
  /platform-audit/{auditId}/checks/{checkId}: # TODO Hand-rolled W-24314623
7866
8047
  get:
7867
- description: Get a single check's result within a platform audit run.
8048
+ description: Get a single check's result within a platform audit run. Returns 404
8049
+ when the run or the check does not exist. The server has no record of a check until
8050
+ it finishes, and cancelling a run deletes every check's record, so an IN_PROGRESS,
8051
+ NOT_FINISHED, or CANCELLED check also returns 404; a FAILED check returns 200.
7868
8052
  responses:
7869
8053
  '200':
7870
8054
  description: Success
@@ -7876,21 +8060,24 @@ types:
7876
8060
  type: string
7877
8061
  required: true
7878
8062
  checkId:
8063
+ description: The check's name (e.g. crma-orphans). A check has no separate id.
7879
8064
  type: string
7880
8065
  required: true
7881
8066
  /platform-audit/{auditId}/report: # TODO Hand-rolled W-24362345
7882
8067
  get:
7883
8068
  description: Resolve the audit run's already-generated PDF report and return a
7884
- reference to the downloadable File.
8069
+ reference to the downloadable File. Returns 404 until a report has been generated,
8070
+ and always for a CANCELLED run.
7885
8071
  responses:
7886
8072
  '200':
7887
8073
  description: Success
7888
8074
  body:
7889
8075
  application/json:
7890
- type: AssetReferenceRepresentation
8076
+ type: PlatformAuditReportReferenceRepresentation # TODO Hand-rolled W-24626646
7891
8077
  post:
7892
8078
  description: Generate or reuse the audit run's PDF report and return a reference
7893
- to the downloadable File.
8079
+ to the downloadable File. Returns 400 unless the run is READY or
8080
+ COMPLETE_WITH_LIMITATIONS, so a RUNNING, FAILED, or CANCELLED run has no report.
7894
8081
  responses:
7895
8082
  '200':
7896
8083
  description: Success
@@ -7903,10 +8090,10 @@ types:
7903
8090
  required: true
7904
8091
  /platform-audit/history: # TODO Hand-rolled W-24314623
7905
8092
  get:
7906
- description: Get the org's platform-audit history, most recent first. Returns an
7907
- empty collection (not a 404) when no runs exist. The connect resource hardcodes
7908
- offset=0/limit=200 server-side and ignores client-supplied paging params;
7909
- see W-24314623 comments before adding offset/limit here.
8093
+ description: Get the org's platform-audit history, most recent first. CANCELLED runs
8094
+ are kept and listed. Returns an empty collection (not a 404) when no runs exist. The
8095
+ connect resource hardcodes offset=0/limit=200 server-side and ignores client-supplied
8096
+ paging params; see W-24314623 comments before adding offset/limit here.
7910
8097
  responses:
7911
8098
  '200':
7912
8099
  description: Success
@@ -7987,6 +8174,9 @@ types:
7987
8174
  q:
7988
8175
  type: string
7989
8176
  required: false
8177
+ recipePermsFolderId:
8178
+ type: string
8179
+ required: false
7990
8180
  sort:
7991
8181
  type: string
7992
8182
  required: false
@@ -74,6 +74,11 @@ types:
74
74
  (luvio.ttl): 300
75
75
  (luvio.key):
76
76
  id: id
77
+ # A 404 is only cached with an expiry when the return type has its own TTL (the
78
+ # package-level one doesn't count), so without this a "no report yet" 404 from
79
+ # getPlatformAuditReport would be served from the cache until the page reloads.
80
+ PlatformAuditReportReferenceRepresentation: # TODO Hand-rolled W-24626646
81
+ (luvio.ttl): 300
77
82
  RecipeCollectionRepresentation:
78
83
  (luvio.opaque): true
79
84
  (luvio.ttl): 300
@@ -371,14 +376,21 @@ types:
371
376
  name: getPlatformAudit
372
377
  (luvio.key):
373
378
  id: urlParams.auditId
379
+ # Returns the auditId-keyed PlatformAuditRepresentation, so the cancelled run replaces
380
+ # the cached getPlatformAudit record for the same run. That holds when getPlatformAudit
381
+ # is called with the 18-character id the API returns: the record is keyed by the
382
+ # response's auditId, but getPlatformAudit looks it up by the id in the URL.
383
+ post: # TODO Hand-rolled W-24626646
384
+ (luvio.adapter):
385
+ name: cancelPlatformAudit
374
386
  /platform-audit/{auditId}/checks/{checkId}: # TODO Hand-rolled W-24314623
375
387
  get:
376
388
  (luvio.adapter):
377
389
  name: getPlatformAuditCheck
378
390
  /platform-audit/{auditId}/report: # TODO Hand-rolled W-24362345
379
- # No (luvio.key): the GET response is an AssetReferenceRepresentation, which has
380
- # no auditId field to key on (same reasoning as getPlatformAuditCheck above), so
381
- # this caches by request path only.
391
+ # No (luvio.key): the GET response is a PlatformAuditReportReferenceRepresentation,
392
+ # which has no auditId field to key on (same reasoning as getPlatformAuditCheck
393
+ # above), so this caches by request path only.
382
394
  get:
383
395
  (luvio.adapter):
384
396
  name: getPlatformAuditReport