@peernova/cuneiform-sf 1.0.2 → 1.0.4-beta.6

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 (38) hide show
  1. package/LICENSE +81 -30
  2. package/README.md +59 -95
  3. package/messages/compatibility.check.md +71 -0
  4. package/messages/cuneiform.access.md +138 -0
  5. package/messages/definition.create.md +511 -0
  6. package/messages/definition.export.md +88 -0
  7. package/messages/definition.get.md +147 -0
  8. package/messages/definition.import.md +65 -0
  9. package/messages/definition.list.md +264 -0
  10. package/messages/definition.purge.md +318 -0
  11. package/messages/definition.update.md +80 -0
  12. package/messages/mcp.serve.md +66 -0
  13. package/messages/object.describe.md +201 -0
  14. package/messages/object.list.md +443 -0
  15. package/messages/org.details.md +386 -0
  16. package/messages/org.reset.md +71 -0
  17. package/messages/profile.md +231 -0
  18. package/messages/profile.request.cancel.md +143 -0
  19. package/messages/profile.request.delete.md +139 -0
  20. package/messages/profile.request.list.md +89 -0
  21. package/messages/summary.purge.md +218 -0
  22. package/messages/summary.reprofile.md +150 -0
  23. package/messages/summary.stop.md +157 -0
  24. package/messages/user.details.md +501 -0
  25. package/oclif.lock +3021 -2224
  26. package/oclif.manifest.json +2 -116
  27. package/package.json +84 -19
  28. package/lib/commands/cuneiform/about.d.ts +0 -13
  29. package/lib/commands/cuneiform/about.js +0 -26
  30. package/lib/commands/cuneiform/about.js.map +0 -1
  31. package/lib/commands/hello/world.d.ts +0 -14
  32. package/lib/commands/hello/world.js +0 -27
  33. package/lib/commands/hello/world.js.map +0 -1
  34. package/lib/index.d.ts +0 -2
  35. package/lib/index.js +0 -2
  36. package/lib/index.js.map +0 -1
  37. package/messages/cuneiform.about.md +0 -19
  38. package/messages/hello.world.md +0 -29
