@simplysf/simply 3.1.0 → 3.3.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 (2) hide show
  1. package/README.md +715 -49
  2. package/package.json +13 -10
package/README.md CHANGED
@@ -20,20 +20,30 @@ This package is part of the [`@simplysf/simply`](https://github.com/SimplySF/sim
20
20
 
21
21
  <!-- commands -->
22
22
 
23
+ - [`sf simply aep at4dx binding list`](#sf-simply-aep-at4dx-binding-list)
24
+ - [`sf simply aep at4dx domain-process-binding create`](#sf-simply-aep-at4dx-domain-process-binding-create)
25
+ - [`sf simply aep at4dx domain-process-binding list`](#sf-simply-aep-at4dx-domain-process-binding-list)
26
+ - [`sf simply aep at4dx domain-process-binding set`](#sf-simply-aep-at4dx-domain-process-binding-set)
27
+ - [`sf simply aep at4dx domain-process-binding validate`](#sf-simply-aep-at4dx-domain-process-binding-validate)
23
28
  - [`sf simply apex execute`](#sf-simply-apex-execute)
24
29
  - [`sf simply apex logs purge`](#sf-simply-apex-logs-purge)
25
30
  - [`sf simply apex trace setup`](#sf-simply-apex-trace-setup)
26
31
  - [`sf simply apex trace silence`](#sf-simply-apex-trace-silence)
27
32
  - [`sf simply community publish`](#sf-simply-community-publish)
33
+ - [`sf simply community url set`](#sf-simply-community-url-set)
28
34
  - [`sf simply data file upload`](#sf-simply-data-file-upload)
29
35
  - [`sf simply data files download`](#sf-simply-data-files-download)
30
36
  - [`sf simply data files upload`](#sf-simply-data-files-upload)
31
37
  - [`sf simply document diff`](#sf-simply-document-diff)
32
38
  - [`sf simply document generate`](#sf-simply-document-generate)
39
+ - [`sf simply flow delete`](#sf-simply-flow-delete)
40
+ - [`sf simply flow version prune`](#sf-simply-flow-version-prune)
33
41
  - [`sf simply package dependencies install`](#sf-simply-package-dependencies-install)
34
42
  - [`sf simply package dependencies manage`](#sf-simply-package-dependencies-manage)
35
43
  - [`sf simply package version cleanup`](#sf-simply-package-version-cleanup)
44
+ - [`sf simply package version get`](#sf-simply-package-version-get)
36
45
  - [`sf simply permissions analyze`](#sf-simply-permissions-analyze)
46
+ - [`sf simply permissions assignment delete`](#sf-simply-permissions-assignment-delete)
37
47
  - [`sf simply permissions build`](#sf-simply-permissions-build)
38
48
  - [`sf simply project update api-version`](#sf-simply-project-update-api-version)
39
49
  - [`sf simply schema generate`](#sf-simply-schema-generate)
@@ -44,6 +54,319 @@ This package is part of the [`@simplysf/simply`](https://github.com/SimplySF/sim
44
54
  - [`sf simply sobject history query`](#sf-simply-sobject-history-query)
45
55
  - [`sf simply sobject history schema`](#sf-simply-sobject-history-schema)
46
56
 
57
+ ## `sf simply aep at4dx binding list`
58
+
59
+ List the AT4DX Application Factory bindings configured in an org or local source, resolved to show which record wins for each binding key.
60
+
61
+ ```
62
+ USAGE
63
+ $ sf simply aep at4dx binding list [--json] [--flags-dir <value>] [-o <value>] [--api-version <value>] [-d <value>...] [-t
64
+ service|selector|domain|unit-of-work...] [--effective-only]
65
+
66
+ FLAGS
67
+ -d, --source-dir=<value>... One or more paths to directories containing Salesforce DX source. Use this for
68
+ local-source discovery.
69
+ -o, --target-org=<value> Username or alias of the org to read bindings from. Use this for live-org discovery.
70
+ -t, --type=<option>... Binding type(s) to include: service, selector, domain, unit-of-work.
71
+ <options: service|selector|domain|unit-of-work>
72
+ --api-version=<value> Override the api version used for api requests made by this command
73
+ --effective-only Only show the bindings that actually win for their key; hide shadowed/non-winning
74
+ records.
75
+
76
+ GLOBAL FLAGS
77
+ --flags-dir=<value> Import flag values from a directory.
78
+ --json Format output as json.
79
+
80
+ DESCRIPTION
81
+ List the AT4DX Application Factory bindings configured in an org or local source, resolved to show which record wins
82
+ for each binding key.
83
+
84
+ Reads the four AT4DX Application Factory Custom Metadata Types — `ApplicationFactory_ServiceBinding__mdt`,
85
+ `ApplicationFactory_SelectorBinding__mdt`, `ApplicationFactory_DomainBinding__mdt`, and
86
+ `ApplicationFactory_UnitOfWorkBinding__mdt` — either from a live org or from local Salesforce DX source, and
87
+ reproduces the resolution rules AT4DX applies at runtime so you can see which record actually wins for a given
88
+ interface or SObject, and which ones are shadowed. Exactly one of `--target-org` or `--source-dir` must be specified.
89
+
90
+ Service and Selector bindings resolve deterministically on `Priority__c` (highest wins). Domain bindings have no
91
+ priority field, so a duplicated key is flagged `ambiguous` rather than reporting a guessed winner. UnitOfWork bindings
92
+ have no winner concept at all — every record contributes to one ordered registration list.
93
+
94
+ EXAMPLES
95
+ $ sf simply aep at4dx binding list --target-org myOrg
96
+
97
+ $ sf simply aep at4dx binding list --source-dir sfdx-source/core --source-dir sfdx-source/app
98
+
99
+ $ sf simply aep at4dx binding list --target-org myOrg --type service,selector
100
+
101
+ $ sf simply aep at4dx binding list --target-org myOrg --effective-only --json
102
+
103
+ FLAG DESCRIPTIONS
104
+ -t, --type=service|selector|domain|unit-of-work...
105
+
106
+ Binding type(s) to include: service, selector, domain, unit-of-work.
107
+
108
+ Comma-separated list of binding types to include. If not specified, all four are included.
109
+ ```
110
+
111
+ _See code: [@simplysf/simply-aep](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-aep@0.6.1/packages/simply-aep/lib/commands/simply/aep/at4dx/binding/list.js)_
112
+
113
+ ## `sf simply aep at4dx domain-process-binding create`
114
+
115
+ Create a new AT4DX Trigger Action Framework binding (DomainProcessBinding__mdt) in local source and/or a connected org.
116
+
117
+ ```
118
+ USAGE
119
+ $ sf simply aep at4dx domain-process-binding create -n <value> -s <value> --process-context TriggerExecution|DomainMethodExecution -t
120
+ Action|Criteria -c <value> --order <value> [--json] [--flags-dir <value>] [-d <value>] [-o <value>] [--api-version
121
+ <value>] [--wait <value>] [--label <value>] [--sobject-alternate] [--trigger-operation
122
+ Before_Insert|After_Insert|Before_Update|After_Update|Before_Delete|After_Delete|After_Undelete]
123
+ [--domain-method-token <value>] [--active] [--execute-asynchronous] [--logical-inverse] [--prevent-recursive]
124
+ [--description <value>] [--force]
125
+
126
+ FLAGS
127
+ -c, --class-to-inject=<value> (required) The Apex class this binding wires in.
128
+ -d, --source-dir=<value> The package directory to create
129
+ customMetadata/DomainProcessBinding.<name>.md-meta.xml under. Created if the
130
+ customMetadata folder doesn't exist yet.
131
+ -n, --developer-name=<value> (required) The binding's DeveloperName. Must start with a letter, contain only
132
+ letters, numbers, and single underscores, not end with an underscore, and be 40
133
+ characters or fewer.
134
+ -o, --target-org=<value> Deploy the generated binding to this org after writing it.
135
+ -s, --sobject=<value> (required) The SObject API name to bind against.
136
+ -t, --type=<option> (required) Whether this binding contributes a Criteria filter or an Action.
137
+ <options: Action|Criteria>
138
+ --[no-]active IsActive__c.
139
+ --api-version=<value> Override the api version used for api requests made by this command
140
+ --description=<value> Description__c.
141
+ --domain-method-token=<value> The domain method's process token this binding matches. Required, and only allowed,
142
+ when --process-context is DomainMethodExecution.
143
+ --execute-asynchronous ExecuteAsynchronous__c.
144
+ --force Write (and deploy) even if validation finds an error-severity issue. Validation
145
+ still runs and its issues are still printed and returned.
146
+ --label=<value> The binding's label. Defaults to --developer-name. Must be 40 characters or fewer.
147
+ --logical-inverse LogicalInverse__c.
148
+ --order=<value> (required) OrderOfExecution__c. Numeric; decimals are allowed.
149
+ --prevent-recursive PreventRecursive__c.
150
+ --process-context=<option> (required) What kind of process invokes this binding: TriggerExecution or
151
+ DomainMethodExecution.
152
+ <options: TriggerExecution|DomainMethodExecution>
153
+ --[no-]sobject-alternate Write --sobject to RelatedDomainBindingSObjectAlternate__c instead of
154
+ RelatedDomainBindingSObject__c. Use this for a SObject that can't be referenced
155
+ through an EntityDefinition field at all (for example ServiceResource and other
156
+ Setup objects).
157
+ --trigger-operation=<option> The trigger event this binding fires on. Required, and only allowed, when
158
+ --process-context is TriggerExecution.
159
+ <options: Before_Insert|After_Insert|Before_Update|After_Update|Before_Delete|After
160
+ _Delete|After_Undelete>
161
+ --wait=<value> [default: 33] Deploy poll timeout, in minutes. Only meaningful with --target-org.
162
+
163
+ GLOBAL FLAGS
164
+ --flags-dir=<value> Import flag values from a directory.
165
+ --json Format output as json.
166
+
167
+ DESCRIPTION
168
+ Create a new AT4DX Trigger Action Framework binding (DomainProcessBinding__mdt) in local source and/or a connected
169
+ org.
170
+
171
+ Generates a `DomainProcessBinding.<DeveloperName>.md-meta.xml` file from the given flags and writes it under
172
+ --source-dir, deploys it to --target-org, or both. Validates the resulting binding — alongside everything else already
173
+ in scope — with the same rules `simply aep at4dx domain-process-binding validate` uses, and refuses to write if that
174
+ introduces an error-severity issue unless --force is passed. At least one of --source-dir/--target-org is required;
175
+ unlike `list`/`validate`, both may be given at once (write to source and deploy it live in the same run). Given
176
+ --target-org alone, the file is written to a temporary directory, deployed, and discarded — no working-tree footprint.
177
+
178
+ Writes RelatedDomainBindingSObject__c by default. Pass --sobject-alternate to write
179
+ RelatedDomainBindingSObjectAlternate__c instead, for a SObject (such as ServiceResource and other Setup objects) that
180
+ can't be referenced through an EntityDefinition field at all.
181
+
182
+ EXAMPLES
183
+ $ sf simply aep at4dx domain-process-binding create --source-dir sfdx-source/core --developer-name Account_Before_Insert_Assign_Owner --sobject Account --process-context TriggerExecution --trigger-operation Before_Insert --type Action --class-to-inject AccountAssignOwnerAction --order 10
184
+
185
+ $ sf simply aep at4dx domain-process-binding create --target-org myOrg --developer-name Account_Before_Insert_Assign_Owner --sobject Account --process-context TriggerExecution --trigger-operation Before_Insert --type Action --class-to-inject AccountAssignOwnerAction --order 10
186
+
187
+ $ sf simply aep at4dx domain-process-binding create --source-dir sfdx-source/core --target-org myOrg --developer-name Account_Before_Insert_Assign_Owner --sobject Account --process-context TriggerExecution --trigger-operation Before_Insert --type Action --class-to-inject AccountAssignOwnerAction --order 10
188
+
189
+ $ sf simply aep at4dx domain-process-binding create --source-dir sfdx-source/core --developer-name ServiceResource_Before_Update_Sync --sobject ServiceResource --sobject-alternate --process-context TriggerExecution --trigger-operation Before_Update --type Action --class-to-inject ServiceResourceSyncAction --order 10
190
+ ```
191
+
192
+ _See code: [@simplysf/simply-aep](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-aep@0.6.1/packages/simply-aep/lib/commands/simply/aep/at4dx/domain-process-binding/create.js)_
193
+
194
+ ## `sf simply aep at4dx domain-process-binding list`
195
+
196
+ List the AT4DX Trigger Action Framework bindings configured in an org or local source, in execution order.
197
+
198
+ ```
199
+ USAGE
200
+ $ sf simply aep at4dx domain-process-binding list [--json] [--flags-dir <value>] [-o <value>] [--api-version <value>] [-d <value>...] [-s
201
+ <value>...] [--active-only]
202
+
203
+ FLAGS
204
+ -d, --source-dir=<value>... One or more paths to directories containing Salesforce DX source. Use this for
205
+ local-source discovery.
206
+ -o, --target-org=<value> Username or alias of the org to read bindings from. Use this for live-org discovery.
207
+ -s, --sobject=<value>... SObject API name(s) to filter to. If not specified, bindings for every SObject are
208
+ included.
209
+ --active-only Only show active bindings; hide inactive records.
210
+ --api-version=<value> Override the api version used for api requests made by this command
211
+
212
+ GLOBAL FLAGS
213
+ --flags-dir=<value> Import flag values from a directory.
214
+ --json Format output as json.
215
+
216
+ DESCRIPTION
217
+ List the AT4DX Trigger Action Framework bindings configured in an org or local source, in execution order.
218
+
219
+ Reads AT4DX's Trigger Action Framework Custom Metadata Type — `DomainProcessBinding__mdt` — either from a live org or
220
+ from local Salesforce DX source, showing which criteria/action classes are bound to each SObject's trigger events (or
221
+ domain method tokens), and the order they run in. Exactly one of `--target-org` or `--source-dir` must be specified.
222
+
223
+ Unlike `simply aep at4dx binding list`, there's no "winner" here — every active record in a group (same SObject,
224
+ process context, and trigger operation or domain method token) runs, in `OrderOfExecution__c` order. Two active
225
+ records sharing the same order within a group are flagged as a collision, since AT4DX doesn't guarantee which one runs
226
+ first in that case.
227
+
228
+ EXAMPLES
229
+ $ sf simply aep at4dx domain-process-binding list --target-org myOrg
230
+
231
+ $ sf simply aep at4dx domain-process-binding list --source-dir sfdx-source/core --source-dir sfdx-source/app
232
+
233
+ $ sf simply aep at4dx domain-process-binding list --target-org myOrg --sobject Account
234
+
235
+ $ sf simply aep at4dx domain-process-binding list --target-org myOrg --active-only --json
236
+ ```
237
+
238
+ _See code: [@simplysf/simply-aep](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-aep@0.6.1/packages/simply-aep/lib/commands/simply/aep/at4dx/domain-process-binding/list.js)_
239
+
240
+ ## `sf simply aep at4dx domain-process-binding set`
241
+
242
+ Update an existing AT4DX Trigger Action Framework binding (DomainProcessBinding__mdt) in local source and/or a connected org.
243
+
244
+ ```
245
+ USAGE
246
+ $ sf simply aep at4dx domain-process-binding set -n <value> [--json] [--flags-dir <value>] [-d <value>...] [-o <value>] [--api-version <value>]
247
+ [--wait <value>] [--label <value>] [-s <value>] [--sobject-alternate] [--process-context
248
+ TriggerExecution|DomainMethodExecution] [--trigger-operation
249
+ Before_Insert|After_Insert|Before_Update|After_Update|Before_Delete|After_Delete|After_Undelete]
250
+ [--domain-method-token <value>] [-t Action|Criteria] [-c <value>] [--order <value>] [--active]
251
+ [--execute-asynchronous] [--logical-inverse] [--prevent-recursive] [--description <value>] [--force]
252
+
253
+ FLAGS
254
+ -c, --class-to-inject=<value> The Apex class this binding wires in. If not given, the existing value is kept.
255
+ -d, --source-dir=<value>... One or more paths to directories containing Salesforce DX source, searched for the
256
+ binding to update.
257
+ -n, --developer-name=<value> (required) The DeveloperName of the binding to update.
258
+ -o, --target-org=<value> Locate (when --source-dir isn't given) and/or deploy the binding to this org.
259
+ -s, --sobject=<value> The SObject API name to bind against. If not given, the existing value is kept.
260
+ -t, --type=<option> Whether this binding contributes a Criteria filter or an Action. If not given, the
261
+ existing value is kept.
262
+ <options: Action|Criteria>
263
+ --[no-]active IsActive__c. If not given, the existing value is kept.
264
+ --api-version=<value> Override the api version used for api requests made by this command
265
+ --description=<value> Description__c. If not given, the existing value is kept.
266
+ --domain-method-token=<value> The domain method's process token this binding matches. If you change
267
+ --process-context to DomainMethodExecution, pass this too.
268
+ --[no-]execute-asynchronous ExecuteAsynchronous__c. If not given, the existing value is kept.
269
+ --force Write (and deploy) even if validation finds an error-severity issue. Validation
270
+ still runs and its issues are still printed and returned.
271
+ --label=<value> The binding's label. If not given, the existing label is kept.
272
+ --[no-]logical-inverse LogicalInverse__c. If not given, the existing value is kept.
273
+ --order=<value> OrderOfExecution__c. Numeric; decimals are allowed. If not given, the existing
274
+ value is kept.
275
+ --[no-]prevent-recursive PreventRecursive__c. If not given, the existing value is kept.
276
+ --process-context=<option> What kind of process invokes this binding: TriggerExecution or
277
+ DomainMethodExecution. If not given, the existing value is kept.
278
+ <options: TriggerExecution|DomainMethodExecution>
279
+ --[no-]sobject-alternate Write --sobject to RelatedDomainBindingSObjectAlternate__c instead of
280
+ RelatedDomainBindingSObject__c, for a SObject that can't be referenced through an
281
+ EntityDefinition field at all (for example ServiceResource and other Setup
282
+ objects). If not given, the binding keeps whichever field it already uses — this
283
+ flag only needs to be passed to change it.
284
+ --trigger-operation=<option> The trigger event this binding fires on. If you change --process-context to
285
+ TriggerExecution, pass this too.
286
+ <options: Before_Insert|After_Insert|Before_Update|After_Update|Before_Delete|After
287
+ _Delete|After_Undelete>
288
+ --wait=<value> [default: 33] Deploy poll timeout, in minutes. Only meaningful with --target-org.
289
+
290
+ GLOBAL FLAGS
291
+ --flags-dir=<value> Import flag values from a directory.
292
+ --json Format output as json.
293
+
294
+ DESCRIPTION
295
+ Update an existing AT4DX Trigger Action Framework binding (DomainProcessBinding__mdt) in local source and/or a
296
+ connected org.
297
+
298
+ Finds the binding named --developer-name in local source and/or a connected org, applies only the fields given as
299
+ flags — everything else, including which SObject reference field the binding uses, is preserved from the found record
300
+ — and rewrites the `DomainProcessBinding.<DeveloperName>.md-meta.xml` file. Validates the resulting binding —
301
+ alongside everything else already in scope — with the same rules `simply aep at4dx domain-process-binding validate`
302
+ uses, and refuses to write if that introduces an error-severity issue unless --force is passed.
303
+
304
+ When --source-dir is given, the binding is located there (searched across every directory given, same as
305
+ `list`/`validate`) and that exact file is rewritten; the found file is also deployed if --target-org is given. When
306
+ only --target-org is given, the binding is located and updated directly in the org via a temporary file, deployed,
307
+ then discarded — no working-tree footprint.
308
+
309
+ --developer-name identifies the binding to update and can't itself be changed by this command.
310
+
311
+ EXAMPLES
312
+ $ sf simply aep at4dx domain-process-binding set --source-dir sfdx-source/core --source-dir sfdx-source/app --developer-name Account_Before_Insert_Assign_Owner --order 20 --no-active
313
+
314
+ $ sf simply aep at4dx domain-process-binding set --target-org myOrg --developer-name Account_Before_Insert_Assign_Owner --class-to-inject AccountAssignOwnerActionV2
315
+ ```
316
+
317
+ _See code: [@simplysf/simply-aep](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-aep@0.6.1/packages/simply-aep/lib/commands/simply/aep/at4dx/domain-process-binding/set.js)_
318
+
319
+ ## `sf simply aep at4dx domain-process-binding validate`
320
+
321
+ Validate the AT4DX Trigger Action Framework bindings configured in an org or local source, failing when a wiring problem is found.
322
+
323
+ ```
324
+ USAGE
325
+ $ sf simply aep at4dx domain-process-binding validate [--json] [--flags-dir <value>] [-o <value>] [--api-version <value>] [-d <value>...] [-s
326
+ <value>...]
327
+
328
+ FLAGS
329
+ -d, --source-dir=<value>... One or more paths to directories containing Salesforce DX source. Use this for
330
+ local-source discovery.
331
+ -o, --target-org=<value> Username or alias of the org to read bindings from. Use this for live-org discovery.
332
+ -s, --sobject=<value>... SObject API name(s) to filter to. Applies only to issues that name an SObject; issues
333
+ that span the whole scan (a duplicate DeveloperName, or a binding with no resolvable
334
+ SObject) are always reported, since filtering could hide the exact conflict they exist to
335
+ catch. If not specified, every issue is included.
336
+ --api-version=<value> Override the api version used for api requests made by this command
337
+
338
+ GLOBAL FLAGS
339
+ --flags-dir=<value> Import flag values from a directory.
340
+ --json Format output as json.
341
+
342
+ DESCRIPTION
343
+ Validate the AT4DX Trigger Action Framework bindings configured in an org or local source, failing when a wiring
344
+ problem is found.
345
+
346
+ Reads AT4DX's Trigger Action Framework Custom Metadata Type — `DomainProcessBinding__mdt` — either from a live org or
347
+ from local Salesforce DX source, and checks it for problems `simply aep at4dx domain-process-binding list` doesn't
348
+ fail on: two active records silently fighting over the same execution slot, a binding with no resolvable SObject, a
349
+ binding whose declared process context doesn't match the field that's actually populated (so it never runs), the same
350
+ DeveloperName defined more than once, and an ambiguous SObject reference. Exactly one of `--target-org` or
351
+ `--source-dir` must be specified.
352
+
353
+ Prints a table of every issue found. When --sobject is specified, scan-wide issues (a duplicate DeveloperName, or a
354
+ binding with no resolvable SObject) print in their own section below the filtered table, since they can't be
355
+ attributed to one SObject. Exits non-zero when any issue is an error (a warning alone doesn't fail the command) — use
356
+ this in CI to gate on AT4DX wiring problems before they reach an org.
357
+
358
+ EXAMPLES
359
+ $ sf simply aep at4dx domain-process-binding validate --target-org myOrg
360
+
361
+ $ sf simply aep at4dx domain-process-binding validate --source-dir sfdx-source/core --source-dir sfdx-source/app
362
+
363
+ $ sf simply aep at4dx domain-process-binding validate --target-org myOrg --sobject Account
364
+
365
+ $ sf simply aep at4dx domain-process-binding validate --target-org myOrg --json
366
+ ```
367
+
368
+ _See code: [@simplysf/simply-aep](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-aep@0.6.1/packages/simply-aep/lib/commands/simply/aep/at4dx/domain-process-binding/validate.js)_
369
+
47
370
  ## `sf simply apex execute`
48
371
 
49
372
  Execute anonymous Apex code.
@@ -77,7 +400,7 @@ FLAG DESCRIPTIONS
77
400
  The path to the local .apex file containing the anonymous Apex code to execute.
78
401
  ```
79
402
 
80
- _See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.2/packages/simply-apex/lib/commands/simply/apex/execute.js)_
403
+ _See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.6/packages/simply-apex/lib/commands/simply/apex/execute.js)_
81
404
 
82
405
  ## `sf simply apex logs purge`
83
406
 
@@ -133,7 +456,7 @@ FLAG DESCRIPTIONS
133
456
  elapses, then throws.
134
457
  ```
135
458
 
136
- _See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.2/packages/simply-apex/lib/commands/simply/apex/logs/purge.js)_
459
+ _See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.6/packages/simply-apex/lib/commands/simply/apex/logs/purge.js)_
137
460
 
138
461
  ## `sf simply apex trace setup`
139
462
 
@@ -193,7 +516,7 @@ FLAG DESCRIPTIONS
193
516
  Defaults to the current date/time.
194
517
  ```
195
518
 
196
- _See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.2/packages/simply-apex/lib/commands/simply/apex/trace/setup.js)_
519
+ _See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.6/packages/simply-apex/lib/commands/simply/apex/trace/setup.js)_
197
520
 
198
521
  ## `sf simply apex trace silence`
199
522
 
@@ -257,7 +580,7 @@ FLAG DESCRIPTIONS
257
580
  Adds di_Binding, di_Module, di_PlatformCache, and di_Injector to the classes to silence.
258
581
  ```
259
582
 
260
- _See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.2/packages/simply-apex/lib/commands/simply/apex/trace/silence.js)_
583
+ _See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.6/packages/simply-apex/lib/commands/simply/apex/trace/silence.js)_
261
584
 
262
585
  ## `sf simply community publish`
263
586
 
@@ -306,7 +629,81 @@ EXAMPLES
306
629
  $ sf simply community publish --target-org my-org --name "My Community" --ignore-errors
307
630
  ```
308
631
 
309
- _See code: [@simplysf/simply-community](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-community@0.1.0/packages/simply-community/lib/commands/simply/community/publish.js)_
632
+ _See code: [@simplysf/simply-community](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-community@0.6.2/packages/simply-community/lib/commands/simply/community/publish.js)_
633
+
634
+ ## `sf simply community url set`
635
+
636
+ Set an Experience Cloud site's custom domain (and optionally its URL path prefix) by patching the site's metadata in place.
637
+
638
+ ```
639
+ USAGE
640
+ $ sf simply community url set -s <value> -d <value> [--json] [--flags-dir <value>] [-p <value>] [--primary] [--directory
641
+ <value>] [--deploy] [--publish] [-o <value>] [--api-version <value>] [-w <value>] [--ignore-missing-domain]
642
+
643
+ FLAGS
644
+ -d, --domain=<value> (required) Fully qualified custom domain to set, e.g. `partners.acme.com`. Must already
645
+ be registered in the target org (Setup → Custom URLs); this command cannot register one.
646
+ -o, --target-org=<value> Username or alias of the target org.
647
+ -p, --path-prefix=<value> URL path prefix. When given, written to both the site file and the `Network` metadata
648
+ file that references the site.
649
+ -s, --site=<value> (required) CustomSite API name — the basename of `sites/<name>.site-meta.xml`.
650
+ -w, --wait=<value> [default: 33] Minutes to wait for the deploy to complete before giving up. Matches `sf
651
+ project deploy start`'s default of 33. Only relevant with --deploy.
652
+ --api-version=<value> Override the api version used for api requests made by this command
653
+ --deploy Deploy the files this command changed, then restore their original contents so the
654
+ working tree ends up unmodified. Requires --target-org.
655
+ --directory=<value> Root directory to search for the site (and, if needed, network) metadata files. Defaults
656
+ to searching every package directory listed in sfdx-project.json. Also used as the
657
+ destination if the site file needs to be retrieved from --target-org, defaulting in that
658
+ case to the project's default package directory.
659
+ --ignore-missing-domain Downgrade "domain is not registered in this org" from an error to a warning, and proceed
660
+ anyway. Has no effect without --target-org, since there's no check to ignore.
661
+ --[no-]primary Whether the custom domain entry is the site's primary URL. Pass --no-primary to set it
662
+ false. Defaults to true.
663
+ --publish After a successful deploy, publish the site and wait for the publish to complete.
664
+ Requires --deploy.
665
+
666
+ GLOBAL FLAGS
667
+ --flags-dir=<value> Import flag values from a directory.
668
+ --json Format output as json.
669
+
670
+ DESCRIPTION
671
+ Set an Experience Cloud site's custom domain (and optionally its URL path prefix) by patching the site's metadata in
672
+ place.
673
+
674
+ Patches `sites/<Site>.site-meta.xml` — replacing its `customWebAddresses` with a single entry for `--domain` — and,
675
+ when `--path-prefix` is given, also patches `urlPathPrefix` on both that file and the `Network` metadata file that
676
+ references the site. It does not touch anything else, and by default it does not deploy: this is a pre-deploy step
677
+ meant to run right before whatever deploy command the pipeline already runs.
678
+
679
+ Pass `--deploy` to also deploy just the files this command changed and restore their original contents afterwards, so
680
+ the working tree is left exactly as it found it — the only lasting change is in the org. Add `--publish` to publish
681
+ the site after a successful deploy.
682
+
683
+ A domain must already be registered in the target org (Setup → Custom URLs) before a site can be pointed at it; this
684
+ command cannot register one. When `--target-org` is given, it checks the domain is registered before writing anything,
685
+ so a typo surfaces immediately instead of as an opaque deploy failure.
686
+
687
+ If the site file isn't found locally and `--target-org` is given, it's retrieved from the org instead of erroring — a
688
+ warning says so, since a `--site` typo now triggers a retrieve rather than a fast local error. This only applies to
689
+ the site file; a missing `Network` metadata file (needed for `--path-prefix` or `--publish`) still errors even with
690
+ `--target-org`.
691
+
692
+ EXAMPLES
693
+ $ sf simply community url set --site Partner_Portal --domain partners.acme.com
694
+
695
+ $ sf simply community url set --site Partner_Portal --domain partners.acme.com --path-prefix partners
696
+
697
+ $ sf simply community url set --site Partner_Portal --domain partners.acme.com --target-org my-org --ignore-missing-domain
698
+
699
+ $ sf simply community url set --site Partner_Portal --domain partners.acme.com --deploy --target-org my-org
700
+
701
+ $ sf simply community url set --site Partner_Portal --domain partners.acme.com --path-prefix partners --deploy --publish --target-org my-org
702
+
703
+ $ sf simply community url set --site Partner_Portal --domain partners.acme.com --deploy --target-org my-org # retrieves the site file first if it isn't found locally
704
+ ```
705
+
706
+ _See code: [@simplysf/simply-community](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-community@0.6.2/packages/simply-community/lib/commands/simply/community/url/set.js)_
310
707
 
311
708
  ## `sf simply data file upload`
312
709
 
@@ -315,14 +712,17 @@ Upload a file to a Salesforce org.
315
712
  ```
316
713
  USAGE
317
714
  $ sf simply data file upload -o <value> --file-path <value> [--json] [--flags-dir <value>] [--api-version <value>]
318
- [--first-publish-location-id <value>] [--title <value>]
715
+ [--max-api-usage <value>] [--first-publish-location-id <value>] [--title <value>]
319
716
 
320
717
  FLAGS
321
718
  -o, --target-org=<value> (required) Username or alias of the target org. Not required if the
322
719
  `target-org` configuration variable is already set.
323
720
  --api-version=<value> Override the api version used for api requests made by this command
324
- --file-path=<value> (required) Path to the file to upload.
721
+ --file-path=<value> (required) Path to the file to upload. May be relative or absolute; only the
722
+ file's name is sent to the org.
325
723
  --first-publish-location-id=<value> Specify a record Id that the file should be linked to.
724
+ --max-api-usage=<value> [default: 20] Maximum percentage of the org's remaining API requests this run
725
+ may consume.
326
726
  --title=<value> Specify the title for the file being uploaded.
327
727
 
328
728
  GLOBAL FLAGS
@@ -334,13 +734,32 @@ DESCRIPTION
334
734
 
335
735
  Uploads a file to a Salesforce org.
336
736
 
737
+ Only the file's name is sent to the org — Salesforce stores it as the ContentVersion's PathOnClient and derives
738
+ FileExtension and FileType from it — so the local directory the file came from is never uploaded.
739
+
337
740
  EXAMPLES
338
741
  $ sf simply data file upload --file-path fileToUpload.txt --target-org myTargetOrg
339
742
 
340
743
  $ sf simply data file upload --file-path fileToUpload.txt --first-publish-location-id 0019000000DmehK --target-org myTargetOrg
744
+
745
+ FLAG DESCRIPTIONS
746
+ --max-api-usage=<value> Maximum percentage of the org's remaining API requests this run may consume.
747
+
748
+ Checked before any request is made, so a run that would exceed its budget stops without doing partial work. The
749
+ percentage applies to the requests the org has left today, not to its daily maximum — an org that has already used
750
+ most of its allocation gets a proportionally smaller budget.
751
+
752
+ Note that uploading a file costs two API requests, not one: the upload itself, and a follow-up query for the
753
+ resulting ContentDocumentId.
754
+
755
+ A run that cannot finish within the org's remaining requests is refused regardless of this value. To allow a larger
756
+ share, raise it; to allow the maximum, pass 100.
757
+
758
+ If the org's remaining allocation can't be read — reading it falls back to the limits API, which needs the "View
759
+ Setup and Configuration" permission — the command warns and proceeds rather than failing.
341
760
  ```
342
761
 
343
- _See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.3.23/packages/simply-data/lib/commands/simply/data/file/upload.js)_
762
+ _See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.4.1/packages/simply-data/lib/commands/simply/data/file/upload.js)_
344
763
 
345
764
  ## `sf simply data files download`
346
765
 
@@ -349,12 +768,14 @@ Download files from a Salesforce org.
349
768
  ```
350
769
  USAGE
351
770
  $ sf simply data files download -o <value> --where-content-version <value> [--json] [--flags-dir <value>] [--api-version
352
- <value>] [--max-parallel-jobs <value>]
771
+ <value>] [--max-api-usage <value>] [--max-parallel-jobs <value>]
353
772
 
354
773
  FLAGS
355
774
  -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
356
775
  configuration variable is already set.
357
776
  --api-version=<value> Override the api version used for api requests made by this command
777
+ --max-api-usage=<value> [default: 20] Maximum percentage of the org's remaining API requests this run may
778
+ consume.
358
779
  --max-parallel-jobs=<value> [default: 1] Maximum number of parallel jobs.
359
780
  --where-content-version=<value> (required) WHERE clause for ContentVersion query.
360
781
 
@@ -375,6 +796,21 @@ EXAMPLES
375
796
  $ sf simply data files download --where-content-version "IsLatest=true" --max-parallel-jobs 5 --target-org myTargetOrg
376
797
 
377
798
  FLAG DESCRIPTIONS
799
+ --max-api-usage=<value> Maximum percentage of the org's remaining API requests this run may consume.
800
+
801
+ Checked before any request is made, so a run that would exceed its budget stops without doing partial work. The
802
+ percentage applies to the requests the org has left today, not to its daily maximum — an org that has already used
803
+ most of its allocation gets a proportionally smaller budget.
804
+
805
+ Note that uploading a file costs two API requests, not one: the upload itself, and a follow-up query for the
806
+ resulting ContentDocumentId.
807
+
808
+ A run that cannot finish within the org's remaining requests is refused regardless of this value. To allow a larger
809
+ share, raise it; to allow the maximum, pass 100.
810
+
811
+ If the org's remaining allocation can't be read — reading it falls back to the limits API, which needs the "View
812
+ Setup and Configuration" permission — the command warns and proceeds rather than failing.
813
+
378
814
  --max-parallel-jobs=<value> Maximum number of parallel jobs.
379
815
 
380
816
  By default the plugin will only process a single file download at a time. You can increase this value to allow for
@@ -385,7 +821,7 @@ FLAG DESCRIPTIONS
385
821
  Provide a WHERE clause to allow the plugin to specify which ContentVersion records should be downloaded.
386
822
  ```
387
823
 
388
- _See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.3.23/packages/simply-data/lib/commands/simply/data/files/download.js)_
824
+ _See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.4.1/packages/simply-data/lib/commands/simply/data/files/download.js)_
389
825
 
390
826
  ## `sf simply data files upload`
391
827
 
@@ -394,13 +830,15 @@ Upload files to a Salesforce org.
394
830
  ```
395
831
  USAGE
396
832
  $ sf simply data files upload -o <value> --file-path <value> [--json] [--flags-dir <value>] [--api-version <value>]
397
- [--max-parallel-jobs <value>]
833
+ [--max-api-usage <value>] [--max-parallel-jobs <value>]
398
834
 
399
835
  FLAGS
400
836
  -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
401
837
  configuration variable is already set.
402
838
  --api-version=<value> Override the api version used for api requests made by this command
403
839
  --file-path=<value> (required) Path to the csv file that specifies the upload.
840
+ --max-api-usage=<value> [default: 20] Maximum percentage of the org's remaining API requests this run may
841
+ consume.
404
842
  --max-parallel-jobs=<value> [default: 1] Maximum number of parallel jobs.
405
843
 
406
844
  GLOBAL FLAGS
@@ -424,13 +862,32 @@ FLAG DESCRIPTIONS
424
862
  The csv file must specify the columns PathOnClient and Title. Optionally, a FirstPublishLocationId can be specified
425
863
  to have it linked directly to a Salesforce record after upload.
426
864
 
865
+ PathOnClient is the local path each file is read from, and may be relative or absolute. Only the file's name is sent
866
+ to the org — Salesforce stores it as the ContentVersion's PathOnClient and derives FileExtension and FileType from
867
+ it — so the local directory the file came from is never uploaded.
868
+
869
+ --max-api-usage=<value> Maximum percentage of the org's remaining API requests this run may consume.
870
+
871
+ Checked before any request is made, so a run that would exceed its budget stops without doing partial work. The
872
+ percentage applies to the requests the org has left today, not to its daily maximum — an org that has already used
873
+ most of its allocation gets a proportionally smaller budget.
874
+
875
+ Note that uploading a file costs two API requests, not one: the upload itself, and a follow-up query for the
876
+ resulting ContentDocumentId.
877
+
878
+ A run that cannot finish within the org's remaining requests is refused regardless of this value. To allow a larger
879
+ share, raise it; to allow the maximum, pass 100.
880
+
881
+ If the org's remaining allocation can't be read — reading it falls back to the limits API, which needs the "View
882
+ Setup and Configuration" permission — the command warns and proceeds rather than failing.
883
+
427
884
  --max-parallel-jobs=<value> Maximum number of parallel jobs.
428
885
 
429
886
  By default the plugin will only process a single file upload at a time. You can increase this value to allow for
430
887
  quasi concurrent uploads. Please note that setting this value too high can cause performance issues.
431
888
  ```
432
889
 
433
- _See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.3.23/packages/simply-data/lib/commands/simply/data/files/upload.js)_
890
+ _See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.4.1/packages/simply-data/lib/commands/simply/data/files/upload.js)_
434
891
 
435
892
  ## `sf simply document diff`
436
893
 
@@ -531,6 +988,87 @@ FLAG DESCRIPTIONS
531
988
 
532
989
  _See code: [@simplysf/simply-document](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-document@0.3.6/packages/simply-document/lib/commands/simply/document/generate.js)_
533
990
 
991
+ ## `sf simply flow delete`
992
+
993
+ Deactivate and delete every version of one or more Flows.
994
+
995
+ ```
996
+ USAGE
997
+ $ sf simply flow delete -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-x <value>] [-n <value>...]
998
+
999
+ FLAGS
1000
+ -n, --flow-name=<value>... Flow DeveloperName(s) to delete
1001
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
1002
+ configuration variable is already set.
1003
+ -x, --manifest=<value> Path to a destructiveChanges.xml/package.xml-shaped file
1004
+ --api-version=<value> Override the api version used for api requests made by this command
1005
+
1006
+ GLOBAL FLAGS
1007
+ --flags-dir=<value> Import flag values from a directory.
1008
+ --json Format output as json.
1009
+
1010
+ DESCRIPTION
1011
+ Deactivate and delete every version of one or more Flows.
1012
+
1013
+ Deactivates every active version of each named Flow (so it no longer counts as "active" against Salesforce's
1014
+ restriction on deleting a Flow that still has one), then hard-deletes every version of it via the Tooling API. This is
1015
+ the pre-step a destructive metadata deploy needs before it can remove a Flow.
1016
+
1017
+ Flows can be named either via `--manifest`, pointing at a `destructiveChanges.xml`/`package.xml`-shaped file whose
1018
+ `Flow` type members are the flows to delete, or via one or more `--flow-name` flags for scripted or one-off use.
1019
+ Exactly one of the two must be given.
1020
+
1021
+ A failure deactivating or deleting one flow doesn't stop the others from being attempted — every failure is collected
1022
+ and reported, and the command exits non-zero if any occurred.
1023
+
1024
+ EXAMPLES
1025
+ $ sf simply flow delete --manifest destructive/pre/destructiveChanges.xml --target-org myOrg
1026
+
1027
+ $ sf simply flow delete --flow-name My_Flow --flow-name Another_Flow --target-org myOrg
1028
+
1029
+ $ sf simply flow delete --manifest destructive/pre/destructiveChanges.xml --target-org myOrg --json
1030
+ ```
1031
+
1032
+ _See code: [@simplysf/simply-flow](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-flow@0.2.0/packages/simply-flow/lib/commands/simply/flow/delete.js)_
1033
+
1034
+ ## `sf simply flow version prune`
1035
+
1036
+ Delete obsolete versions of Flows found in local source.
1037
+
1038
+ ```
1039
+ USAGE
1040
+ $ sf simply flow version prune -o <value> -d <value>... [--json] [--flags-dir <value>] [--api-version <value>]
1041
+ [--dry-run]
1042
+
1043
+ FLAGS
1044
+ -d, --source-dir=<value>... (required) Directories to scan for *.flow-meta.xml files
1045
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
1046
+ configuration variable is already set.
1047
+ --api-version=<value> Override the api version used for api requests made by this command
1048
+ --dry-run List obsolete versions without deleting them
1049
+
1050
+ GLOBAL FLAGS
1051
+ --flags-dir=<value> Import flag values from a directory.
1052
+ --json Format output as json.
1053
+
1054
+ DESCRIPTION
1055
+ Delete obsolete versions of Flows found in local source.
1056
+
1057
+ Scans one or more source directories for `*.flow-meta.xml` files, then deletes any Tooling API Flow version already
1058
+ `Status = 'Obsolete'` for those flows — keeping an org's Flow version history from accumulating indefinitely. Unlike
1059
+ `simply flow delete`, this never touches an active Flow; it only removes versions the org itself already marked
1060
+ obsolete.
1061
+
1062
+ Use `--dry-run` to see what would be deleted without deleting anything.
1063
+
1064
+ EXAMPLES
1065
+ $ sf simply flow version prune --target-org myOrg --source-dir sfdx-source/core
1066
+
1067
+ $ sf simply flow version prune --target-org myOrg --source-dir sfdx-source/core --dry-run
1068
+ ```
1069
+
1070
+ _See code: [@simplysf/simply-flow](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-flow@0.2.0/packages/simply-flow/lib/commands/simply/flow/version/prune.js)_
1071
+
534
1072
  ## `sf simply package dependencies install`
535
1073
 
536
1074
  Install package dependencies for a Salesforce project.
@@ -538,33 +1076,46 @@ Install package dependencies for a Salesforce project.
538
1076
  ```
539
1077
  USAGE
540
1078
  $ sf simply package dependencies install -o <value> [--json] [--flags-dir <value>] [-a all|package] [--api-version <value>] [-z
541
- <value>] [-i All|Delta|Upgrade] [-k <value>...] [-r] [--output-file <value>] [-b <value>] [-s AllUsers|AdminsOnly]
542
- [-v <value>] [-t DeprecateOnly|Mixed|Delete] [-w <value>]
1079
+ <value>] [-i All|Delta|Upgrade] [-k <value>...] [-r] [--output-file <value>] [--package-retry-attempts <value>...]
1080
+ [-b <value>] [--retry-attempts <value>] [--retry-backoff <value>] [-s AllUsers|AdminsOnly] [-v <value>] [-t
1081
+ DeprecateOnly|Mixed|Delete] [-w <value>]
543
1082
 
544
1083
  FLAGS
545
- -a, --apex-compile=<option> Compile all Apex in the org and package, or only Apex in the package; unlocked
546
- packages only.
547
- <options: all|package>
548
- -b, --publish-wait=<value> Maximum number of minutes to wait for the Subscriber Package Version ID to become
549
- available in the target org before canceling the install request.
550
- -i, --install-type=<option> [default: Upgrade] Install all packages, only deltas, or only newer versions.
551
- <options: All|Delta|Upgrade>
552
- -k, --installation-key=<value>... Installation key for key-protected packages
553
- -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
554
- configuration variable is already set.
555
- -r, --no-prompt Don't prompt for confirmation.
556
- -s, --security-type=<option> [default: AdminsOnly] Security access type for the installed package. (deprecation
557
- notice: The default --security-type value will change from AllUsers to AdminsOnly
558
- in v47.0 or later.)
559
- <options: AllUsers|AdminsOnly>
560
- -t, --upgrade-type=<option> [default: Mixed] Upgrade type for the package installation; available only for
561
- unlocked packages.
562
- <options: DeprecateOnly|Mixed|Delete>
563
- -v, --target-dev-hub=<value> Username or alias of the Dev Hub org.
564
- -w, --wait=<value> Number of minutes to wait for installation status.
565
- -z, --branch=<value> Package branch to consider when specifiying a Package/VersionNumber combination
566
- --api-version=<value> Override the api version used for api requests made by this command
567
- --output-file=<value> Path to write a JSON install report to.
1084
+ -a, --apex-compile=<option> Compile all Apex in the org and package, or only Apex in the package;
1085
+ unlocked packages only.
1086
+ <options: all|package>
1087
+ -b, --publish-wait=<value> Maximum number of minutes to wait for the Subscriber Package Version ID to
1088
+ become available in the target org before canceling the install request.
1089
+ -i, --install-type=<option> [default: Upgrade] Install all packages, only deltas, or only newer versions.
1090
+ <options: All|Delta|Upgrade>
1091
+ -k, --installation-key=<value>... Installation key for key-protected packages
1092
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the
1093
+ `target-org` configuration variable is already set.
1094
+ -r, --no-prompt Don't prompt for confirmation.
1095
+ -s, --security-type=<option> [default: AdminsOnly] Security access type for the installed package.
1096
+ (deprecation notice: The default --security-type value will change from
1097
+ AllUsers to AdminsOnly in v47.0 or later.)
1098
+ <options: AllUsers|AdminsOnly>
1099
+ -t, --upgrade-type=<option> [default: Mixed] Upgrade type for the package installation; available only
1100
+ for unlocked packages.
1101
+ <options: DeprecateOnly|Mixed|Delete>
1102
+ -v, --target-dev-hub=<value> Username or alias of the Dev Hub org.
1103
+ -w, --wait=<value> Number of minutes to wait for installation status.
1104
+ -z, --branch=<value> Package branch to consider when specifiying a Package/VersionNumber
1105
+ combination
1106
+ --api-version=<value> Override the api version used for api requests made by this command
1107
+ --output-file=<value> Path to write a JSON install report to.
1108
+ --package-retry-attempts=<value>... Number of retry attempts for a specific package, overriding --retry-attempts
1109
+ for that package only.
1110
+ --retry-attempts=<value> Number of additional attempts to make if a package install fails, before
1111
+ giving up on that package. Defaults to 0 (no retries). Does not apply when
1112
+ the install is still In-Progress when polling times out, since retrying could
1113
+ race or duplicate an install that may still complete server-side. Overridden
1114
+ per-package by --package-retry-attempts.
1115
+ --retry-backoff=<value> [default: 2] Factor the delay between install retries grows by after each
1116
+ failed attempt (e.g. 2 doubles the delay each time). Only relevant when a
1117
+ package has retries enabled via --retry-attempts or --package-retry-attempts.
1118
+ Applies to every package's retries; there is no per-package override.
568
1119
 
569
1120
  GLOBAL FLAGS
570
1121
  --flags-dir=<value> Import flag values from a directory.
@@ -584,6 +1135,10 @@ EXAMPLES
584
1135
 
585
1136
  $ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --output-file install-report.json
586
1137
 
1138
+ $ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --retry-attempts 3 --retry-backoff 2
1139
+
1140
+ $ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --retry-attempts 1 --package-retry-attempts "MyPackage1Alias:5"
1141
+
587
1142
  FLAG DESCRIPTIONS
588
1143
  -a, --apex-compile=all|package
589
1144
 
@@ -636,9 +1191,17 @@ FLAG DESCRIPTIONS
636
1191
  addition to the normal terminal output you can continue to monitor as the command runs. Each entry includes the
637
1192
  package name, the SubscriberPackageVersionId already installed in the org (if any), the SubscriberPackageVersionId
638
1193
  that was attempted, and the decision made (Skipped, Installed, Installing, or Failed).
1194
+
1195
+ --package-retry-attempts=<value>...
1196
+
1197
+ Number of retry attempts for a specific package, overriding --retry-attempts for that package only.
1198
+
1199
+ Retry attempts for a specific package in the key:value format of SubscriberPackageVersionId:RetryAttempts. You can
1200
+ use an alias in place of the SubscriberPackageVersionId. Repeat this flag to set overrides for multiple packages.
1201
+ Packages not listed here use --retry-attempts.
639
1202
  ```
640
1203
 
641
- _See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.8.13/packages/simply-package/lib/commands/simply/package/dependencies/install.js)_
1204
+ _See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.10.2/packages/simply-package/lib/commands/simply/package/dependencies/install.js)_
642
1205
 
643
1206
  ## `sf simply package dependencies manage`
644
1207
 
@@ -697,7 +1260,7 @@ FLAG DESCRIPTIONS
697
1260
  version without interactive prompts. Mutually exclusive with --update-to-latest.
698
1261
  ```
699
1262
 
700
- _See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.8.13/packages/simply-package/lib/commands/simply/package/dependencies/manage.js)_
1263
+ _See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.10.2/packages/simply-package/lib/commands/simply/package/dependencies/manage.js)_
701
1264
 
702
1265
  ## `sf simply package version cleanup`
703
1266
 
@@ -751,7 +1314,67 @@ FLAG DESCRIPTIONS
751
1314
  does not match this matcher is deleted. Mutually exclusive with --matcher.
752
1315
  ```
753
1316
 
754
- _See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.8.13/packages/simply-package/lib/commands/simply/package/version/cleanup.js)_
1317
+ _See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.10.2/packages/simply-package/lib/commands/simply/package/version/cleanup.js)_
1318
+
1319
+ ## `sf simply package version get`
1320
+
1321
+ Get a package version from sfdx-project.json.
1322
+
1323
+ ```
1324
+ USAGE
1325
+ $ sf simply package version get -p <value> [--json] [--flags-dir <value>] [-d <value>]
1326
+
1327
+ FLAGS
1328
+ -d, --directory=<value> Package directory to search.
1329
+ -p, --package=<value> (required) Package name or alias to look up.
1330
+
1331
+ GLOBAL FLAGS
1332
+ --flags-dir=<value> Import flag values from a directory.
1333
+ --json Format output as json.
1334
+
1335
+ DESCRIPTION
1336
+ Get a package version from sfdx-project.json.
1337
+
1338
+ Reads the version a package is declared at in your project's sfdx-project.json and prints it, so a script doesn't have
1339
+ to parse the project file itself.
1340
+
1341
+ Both dependencies and the project's own package are searched. A dependency declared as an alias (test-package@0.1.0+2)
1342
+ resolves to the version portion of the alias; a dependency declared as a package name plus a versionNumber resolves to
1343
+ that versionNumber; a dependency declared as a raw ID resolves through packageAliases. A package directory that builds
1344
+ the package resolves to that directory's versionNumber.
1345
+
1346
+ The version is returned exactly as it appears in the project file — no normalizing between the 0.1.0+2, 57.0.0-3, and
1347
+ 1.2.3.LATEST forms, since each means something to the tool that consumes it.
1348
+
1349
+ This command reads the project file only. It never contacts an org or a Dev Hub, so it can run in a pipeline before
1350
+ any authentication step.
1351
+
1352
+ EXAMPLES
1353
+ Get the version of a dependency:
1354
+
1355
+ $ sf simply package version get --package test-package
1356
+
1357
+ Get the version of the package the project itself builds:
1358
+
1359
+ $ sf simply package version get --package my-package
1360
+
1361
+ Get a dependency's version from one package directory:
1362
+
1363
+ $ sf simply package version get --package test-package --directory force-app
1364
+
1365
+ FLAG DESCRIPTIONS
1366
+ -d, --directory=<value> Package directory to search.
1367
+
1368
+ The path of a single package directory to search, matching a "path" value in packageDirectories. Use this when the
1369
+ same package is declared at different versions in more than one package directory.
1370
+
1371
+ -p, --package=<value> Package name or alias to look up.
1372
+
1373
+ The package name as it appears in sfdx-project.json, without a version suffix. For a dependency declared as
1374
+ "test-package@0.1.0+2", pass "test-package".
1375
+ ```
1376
+
1377
+ _See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.10.2/packages/simply-package/lib/commands/simply/package/version/get.js)_
755
1378
 
756
1379
  ## `sf simply permissions analyze`
757
1380
 
@@ -795,7 +1418,50 @@ FLAG DESCRIPTIONS
795
1418
  The path to write the generated HTML report to.
796
1419
  ```
797
1420
 
798
- _See code: [@simplysf/simply-permissions](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-permissions@1.2.28/packages/simply-permissions/lib/commands/simply/permissions/analyze.js)_
1421
+ _See code: [@simplysf/simply-permissions](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-permissions@1.3.0/packages/simply-permissions/lib/commands/simply/permissions/analyze.js)_
1422
+
1423
+ ## `sf simply permissions assignment delete`
1424
+
1425
+ Delete PermissionSetAssignments for one or more PermissionSets/PermissionSetGroups.
1426
+
1427
+ ```
1428
+ USAGE
1429
+ $ sf simply permissions assignment delete -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-f <value>]
1430
+ [--permission-set-name <value>...] [--permission-set-group-name <value>...]
1431
+
1432
+ FLAGS
1433
+ -f, --file=<value> Path to a destructiveChanges.xml/package.xml-shaped file
1434
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the
1435
+ `target-org` configuration variable is already set.
1436
+ --api-version=<value> Override the api version used for api requests made by this command
1437
+ --permission-set-group-name=<value>... PermissionSetGroup DeveloperName(s) to delete assignments for
1438
+ --permission-set-name=<value>... PermissionSet Name(s) to delete assignments for
1439
+
1440
+ GLOBAL FLAGS
1441
+ --flags-dir=<value> Import flag values from a directory.
1442
+ --json Format output as json.
1443
+
1444
+ DESCRIPTION
1445
+ Delete PermissionSetAssignments for one or more PermissionSets/PermissionSetGroups.
1446
+
1447
+ Deletes every `PermissionSetAssignment` against the named `PermissionSet`s and/or `PermissionSetGroup`s — the pre-step
1448
+ a destructive metadata deploy of the permission set/group itself needs, so it doesn't fail or leave orphaned
1449
+ assignments behind.
1450
+
1451
+ Targets can be named either via `--file`, pointing at a `destructiveChanges.xml`/`package.xml`-shaped file whose
1452
+ `PermissionSet`/`PermissionSetGroup` type members are the targets, or via
1453
+ `--permission-set-name`/`--permission-set-group-name` flags (which may be combined with each other) for scripted or
1454
+ one-off use. `--file` is mutually exclusive with the two explicit-name flags.
1455
+
1456
+ EXAMPLES
1457
+ $ sf simply permissions assignment delete --file destructive/pre/destructiveChanges.xml --target-org myOrg
1458
+
1459
+ $ sf simply permissions assignment delete --permission-set-name My_Permission_Set --target-org myOrg
1460
+
1461
+ $ sf simply permissions assignment delete --permission-set-group-name My_Permission_Set_Group --target-org myOrg
1462
+ ```
1463
+
1464
+ _See code: [@simplysf/simply-permissions](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-permissions@1.3.0/packages/simply-permissions/lib/commands/simply/permissions/assignment/delete.js)_
799
1465
 
800
1466
  ## `sf simply permissions build`
801
1467
 
@@ -862,7 +1528,7 @@ FLAG DESCRIPTIONS
862
1528
  'view-all' additionally grants view-all-records, and 'modify-all' grants full CRUD and modify-all-records access.
863
1529
  ```
864
1530
 
865
- _See code: [@simplysf/simply-permissions](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-permissions@1.2.28/packages/simply-permissions/lib/commands/simply/permissions/build.js)_
1531
+ _See code: [@simplysf/simply-permissions](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-permissions@1.3.0/packages/simply-permissions/lib/commands/simply/permissions/build.js)_
866
1532
 
867
1533
  ## `sf simply project update api-version`
868
1534
 
@@ -942,7 +1608,7 @@ FLAG DESCRIPTIONS
942
1608
  A `.csv` file processed as the flat CSV flow, or a `.xlsx`/`.xls` file processed as the Excel flow.
943
1609
  ```
944
1610
 
945
- _See code: [@simplysf/simply-schema](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-schema@0.3.14/packages/simply-schema/lib/commands/simply/schema/generate.js)_
1611
+ _See code: [@simplysf/simply-schema](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-schema@0.3.18/packages/simply-schema/lib/commands/simply/schema/generate.js)_
946
1612
 
947
1613
  ## `sf simply schema visualize`
948
1614
 
@@ -1004,7 +1670,7 @@ FLAG DESCRIPTIONS
1004
1670
  specified, every discovered object is included. If not specified, every object matching `--object-type` is included.
1005
1671
  ```
1006
1672
 
1007
- _See code: [@simplysf/simply-schema](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-schema@0.3.14/packages/simply-schema/lib/commands/simply/schema/visualize.js)_
1673
+ _See code: [@simplysf/simply-schema](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-schema@0.3.18/packages/simply-schema/lib/commands/simply/schema/visualize.js)_
1008
1674
 
1009
1675
  ## `sf simply sobject backup`
1010
1676
 
@@ -1065,7 +1731,7 @@ FLAG DESCRIPTIONS
1065
1731
  OwnerId, are skipped.
1066
1732
  ```
1067
1733
 
1068
- _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.2/packages/simply-sobject/lib/commands/simply/sobject/backup.js)_
1734
+ _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.6/packages/simply-sobject/lib/commands/simply/sobject/backup.js)_
1069
1735
 
1070
1736
  ## `sf simply sobject deduplicate`
1071
1737
 
@@ -1118,7 +1784,7 @@ FLAG DESCRIPTIONS
1118
1784
  The directory to write the generated CSV files to. Defaults to ./temp/<primaryObjectApiName>.
1119
1785
  ```
1120
1786
 
1121
- _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.2/packages/simply-sobject/lib/commands/simply/sobject/deduplicate.js)_
1787
+ _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.6/packages/simply-sobject/lib/commands/simply/sobject/deduplicate.js)_
1122
1788
 
1123
1789
  ## `sf simply sobject history export`
1124
1790
 
@@ -1172,7 +1838,7 @@ FLAG DESCRIPTIONS
1172
1838
  The start of the date range to export history for, inclusive.
1173
1839
  ```
1174
1840
 
1175
- _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.2/packages/simply-sobject/lib/commands/simply/sobject/history/export.js)_
1841
+ _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.6/packages/simply-sobject/lib/commands/simply/sobject/history/export.js)_
1176
1842
 
1177
1843
  ## `sf simply sobject history query`
1178
1844
 
@@ -1228,7 +1894,7 @@ FLAG DESCRIPTIONS
1228
1894
  The API name of the SObject to query field history for (e.g. Account or Custom_Object__c).
1229
1895
  ```
1230
1896
 
1231
- _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.2/packages/simply-sobject/lib/commands/simply/sobject/history/query.js)_
1897
+ _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.6/packages/simply-sobject/lib/commands/simply/sobject/history/query.js)_
1232
1898
 
1233
1899
  ## `sf simply sobject history schema`
1234
1900
 
@@ -1266,7 +1932,7 @@ FLAG DESCRIPTIONS
1266
1932
  The directory to save the generated CSV and HTML report files to. Defaults to the current directory.
1267
1933
  ```
1268
1934
 
1269
- _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.2/packages/simply-sobject/lib/commands/simply/sobject/history/schema.js)_
1935
+ _See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.6/packages/simply-sobject/lib/commands/simply/sobject/history/schema.js)_
1270
1936
  <!-- commandsstop -->
1271
1937
 
1272
1938
  ## License
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@simplysf/simply",
3
3
  "description": "Salesforce CLI Plugins created by @SimplySF",
4
- "version": "3.1.0",
4
+ "version": "3.3.0",
5
5
  "author": "@ClayChipps",
6
6
  "homepage": "https://github.com/SimplySF/simply-node",
7
7
  "bugs": "https://github.com/SimplySF/simply-node/issues",
@@ -60,6 +60,7 @@
60
60
  "@simplysf/simply-community",
61
61
  "@simplysf/simply-data",
62
62
  "@simplysf/simply-document",
63
+ "@simplysf/simply-flow",
63
64
  "@simplysf/simply-package",
64
65
  "@simplysf/simply-permissions",
65
66
  "@simplysf/simply-project",
@@ -74,16 +75,17 @@
74
75
  },
75
76
  "dependencies": {
76
77
  "@oclif/core": "^4.11.2",
77
- "@simplysf/simply-aep": "^0.6.0",
78
- "@simplysf/simply-apex": "^1.6.5",
79
- "@simplysf/simply-community": "^0.6.1",
80
- "@simplysf/simply-data": "^2.4.0",
78
+ "@simplysf/simply-aep": "^0.6.1",
79
+ "@simplysf/simply-apex": "^1.6.6",
80
+ "@simplysf/simply-community": "^0.6.2",
81
+ "@simplysf/simply-data": "^2.4.1",
81
82
  "@simplysf/simply-document": "^0.3.6",
82
- "@simplysf/simply-package": "^2.10.1",
83
- "@simplysf/simply-permissions": "^1.2.31",
83
+ "@simplysf/simply-flow": "^0.3.0",
84
+ "@simplysf/simply-package": "^2.10.2",
85
+ "@simplysf/simply-permissions": "^1.3.0",
84
86
  "@simplysf/simply-project": "^1.2.17",
85
- "@simplysf/simply-schema": "^0.3.17",
86
- "@simplysf/simply-sobject": "^1.6.5",
87
+ "@simplysf/simply-schema": "^0.3.18",
88
+ "@simplysf/simply-sobject": "^1.6.6",
87
89
  "debug": "^4.4.3"
88
90
  },
89
91
  "devDependencies": {
@@ -127,6 +129,7 @@
127
129
  "../simply-community:compile",
128
130
  "../simply-data:compile",
129
131
  "../simply-document:compile",
132
+ "../simply-flow:compile",
130
133
  "../simply-package:compile",
131
134
  "../simply-permissions:compile",
132
135
  "../simply-project:compile",
@@ -181,5 +184,5 @@
181
184
  "output": []
182
185
  }
183
186
  },
184
- "gitHead": "885986e2736aba9ff318431e08064890b2946b03"
187
+ "gitHead": "83d12719a2414b063fdc1321e0ebd89b8190f629"
185
188
  }