@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,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