@@ -0,0 +1,143 @@
1
+ # summary
2
+
3
+ Transition queued profiling requests to Canceled status before they begin processing — prevent incorrect or unnecessary requests from generating summaries.
4
+
5
+ # description
6
+
7
+ When profiling is triggered, the system creates a request record that tracks execution. Requests begin in a Queued state, waiting for the backend to process them. This command transitions queued requests to Canceled status before processing begins — preventing them from generating summaries that would need to be identified and cleaned up later.
8
+
9
+ IMPORTANT: Cancel applies to QUEUED requests only. Once a request has been processed and its summary is actively executing, the request is complete. To halt an in-progress summary, use `sf cuneiform summary stop` instead.
10
+
11
+ TWO SELECTION MODES (mutually exclusive):
12
+
13
+ - **Broad** (`--all`) — Cancel all cancellable requests (Queued status)
14
+ - **Targeted** (`--request-ids`) — Cancel specific requests by Salesforce record ID
15
+
16
+ SAFETY: Completed, rejected, and already-canceled requests are automatically excluded. Use --dry-run to preview what would be canceled before committing. A confirmation prompt shows the count before proceeding — use --no-prompt to skip for scripted use.
17
+
18
+ Cancellation transitions status only — it does not delete records. Canceled requests remain visible in `profile request list` until permanently removed with `profile request delete`.
19
+
20
+ CANCEL vs STOP — these address different objects at different lifecycle stages:
21
+
22
+ - **Cancel** prevents a Request from being processed. No Summary is created.
23
+ - **Stop** halts an active Summary that is already executing. Preserves completed fields.
24
+
25
+ By the time a Summary exists, its originating Request is already complete. These operations do not overlap.
26
+
27
+ WHEN TO USE:
28
+
29
+ - Wrong definition submitted — cancel the queued request before it generates incorrect results
30
+ - Pre-maintenance window — clear the queue before planned downtime
31
+ - Configuration issue discovered — pause processing until the issue is resolved
32
+ - Selective cleanup in shared orgs — cancel specific requests by ID while preserving valid requests
33
+
34
+ NATURAL LANGUAGE → FLAG MAPPING:
35
+ "cancel everything in the queue" → --all
36
+ "cancel just this one request" → --request-ids a0Xxx0000001AAA
37
+ "what would be canceled?" → --all --dry-run
38
+ "cancel without asking" → --all --no-prompt
39
+
40
+ COMMAND SEQUENCE:
41
+ `profile` or `profile request list` → **`profile request cancel`** → `profile request delete` (remove artifacts) or re-submit with corrected parameters
42
+
43
+ # flags.target-org.summary
44
+
45
+ Cancel profiling requests in this Salesforce org. Specify the org alias or username when you have multiple authenticated orgs.
46
+
47
+ # flags.all.summary
48
+
49
+ Cancel all queued requests in a single operation. Use for pre-maintenance windows, configuration corrections, or full queue pauses when processing should be deferred. Mutually exclusive with --request-ids.
50
+
51
+ # flags.request-ids.summary
52
+
53
+ Cancel specific profiling requests by Salesforce record ID (comma-separated). Use for targeted cancellation when only some queued requests are problematic — preserving valid requests in shared environments. Find request IDs with `profile request list`. Mutually exclusive with --all.
54
+
55
+ # flags.dry-run.summary
56
+
57
+ Preview which requests would be canceled, showing the same request details as a real cancellation. Use first in production orgs or shared environments to verify scope before committing — particularly important when other users have valid requests in the queue.
58
+
59
+ # flags.no-prompt.summary
60
+
61
+ Skip the confirmation prompt and cancel immediately. Use in scripts or automation where interactive prompts are not available. JSON mode also skips the prompt.
62
+
63
+ # examples
64
+
65
+ - Preview what would be canceled — verify scope before committing:
66
+
67
+ <%= config.bin %> <%= command.id %> --target-org myOrg --all --dry-run
68
+
69
+ - Cancel all queued requests — clear the processing queue before maintenance:
70
+
71
+ <%= config.bin %> <%= command.id %> --target-org myOrg --all
72
+
73
+ - Cancel specific requests by ID — targeted cancellation in shared orgs:
74
+
75
+ <%= config.bin %> <%= command.id %> --target-org myOrg --request-ids a0Xxx0000001AAA,a0Xxx0000002BBB
76
+
77
+ - Cancel immediately for scripted workflows:
78
+
79
+ <%= config.bin %> <%= command.id %> --target-org myOrg --all --no-prompt
80
+
81
+ - Cancel specific requests as JSON output for automation:
82
+
83
+ <%= config.bin %> <%= command.id %> --target-org myOrg --request-ids a0Xxx0000001AAA --json
84
+
85
+ # errors.noTargetOrg
86
+
87
+ Could not determine target org username.
88
+
89
+ # errors.mutuallyExclusive
90
+
91
+ The --all and --request-ids flags are mutually exclusive. Provide one or the other.
92
+
93
+ # errors.noSelection
94
+
95
+ You must provide either --all or --request-ids to specify which requests to cancel.
96
+
97
+ # errors.cancelFailed
98
+
99
+ Failed to cancel profiling requests: %s
100
+
101
+ # errors.noCancellable
102
+
103
+ No cancellable requests found matching the specified criteria.
104
+
105
+ # errors.partialFailure
106
+
107
+ Some requests could not be canceled. %s of %s succeeded.
108
+
109
+ # errors.invalidIds
110
+
111
+ Invalid request ID format: %s
112
+
113
+ # prompt.confirm.singular
114
+
115
+ Cancel this profiling request?
116
+
117
+ # prompt.confirm.plural
118
+
119
+ Cancel these %s profiling requests?
120
+
121
+ # output.dryRunTitle
122
+
123
+ Dry Run — Requests That Would Be Canceled
124
+
125
+ # output.cancelled
126
+
127
+ Successfully canceled %s profiling request(s).
128
+
129
+ # output.noCancellable
130
+
131
+ No cancellable requests found.
132
+
133
+ # output.dryRunSummary
134
+
135
+ %s request(s) would be canceled.
136
+
137
+ # output.userCancelled
138
+
139
+ Cancellation aborted by user.
140
+
141
+ # output.failedHeader
142
+
143
+ Failed to Cancel
@@ -0,0 +1,139 @@
1
+ # summary
2
+
3
+ Permanently remove canceled and rejected profiling requests — cleaning up terminal request artifacts that never produced a summary.
4
+
5
+ # description
6
+
7
+ Every profiling run begins with a request record that tracks who initiated profiling, which definition was targeted, and the execution outcome. Canceled and rejected requests are terminal — they never produced a summary and serve no ongoing purpose. This command permanently removes them.
8
+
9
+ ELIGIBLE STATUSES: Only Canceled and Rejected requests can be deleted. The eligibility filter is enforced at the query level — Queued and Completed requests are structurally excluded.
10
+
11
+ PROTECTED STATUSES: Completed requests maintain the profiling user context reference needed for reprofiling. They are cascade-deleted automatically when their summary is purged via `summary purge`. Queued requests must be canceled first with `profile request cancel` before they become eligible for deletion.
12
+
13
+ TWO SELECTION MODES (mutually exclusive):
14
+
15
+ - **Broad** (`--all`) — Delete all deletable requests (Canceled and Rejected)
16
+ - **Targeted** (`--request-ids`) — Delete specific requests by Salesforce record ID
17
+
18
+ LIFECYCLE CONTEXT: Delete removes terminal, summary-less requests:
19
+
20
+ 1. `profile request cancel` — transition queued requests to Canceled status
21
+ 2. `profile request delete` — permanently remove Canceled and Rejected requests
22
+ 3. `summary purge` — cascade-deletes Completed requests automatically
23
+
24
+ WHEN TO USE:
25
+
26
+ - Post-cancellation cleanup — remove canceled request artifacts after resolving the issue
27
+ - Engagement close-out — clean up the request history before org handoff
28
+ - Periodic housekeeping — remove old canceled and rejected requests to keep the request list focused
29
+ - CI pipeline reset — automate scratch org cleanup between test runs
30
+
31
+ NATURAL LANGUAGE → FLAG MAPPING:
32
+ "delete all processed requests" → --all
33
+ "delete just this one request" → --request-ids a0Xxx0000001AAA
34
+ "what would be deleted?" → --all --dry-run
35
+ "delete without asking" → --all --no-prompt
36
+
37
+ COMMAND SEQUENCE: `profile request cancel` (cancel queued requests) → `profile request delete` (remove canceled/rejected) → `summary purge` (remove summaries, cascade-delete completed requests) → `definition purge` (remove definitions)
38
+
39
+ # flags.target-org.summary
40
+
41
+ Salesforce org containing the profiling requests to delete. The command validates Cuneiform installation before executing.
42
+
43
+ # flags.all.summary
44
+
45
+ Delete all deletable requests (Canceled and Rejected status). Targets request artifacts that never produced summaries. Completed requests are excluded — they are cascade-deleted when their summary is purged. Mutually exclusive with --request-ids.
46
+
47
+ # flags.request-ids.summary
48
+
49
+ Specific profiling request IDs to delete (e.g., --request-ids a0Xxx0000001AAA,a0Xxx0000002BBB). Targets individual canceled or rejected requests. Look up request IDs with `profile request list`. Mutually exclusive with --all.
50
+
51
+ # flags.dry-run.summary
52
+
53
+ Preview what would be deleted without making changes. Shows the same request details and counts as a real deletion. Use this first — deletion is permanent and cannot be undone.
54
+
55
+ # flags.no-prompt.summary
56
+
57
+ Skip the confirmation prompt and delete immediately. Use for scripted cleanup in CI pipelines and automation workflows. The irreversibility warning is bypassed — the caller accepts permanent deletion programmatically.
58
+
59
+ # examples
60
+
61
+ - Preview what would be deleted (deletion is permanent — always preview first):
62
+
63
+ <%= config.bin %> <%= command.id %> --target-org myOrg --all --dry-run
64
+
65
+ - Delete all canceled and rejected requests after resolving the underlying issues:
66
+
67
+ <%= config.bin %> <%= command.id %> --target-org myOrg --all
68
+
69
+ - Delete specific requests by ID for targeted cleanup:
70
+
71
+ <%= config.bin %> <%= command.id %> --target-org myOrg --request-ids a0Xxx0000001AAA,a0Xxx0000002BBB
72
+
73
+ - Scripted scratch org reset in CI pipelines:
74
+
75
+ <%= config.bin %> <%= command.id %> --target-org myOrg --all --no-prompt
76
+
77
+ - Capture deletion results as JSON for engagement close-out documentation:
78
+
79
+ <%= config.bin %> <%= command.id %> --target-org myOrg --all --json
80
+
81
+ # errors.noTargetOrg
82
+
83
+ Could not determine target org username.
84
+
85
+ # errors.mutuallyExclusive
86
+
87
+ The --all and --request-ids flags are mutually exclusive. Provide one or the other.
88
+
89
+ # errors.noSelection
90
+
91
+ You must provide either --all or --request-ids to specify which requests to delete.
92
+
93
+ # errors.deleteFailed
94
+
95
+ Failed to delete profiling requests: %s
96
+
97
+ # errors.noDeletable
98
+
99
+ No deletable requests found matching the specified criteria.
100
+
101
+ # errors.partialFailure
102
+
103
+ Some requests could not be deleted. %s of %s succeeded.
104
+
105
+ # errors.invalidIds
106
+
107
+ Invalid request ID format: %s
108
+
109
+ # prompt.confirm.singular
110
+
111
+ Permanently delete this profiling request? This action cannot be undone.
112
+
113
+ # prompt.confirm.plural
114
+
115
+ Permanently delete these %s profiling requests? This action cannot be undone.
116
+
117
+ # output.dryRunTitle
118
+
119
+ Dry Run — Requests That Would Be Deleted
120
+
121
+ # output.deleted
122
+
123
+ Successfully deleted %s profiling request(s).
124
+
125
+ # output.noDeletable
126
+
127
+ No deletable requests found.
128
+
129
+ # output.dryRunSummary
130
+
131
+ %s request(s) would be deleted.
132
+
133
+ # output.userCancelled
134
+
135
+ Deletion aborted by user.
136
+
137
+ # output.failedHeader
138
+
139
+ Failed to Delete
@@ -0,0 +1,89 @@
1
+ # summary
2
+
3
+ Retrieve profiling request execution records — see which requests are queued, completed, rejected, or canceled across the org.
4
+
5
+ # description
6
+
7
+ Profiling requests are the execution records of the KYCD journey — each one tracks who submitted profiling, against which definition, and the outcome. This command retrieves those records and displays them as a six-column table: request name, status, target object, parent definition name, submitted by (user), and created date.
8
+
9
+ The command is read-only. For cancelling queued requests, use `profile request cancel`. For deleting terminal requests, use `profile request delete`.
10
+
11
+ LIFECYCLE CONTEXT: Profiling requests are created when `sf cuneiform profile` runs. Each request starts as Queued and ends in one of three terminal states: Completed (summary created and executing independently), Rejected (validation failed or capacity exceeded), or Canceled (user stopped it before processing). There are exactly 4 request statuses.
12
+
13
+ WHEN TO USE:
14
+
15
+ - After submitting profiling — "Did my requests complete? Are they still queued?"
16
+ - To triage rejections — filter by Rejected status to isolate problematic requests
17
+ - For multi-user coordination — the submitted-by column shows who triggered each request
18
+ - To check queue depth — see how many requests are waiting to be processed
19
+
20
+ RELATED COMMANDS:
21
+
22
+ - `sf cuneiform profile` — creates the requests this command lists
23
+ - `sf cuneiform profile request cancel` — cancel queued requests that should not be processed
24
+ - `sf cuneiform profile request delete` — permanently remove processed requests
25
+ - `sf cuneiform definition get` — check profiling results at the definition level
26
+
27
+ NATURAL LANGUAGE → FLAG MAPPING:
28
+ "show me all requests" → (no flags, lists all)
29
+ "what's still queued?" → --status Queued
30
+ "were any rejected?" → --status Rejected
31
+ "show canceled requests" → --status Canceled
32
+ "show more results" → --limit 100
33
+
34
+ COMMAND SEQUENCE:
35
+ `profile` → **`profile request list`** → `profile request cancel` or `summary stop` (when intervention is needed)
36
+
37
+ # flags.target-org.summary
38
+
39
+ Retrieve profiling requests from this Salesforce org. Specify the org alias or username when you have multiple authenticated orgs.
40
+
41
+ # flags.status.summary
42
+
43
+ Filter by request lifecycle status: Queued (waiting to be processed), Completed (summary created and executing), Rejected (validation failed or capacity exceeded), or Canceled (stopped before processing). There are exactly 4 valid values. Use --status Rejected for triage or --status Queued to check queue depth.
44
+
45
+ # flags.limit.summary
46
+
47
+ Control how many requests are displayed per page (default: 25, max: 200). Increase for large profiling runs where 25 results may not show the full picture.
48
+
49
+ # examples
50
+
51
+ - List all profiling requests — monitor progress after submitting profiling:
52
+
53
+ <%= config.bin %> <%= command.id %> --target-org myOrg
54
+
55
+ - Triage rejected requests — isolate requests that need attention:
56
+
57
+ <%= config.bin %> <%= command.id %> --target-org myOrg --status Rejected
58
+
59
+ - Check queue depth — see how many requests are waiting for processing:
60
+
61
+ <%= config.bin %> <%= command.id %> --target-org myOrg --status Queued
62
+
63
+ - Confirm completed requests — verify which requests produced summaries:
64
+
65
+ <%= config.bin %> <%= command.id %> --target-org myOrg --status Completed
66
+
67
+ - View more results in a large profiling run:
68
+
69
+ <%= config.bin %> <%= command.id %> --target-org myOrg --limit 100
70
+
71
+ - Produce machine-readable output for scripting or dashboards:
72
+
73
+ <%= config.bin %> <%= command.id %> --target-org myOrg --json
74
+
75
+ # errors.noTargetOrg
76
+
77
+ Could not determine target org username.
78
+
79
+ # errors.queryFailed
80
+
81
+ Failed to list profiling requests: %s
82
+
83
+ # output.title
84
+
85
+ Profiling Requests
86
+
87
+ # output.noRequests
88
+
89
+ No profiling requests found.
@@ -0,0 +1,218 @@
1
+ # summary
2
+
3
+ Delete profiling summaries and their child records — use --prune to preserve the latest summary per definition while removing older results.
4
+
5
+ # description
6
+
7
+ Every profiling run creates a summary — a result record containing Field Results, Value Results, and KPI Results. Over repeated profiling cycles, summaries accumulate. An org with 20 definitions profiled weekly generates over 1,000 summaries per year. The current profiling posture is the latest summary per definition; older summaries are historical artifacts.
8
+
9
+ This command deletes summaries and their child records from a Salesforce org. The `--prune` flag implements the standard housekeeping pattern: keep the latest summary per definition while removing older results. This is how Marcus Thompson closes engagement phases and how David Chen configures automated weekly cleanup.
10
+
11
+ **Cleanup dependency order** — summary purge must happen BEFORE definition purge:
12
+
13
+ 1. `sf cuneiform profile request cancel` — cancel queued requests
14
+ 2. `sf cuneiform profile request delete` — remove canceled and rejected requests
15
+ 3. `sf cuneiform summary purge` — remove summaries (cascade-deletes completed requests; resets definition status to NOT PROFILED when all summaries are removed)
16
+ 4. `sf cuneiform definition purge` — remove definitions (requires zero summaries)
17
+
18
+ THREE SELECTION MODES:
19
+
20
+ - **By ID** (`--ids`) — Delete specific summaries by Salesforce record ID. Exclusive mode — filter flags are ignored.
21
+ - **By filter** (`--objects`, `--category`, `--is-active`) — Delete summaries matching filters. Summaries are resolved through their parent definitions: the command queries definitions first, then targets their associated summaries.
22
+ - **All** (`--all`) — Delete all eligible summaries. Can be combined with filter flags to narrow scope.
23
+
24
+ ELIGIBILITY: Only summaries with a terminal profiling status (SUCCESS, COMPLETE w/ FAILURES, FAILED, CANCELED) can be deleted. In-progress summaries are automatically excluded and reported with a reason.
25
+
26
+ SAFETY: Use --dry-run to preview the scope before deleting. The confirmation prompt shows affected summaries before proceeding. Cascade delete automatically removes child Field Results, Value Results, KPI Results, and related profiling requests (original and reprofile). Definition status resets to NOT PROFILED when all summaries for a definition are removed.
27
+
28
+ **When to run this command:**
29
+
30
+ - Post-sprint cleanup — prune intermediate results after iterative profiling cycles
31
+ - Pre-sandbox-refresh storage reduction — free storage before the refresh window
32
+ - Object-targeted cleanup after data model changes — remove stale summaries for redesigned objects
33
+ - Before definition purge — clear summaries as a prerequisite for definition deletion
34
+
35
+ NATURAL LANGUAGE → FLAG MAPPING:
36
+ "clean up old summaries, keep latest" → --all --prune
37
+ "delete all summaries" → --all
38
+ "delete Account summaries" → --objects Account
39
+ "delete this specific summary" → --ids a0Bxx0000001234AAA
40
+ "what would be deleted?" → --all --dry-run
41
+ "clean up old summaries without asking" → --all --prune --no-prompt
42
+
43
+ COMMAND SEQUENCE:
44
+ `profile request cancel` → `profile request delete` → `summary purge` → `definition purge`
45
+
46
+ # flags.target-org.summary
47
+
48
+ The Salesforce org to purge summaries from. Specify the org alias or username when you have multiple authenticated orgs.
49
+
50
+ # flags.all.summary
51
+
52
+ Target all eligible summaries for deletion. Can be combined with filter flags (--objects, --category, --is-active) to narrow scope. Combine with --prune to preserve the latest summary per definition while removing older results.
53
+
54
+ # flags.ids.summary
55
+
56
+ Specific summary record IDs to delete (comma-separated Salesforce record IDs). Exclusive mode — filter flags are ignored when --ids is specified. Use for surgical removal of individual summaries.
57
+
58
+ # flags.objects.summary
59
+
60
+ Filter by target object API name (matches the definition's profiled object). Scopes purge to summaries for specific objects (e.g., --objects Account removes only Account-related summaries).
61
+
62
+ # flags.category.summary
63
+
64
+ Filter by definition category label (e.g., "Phase 1", "Baseline"). Scopes purge to summaries from a completed engagement phase or functional area.
65
+
66
+ # flags.is-active.summary
67
+
68
+ Filter by definition active status. Targets summaries belonging to active or inactive definitions.
69
+
70
+ # flags.limit.summary
71
+
72
+ Maximum number of summaries to process per invocation (default: 50). Controls batch size in large cleanup operations. Ignored when --all is specified.
73
+
74
+ # flags.prune.summary
75
+
76
+ Preserve the latest summary for each definition and delete only older summaries. This is the standard housekeeping pattern — current profiling evidence is retained while historical results are removed. Combine with --all for org-wide pruning, or with filter flags to prune specific scopes.
77
+
78
+ # flags.dry-run.summary
79
+
80
+ Preview what would be deleted, applied to nothing. Shows the same categorization (eligible, skipped by status, preserved by prune) as a real purge. Run this first to verify scope before committing.
81
+
82
+ # flags.no-prompt.summary
83
+
84
+ Skip the confirmation prompt and delete immediately. Use in scripts and automation pipelines. The prompt normally shows which summaries (and their child records) will be permanently deleted.
85
+
86
+ # flags.format.summary
87
+
88
+ Output format: table (default, human-readable) or json (machine-readable for scripting and automation dashboards).
89
+
90
+ # examples
91
+
92
+ - Preview what would be deleted — start here to verify scope:
93
+
94
+ <%= config.bin %> <%= command.id %> --target-org myOrg --all --dry-run
95
+
96
+ - Standard housekeeping — keep the latest summary per definition, remove older results:
97
+
98
+ <%= config.bin %> <%= command.id %> --target-org myOrg --all --prune
99
+
100
+ - Object-targeted cleanup — remove Account summaries after a data model redesign:
101
+
102
+ <%= config.bin %> <%= command.id %> --target-org myOrg --objects Account
103
+
104
+ - Complete cleanup — delete all terminal-state summaries:
105
+
106
+ <%= config.bin %> <%= command.id %> --target-org myOrg --all
107
+
108
+ - Surgical removal — delete specific summaries by record ID:
109
+
110
+ <%= config.bin %> <%= command.id %> --target-org myOrg --ids a0Bxx0000001234AAA,a0Bxx0000005678AAA
111
+
112
+ - Automated weekly prune — for CI pipelines and scheduled jobs:
113
+
114
+ <%= config.bin %> <%= command.id %> --target-org myOrg --all --prune --no-prompt --format json
115
+
116
+ # errors.noSelectionCriteria
117
+
118
+ No selection criteria specified. Provide --all, --ids, or filter flags (--objects, --category, --is-active).
119
+
120
+ # errors.mutuallyExclusive
121
+
122
+ The --ids flag is mutually exclusive with filter flags (--objects, --category, --is-active, --all).
123
+
124
+ # errors.noEligibleSummaries
125
+
126
+ No summaries found matching the specified criteria.
127
+
128
+ # errors.queryFailed
129
+
130
+ Failed to query summaries: %s
131
+
132
+ # errors.deleteFailed
133
+
134
+ Failed to delete summaries: %s
135
+
136
+ # errors.noTargetOrg
137
+
138
+ Could not determine target org username.
139
+
140
+ # output.pruneMode
141
+
142
+ Prune mode: preserving latest summary per definition.
143
+
144
+ # prompt.confirm.singular
145
+
146
+ Delete this Profiling Summary (and its child Field Results, Value Results, and KPI Results)
147
+
148
+ # prompt.confirm.plural
149
+
150
+ Delete these %s Profiling Summaries (and their child Field Results, Value Results, and KPI Results)
151
+
152
+ # output.noDeletable
153
+
154
+ Purge cancelled — there are no Profiling Summaries that can be deleted.
155
+
156
+ # output.cancelled
157
+
158
+ Purge cancelled. No summaries were deleted.
159
+
160
+ # skippedByStatus.header.singular
161
+
162
+ Could not delete this Profiling Summary — it has a non-terminal status.
163
+
164
+ # skippedByStatus.header.plural
165
+
166
+ Could not delete these Profiling Summaries — they have non-terminal statuses.
167
+
168
+ # skippedByPrune.header.singular
169
+
170
+ Preserved this Profiling Summary — it is the latest for its definition.
171
+
172
+ # skippedByPrune.header.plural
173
+
174
+ Preserved these Profiling Summaries — they are the latest for their definitions.
175
+
176
+ # output.noEligible.message
177
+
178
+ No summaries were found matching the specified criteria.
179
+
180
+ # output.noEligible.guidance
181
+
182
+ - Please check your filters and confirm that summaries exist in your Salesforce org.
183
+
184
+ # output.summary.deleted
185
+
186
+ Deleted
187
+
188
+ # output.summary.skipped
189
+
190
+ Skipped
191
+
192
+ # output.summary.failed
193
+
194
+ Failed
195
+
196
+ # output.summary.total
197
+
198
+ Total
199
+
200
+ # output.summaryHeader
201
+
202
+ Summary
203
+
204
+ # spinner.status.deleted
205
+
206
+ deleted
207
+
208
+ # spinner.status.skipped
209
+
210
+ skipped
211
+
212
+ # spinner.status.failed
213
+
214
+ failed
215
+
216
+ # warnings.limitIgnoredWithAll
217
+
218
+ --limit is ignored when --all is specified. All eligible records will be processed.