@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.
- package/LICENSE +81 -30
- package/README.md +59 -95
- package/messages/compatibility.check.md +71 -0
- package/messages/cuneiform.access.md +138 -0
- package/messages/definition.create.md +511 -0
- package/messages/definition.export.md +88 -0
- package/messages/definition.get.md +147 -0
- package/messages/definition.import.md +65 -0
- package/messages/definition.list.md +264 -0
- package/messages/definition.purge.md +318 -0
- package/messages/definition.update.md +80 -0
- package/messages/mcp.serve.md +66 -0
- package/messages/object.describe.md +201 -0
- package/messages/object.list.md +443 -0
- package/messages/org.details.md +386 -0
- package/messages/org.reset.md +71 -0
- package/messages/profile.md +231 -0
- package/messages/profile.request.cancel.md +143 -0
- package/messages/profile.request.delete.md +139 -0
- package/messages/profile.request.list.md +89 -0
- package/messages/summary.purge.md +218 -0
- package/messages/summary.reprofile.md +150 -0
- package/messages/summary.stop.md +157 -0
- package/messages/user.details.md +501 -0
- package/oclif.lock +3021 -2224
- package/oclif.manifest.json +2 -116
- package/package.json +84 -19
- package/lib/commands/cuneiform/about.d.ts +0 -13
- package/lib/commands/cuneiform/about.js +0 -26
- package/lib/commands/cuneiform/about.js.map +0 -1
- package/lib/commands/hello/world.d.ts +0 -14
- package/lib/commands/hello/world.js +0 -27
- package/lib/commands/hello/world.js.map +0 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.js +0 -2
- package/lib/index.js.map +0 -1
- package/messages/cuneiform.about.md +0 -19
- package/messages/hello.world.md +0 -29
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# summary
|
|
2
|
+
|
|
3
|
+
Re-submit failed or stopped profiling summaries for targeted recovery — only the failed and unprocessed fields are re-executed, preserving completed results.
|
|
4
|
+
|
|
5
|
+
# description
|
|
6
|
+
|
|
7
|
+
When a profiling run fails due to transient errors or is manually stopped, the resulting summary has gaps — some fields completed, others did not. Those gaps in the KYCD evidence persist until someone acts on them. This command re-submits those summaries for targeted recovery.
|
|
8
|
+
|
|
9
|
+
Only failed and unprocessed fields are re-executed — previously completed fields are preserved. The existing summary record is reused. No definition recreation or reconfiguration is needed. This is a fire-and-forget operation: after submission, profiling re-executes asynchronously in the org. Use `sf cuneiform definition get` to check profiling status after submission.
|
|
10
|
+
|
|
11
|
+
STOP + REPROFILE form a natural pair: use `sf cuneiform summary stop` to halt a summary and free resources, then reprofile later to complete the remaining fields. This is the standard recovery pattern for resource management and transient failure recovery.
|
|
12
|
+
|
|
13
|
+
THREE SELECTION MODES (mutually exclusive):
|
|
14
|
+
|
|
15
|
+
- **By ID** (`--ids`) — Reprofile specific summaries by Salesforce record ID
|
|
16
|
+
- **All** (`--all`) — Reprofile all eligible (failed/stopped) summaries
|
|
17
|
+
- **By object** (`--objects`) — Reprofile summaries for specific Salesforce objects
|
|
18
|
+
|
|
19
|
+
Only summaries with failed or stopped (canceled) status are eligible. In-progress and completed summaries are excluded.
|
|
20
|
+
|
|
21
|
+
WHEN TO USE:
|
|
22
|
+
|
|
23
|
+
- After stopping summaries — complete the fields that were not yet processed when the stop signal was sent
|
|
24
|
+
- After transient failures — governor limits, API timeouts, or infrastructure interruptions caused partial results
|
|
25
|
+
- Bulk recovery — re-submit all failed summaries in one command after a service disruption
|
|
26
|
+
- Object-targeted recovery — reprofile only the objects that failed while leaving successful ones untouched
|
|
27
|
+
|
|
28
|
+
NATURAL LANGUAGE → FLAG MAPPING:
|
|
29
|
+
"reprofile everything that failed" → --all
|
|
30
|
+
"reprofile just Account" → --objects Account
|
|
31
|
+
"reprofile this specific summary" → --ids a0Bxx0000001234AAA
|
|
32
|
+
"what would be reprofiled?" → --all --dry-run
|
|
33
|
+
"reprofile without asking" → --all --no-prompt
|
|
34
|
+
|
|
35
|
+
COMMAND SEQUENCE:
|
|
36
|
+
`summary stop` or failed profiling run → **`summary reprofile`** → `profile request list` (verify re-profiling completed)
|
|
37
|
+
|
|
38
|
+
# flags.target-org.summary
|
|
39
|
+
|
|
40
|
+
Re-submit profiling summaries in this Salesforce org. Specify the org alias or username when you have multiple authenticated orgs.
|
|
41
|
+
|
|
42
|
+
# flags.ids.summary
|
|
43
|
+
|
|
44
|
+
Reprofile specific summaries by Salesforce record ID (comma-separated). Use for targeted recovery of individual summaries when the failure scope is narrow. Find summary IDs with `definition get`. Mutually exclusive with --all and --objects.
|
|
45
|
+
|
|
46
|
+
# flags.all.summary
|
|
47
|
+
|
|
48
|
+
Reprofile all eligible (failed or stopped) summaries across the org. Use for bulk recovery after infrastructure events, transient API failures, or governor limit spikes that affected multiple summaries. Mutually exclusive with --ids and --objects.
|
|
49
|
+
|
|
50
|
+
# flags.objects.summary
|
|
51
|
+
|
|
52
|
+
Reprofile summaries targeting specific Salesforce objects by API name (comma-separated). Use when only certain objects need recovery while others completed successfully. Mutually exclusive with --ids and --all.
|
|
53
|
+
|
|
54
|
+
# flags.dry-run.summary
|
|
55
|
+
|
|
56
|
+
Preview which summaries would be re-profiled, showing definition key, summary key, object, status, and planned action. Use to assess recovery scope and estimate the re-execution workload before committing.
|
|
57
|
+
|
|
58
|
+
# flags.no-prompt.summary
|
|
59
|
+
|
|
60
|
+
Skip the confirmation prompt and reprofile immediately. Use in automated recovery scripts or runbooks where interactive prompts are not available.
|
|
61
|
+
|
|
62
|
+
# examples
|
|
63
|
+
|
|
64
|
+
- Preview what would be reprofiled — assess recovery scope first:
|
|
65
|
+
|
|
66
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --all --dry-run
|
|
67
|
+
|
|
68
|
+
- Reprofile all failed and stopped summaries — bulk recovery:
|
|
69
|
+
|
|
70
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --all
|
|
71
|
+
|
|
72
|
+
- Reprofile summaries for a specific object — targeted recovery:
|
|
73
|
+
|
|
74
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --objects Account
|
|
75
|
+
|
|
76
|
+
- Reprofile specific summaries by ID — surgical recovery:
|
|
77
|
+
|
|
78
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --ids a0Bxx0000001234AAA,a0Bxx0000005678AAA
|
|
79
|
+
|
|
80
|
+
- Reprofile summaries for multiple objects:
|
|
81
|
+
|
|
82
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --objects Account,Contact
|
|
83
|
+
|
|
84
|
+
- Reprofile immediately for automated recovery workflows:
|
|
85
|
+
|
|
86
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --all --no-prompt
|
|
87
|
+
|
|
88
|
+
# errors.noTargetOrg
|
|
89
|
+
|
|
90
|
+
Could not determine target org username.
|
|
91
|
+
|
|
92
|
+
# errors.noSelectionCriteria
|
|
93
|
+
|
|
94
|
+
No selection criteria specified. Provide --ids, --all, or --objects to select summaries.
|
|
95
|
+
|
|
96
|
+
# errors.mutuallyExclusive
|
|
97
|
+
|
|
98
|
+
The flags --ids, --all, and --objects are mutually exclusive. Provide only one.
|
|
99
|
+
|
|
100
|
+
# errors.noEligibleSummaries
|
|
101
|
+
|
|
102
|
+
No failed or stopped profiling summaries found matching the specified criteria.
|
|
103
|
+
|
|
104
|
+
# errors.queryFailed
|
|
105
|
+
|
|
106
|
+
Failed to query summaries: %s
|
|
107
|
+
|
|
108
|
+
# errors.reprofileFailed
|
|
109
|
+
|
|
110
|
+
Failed to reprofile summaries: %s
|
|
111
|
+
|
|
112
|
+
# prompt.confirm.singular
|
|
113
|
+
|
|
114
|
+
Reprofile this summary?
|
|
115
|
+
|
|
116
|
+
# prompt.confirm.plural
|
|
117
|
+
|
|
118
|
+
Reprofile these %s summaries?
|
|
119
|
+
|
|
120
|
+
# output.noEligible.message
|
|
121
|
+
|
|
122
|
+
No failed or stopped summaries were found matching the specified criteria.
|
|
123
|
+
|
|
124
|
+
# output.noEligible.guidance
|
|
125
|
+
|
|
126
|
+
- Please check your filters and confirm that failed or stopped summaries exist in your Salesforce org.
|
|
127
|
+
|
|
128
|
+
# output.cancelled
|
|
129
|
+
|
|
130
|
+
Reprofile cancelled. No summaries were submitted.
|
|
131
|
+
|
|
132
|
+
# output.dryRunBanner
|
|
133
|
+
|
|
134
|
+
[DRY RUN] Would reprofile %s summary(ies). No changes made.
|
|
135
|
+
|
|
136
|
+
# output.summary.submitted
|
|
137
|
+
|
|
138
|
+
Submitted
|
|
139
|
+
|
|
140
|
+
# output.summary.failed
|
|
141
|
+
|
|
142
|
+
Failed
|
|
143
|
+
|
|
144
|
+
# output.summary.total
|
|
145
|
+
|
|
146
|
+
Total
|
|
147
|
+
|
|
148
|
+
# output.summaryHeader
|
|
149
|
+
|
|
150
|
+
Summary
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# summary
|
|
2
|
+
|
|
3
|
+
Send a stop signal to in-progress profiling summaries — halt execution to free org resources, preserving fields that already completed.
|
|
4
|
+
|
|
5
|
+
# description
|
|
6
|
+
|
|
7
|
+
Profiling runs in the background and consumes org resources — API calls, processing time, and storage writes. When a profiling run needs to yield — because of resource contention, a scheduling conflict, or a configuration issue — this command provides immediate control.
|
|
8
|
+
|
|
9
|
+
The stop signal is sent and the command returns immediately (fire-and-forget). The backend handles the actual halting asynchronously. Fields that completed before the stop are preserved; unprocessed and in-progress fields are marked as failed. The summary status transitions to canceled.
|
|
10
|
+
|
|
11
|
+
IMPORTANT: This command stops SUMMARIES, not requests. Summaries are the execution records created after a profiling request is processed. To prevent queued requests from being processed, use `sf cuneiform profile request cancel` instead.
|
|
12
|
+
|
|
13
|
+
STOP vs CANCEL — these address different objects at different lifecycle stages:
|
|
14
|
+
|
|
15
|
+
- **Cancel** prevents a Request from being processed. No Summary is created.
|
|
16
|
+
- **Stop** halts an active Summary. Partially completed results are preserved.
|
|
17
|
+
|
|
18
|
+
STOP + REPROFILE form a natural pair: stop a summary to release resources now, then use `sf cuneiform summary reprofile` later to re-execute only the failed and unprocessed fields. The existing summary is reused — no reconfiguration needed.
|
|
19
|
+
|
|
20
|
+
THREE SELECTION MODES (mutually exclusive):
|
|
21
|
+
|
|
22
|
+
- **By ID** (`--ids`) — Stop specific summaries by Salesforce record ID
|
|
23
|
+
- **All** (`--all`) — Stop all in-progress summaries
|
|
24
|
+
- **By object** (`--objects`) — Stop summaries for specific Salesforce objects
|
|
25
|
+
|
|
26
|
+
Only summaries with in-progress profiling status are eligible. Completed, failed, and canceled summaries are excluded.
|
|
27
|
+
|
|
28
|
+
WHEN TO USE:
|
|
29
|
+
|
|
30
|
+
- Peak hours resource management — halt profiling to free API capacity, reprofile during off-hours
|
|
31
|
+
- Long-running profiling on a large object — stop one object while others continue
|
|
32
|
+
- Pre-maintenance window — stop active summaries before planned downtime
|
|
33
|
+
- Definition adjustment — stop a run, fix the definition, then reprofile
|
|
34
|
+
|
|
35
|
+
NATURAL LANGUAGE → FLAG MAPPING:
|
|
36
|
+
"stop everything" → --all
|
|
37
|
+
"stop just Account profiling" → --objects Account
|
|
38
|
+
"stop this specific summary" → --ids a0Bxx0000001234AAA
|
|
39
|
+
"what would be stopped?" → --all --dry-run
|
|
40
|
+
"stop without asking" → --all --no-prompt
|
|
41
|
+
|
|
42
|
+
COMMAND SEQUENCE:
|
|
43
|
+
`profile request list` (identify resource-consuming runs) → **`summary stop`** → `summary reprofile` (re-execute when conditions are appropriate)
|
|
44
|
+
|
|
45
|
+
# flags.target-org.summary
|
|
46
|
+
|
|
47
|
+
Stop profiling summaries in this Salesforce org. Specify the org alias or username when you have multiple authenticated orgs.
|
|
48
|
+
|
|
49
|
+
# flags.ids.summary
|
|
50
|
+
|
|
51
|
+
Stop specific profiling summaries by Salesforce record ID (comma-separated). Use for targeted halting when only some summaries need to stop. Find summary IDs with `definition get`. Mutually exclusive with --all and --objects.
|
|
52
|
+
|
|
53
|
+
# flags.all.summary
|
|
54
|
+
|
|
55
|
+
Stop all in-progress profiling summaries across the org. Use for peak hours resource management, pre-maintenance windows, or when the org needs its full API capacity immediately. Mutually exclusive with --ids and --objects.
|
|
56
|
+
|
|
57
|
+
# flags.objects.summary
|
|
58
|
+
|
|
59
|
+
Stop profiling for specific Salesforce objects by API name (comma-separated). Use when one object is consuming disproportionate resources while profiling on other objects should continue. Mutually exclusive with --ids and --all.
|
|
60
|
+
|
|
61
|
+
# flags.dry-run.summary
|
|
62
|
+
|
|
63
|
+
Preview which summaries would be stopped, showing definition key, summary key, object, status, and planned action. Use to verify scope before sending stop signals — especially important with --all.
|
|
64
|
+
|
|
65
|
+
# flags.no-prompt.summary
|
|
66
|
+
|
|
67
|
+
Skip the confirmation prompt and send stop signals immediately. Use in automated scripts, runbooks, or time-sensitive situations where interactive prompts are not practical.
|
|
68
|
+
|
|
69
|
+
# examples
|
|
70
|
+
|
|
71
|
+
- Preview what would be stopped — verify scope before committing:
|
|
72
|
+
|
|
73
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --all --dry-run
|
|
74
|
+
|
|
75
|
+
- Stop all in-progress summaries — free resources during peak hours:
|
|
76
|
+
|
|
77
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --all
|
|
78
|
+
|
|
79
|
+
- Stop profiling for a specific object while others continue:
|
|
80
|
+
|
|
81
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --objects Account
|
|
82
|
+
|
|
83
|
+
- Stop specific summaries by ID — targeted precision:
|
|
84
|
+
|
|
85
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --ids a0Bxx0000001234AAA,a0Bxx0000005678AAA
|
|
86
|
+
|
|
87
|
+
- Stop profiling for multiple objects at once:
|
|
88
|
+
|
|
89
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --objects Account,Contact
|
|
90
|
+
|
|
91
|
+
- Stop immediately for automated runbooks:
|
|
92
|
+
|
|
93
|
+
<%= config.bin %> <%= command.id %> --target-org myOrg --all --no-prompt
|
|
94
|
+
|
|
95
|
+
# errors.noTargetOrg
|
|
96
|
+
|
|
97
|
+
Could not determine target org username.
|
|
98
|
+
|
|
99
|
+
# errors.noSelectionCriteria
|
|
100
|
+
|
|
101
|
+
No selection criteria specified. Provide --ids, --all, or --objects to select summaries.
|
|
102
|
+
|
|
103
|
+
# errors.mutuallyExclusive
|
|
104
|
+
|
|
105
|
+
The flags --ids, --all, and --objects are mutually exclusive. Provide only one.
|
|
106
|
+
|
|
107
|
+
# errors.noEligibleSummaries
|
|
108
|
+
|
|
109
|
+
No in-progress profiling summaries found matching the specified criteria.
|
|
110
|
+
|
|
111
|
+
# errors.queryFailed
|
|
112
|
+
|
|
113
|
+
Failed to query summaries: %s
|
|
114
|
+
|
|
115
|
+
# errors.stopFailed
|
|
116
|
+
|
|
117
|
+
Failed to stop summaries: %s
|
|
118
|
+
|
|
119
|
+
# prompt.confirm.singular
|
|
120
|
+
|
|
121
|
+
Stop profiling for this summary?
|
|
122
|
+
|
|
123
|
+
# prompt.confirm.plural
|
|
124
|
+
|
|
125
|
+
Stop profiling for these %s summaries?
|
|
126
|
+
|
|
127
|
+
# output.noEligible.message
|
|
128
|
+
|
|
129
|
+
No in-progress summaries were found matching the specified criteria.
|
|
130
|
+
|
|
131
|
+
# output.noEligible.guidance
|
|
132
|
+
|
|
133
|
+
- Please check your filters and confirm that in-progress summaries exist in your Salesforce org.
|
|
134
|
+
|
|
135
|
+
# output.cancelled
|
|
136
|
+
|
|
137
|
+
Stop cancelled. No summaries were stopped.
|
|
138
|
+
|
|
139
|
+
# output.dryRunBanner
|
|
140
|
+
|
|
141
|
+
[DRY RUN] Would stop %s summary(ies). No changes made.
|
|
142
|
+
|
|
143
|
+
# output.summary.stopped
|
|
144
|
+
|
|
145
|
+
Stopped
|
|
146
|
+
|
|
147
|
+
# output.summary.failed
|
|
148
|
+
|
|
149
|
+
Failed
|
|
150
|
+
|
|
151
|
+
# output.summary.total
|
|
152
|
+
|
|
153
|
+
Total
|
|
154
|
+
|
|
155
|
+
# output.summaryHeader
|
|
156
|
+
|
|
157
|
+
Summary
|