@quonfig/cli 0.0.36 → 0.0.38

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/README.md CHANGED
@@ -14,7 +14,7 @@ $ npm install -g @quonfig/cli
14
14
  $ qfg COMMAND
15
15
  running command...
16
16
  $ qfg (--version)
17
- @quonfig/cli/0.0.36 linux-x64 node-v24.4.1
17
+ @quonfig/cli/0.0.38 linux-x64 node-v24.4.1
18
18
  $ qfg --help [COMMAND]
19
19
  USAGE
20
20
  $ qfg COMMAND
@@ -25,6 +25,12 @@ USAGE
25
25
  # Commands
26
26
 
27
27
  <!-- commands -->
28
+ * [`qfg activity`](#qfg-activity)
29
+ * [`qfg activity deleted`](#qfg-activity-deleted)
30
+ * [`qfg activity feed`](#qfg-activity-feed)
31
+ * [`qfg activity history [NAME]`](#qfg-activity-history-name)
32
+ * [`qfg activity restore [NAME]`](#qfg-activity-restore-name)
33
+ * [`qfg audit-log [NAME]`](#qfg-audit-log-name)
28
34
  * [`qfg config-schema`](#qfg-config-schema)
29
35
  * [`qfg create NAME`](#qfg-create-name)
30
36
  * [`qfg delete NAME`](#qfg-delete-name)
@@ -34,10 +40,12 @@ USAGE
34
40
  * [`qfg generate`](#qfg-generate)
35
41
  * [`qfg generate-new-hex-key`](#qfg-generate-new-hex-key)
36
42
  * [`qfg get [NAME]`](#qfg-get-name)
43
+ * [`qfg history NAME`](#qfg-history-name)
37
44
  * [`qfg info [NAME]`](#qfg-info-name)
38
45
  * [`qfg init [DIRECTORY]`](#qfg-init-directory)
39
46
  * [`qfg interactive`](#qfg-interactive)
40
47
  * [`qfg list`](#qfg-list)
48
+ * [`qfg log`](#qfg-log)
41
49
  * [`qfg log-level NAME`](#qfg-log-level-name)
42
50
  * [`qfg login`](#qfg-login)
43
51
  * [`qfg logout`](#qfg-logout)
@@ -64,6 +72,200 @@ USAGE
64
72
  * [`qfg workspace create SLUG`](#qfg-workspace-create-slug)
65
73
  * [`qfg workspace switch [SLUG]`](#qfg-workspace-switch-slug)
66
74
 
75
+ ## `qfg activity`
76
+
77
+ Inspect what changed in the workspace (recent commits, per-config history, deletions).
78
+
79
+ ```
80
+ USAGE
81
+ $ qfg activity [--json] [--interactive] [--no-color] [--verbose]
82
+
83
+ GLOBAL FLAGS
84
+ --[no-]interactive Force interactive mode
85
+ --json Format output as json.
86
+ --no-color Do not colorize output
87
+ --verbose Verbose output
88
+
89
+ DESCRIPTION
90
+ Inspect what changed in the workspace (recent commits, per-config history, deletions).
91
+
92
+ EXAMPLES
93
+ $ qfg activity feed
94
+
95
+ $ qfg activity history my.flag
96
+
97
+ $ qfg activity deleted
98
+
99
+ $ qfg activity restore my.flag --yes
100
+ ```
101
+
102
+ _See code: [src/commands/activity.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/activity.ts)_
103
+
104
+ ## `qfg activity deleted`
105
+
106
+ List configs that were deleted from the workspace and have not been restored.
107
+
108
+ ```
109
+ USAGE
110
+ $ qfg activity deleted [--json] [--interactive] [--no-color] [--verbose] [-w <value>]
111
+
112
+ GLOBAL FLAGS
113
+ -w, --workspace=<value> Workspace slug to use (overrides QUONFIG_WORKSPACE env var and saved default)
114
+ --[no-]interactive Force interactive mode
115
+ --json Format output as json.
116
+ --no-color Do not colorize output
117
+ --verbose Verbose output
118
+
119
+ DESCRIPTION
120
+ List configs that were deleted from the workspace and have not been restored.
121
+
122
+ Useful for "did somebody delete X?" — pair with `qfg activity restore NAME`
123
+ to undelete a tombstoned config.
124
+
125
+ EXAMPLES
126
+ $ qfg activity deleted
127
+
128
+ $ qfg activity deleted --json
129
+ ```
130
+
131
+ _See code: [src/commands/activity/deleted.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/activity/deleted.ts)_
132
+
133
+ ## `qfg activity feed`
134
+
135
+ Recent activity across the workspace, newest first.
136
+
137
+ ```
138
+ USAGE
139
+ $ qfg activity feed [--json] [--interactive] [--no-color] [--verbose] [-w <value>] [--limit <value>]
140
+
141
+ FLAGS
142
+ --limit=<value> [default: 30] Maximum number of feed entries (1-100)
143
+
144
+ GLOBAL FLAGS
145
+ -w, --workspace=<value> Workspace slug to use (overrides QUONFIG_WORKSPACE env var and saved default)
146
+ --[no-]interactive Force interactive mode
147
+ --json Format output as json.
148
+ --no-color Do not colorize output
149
+ --verbose Verbose output
150
+
151
+ DESCRIPTION
152
+ Recent activity across the workspace, newest first.
153
+
154
+ Each entry shows who changed which config, the action (created/updated/deleted/restored),
155
+ and the human-readable audit message produced by the server. The server already
156
+ translates JSON diffs into messages — this command does not re-translate.
157
+
158
+ EXAMPLES
159
+ $ qfg activity feed
160
+
161
+ $ qfg activity feed --limit 5
162
+
163
+ $ qfg activity feed --json
164
+ ```
165
+
166
+ _See code: [src/commands/activity/feed.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/activity/feed.ts)_
167
+
168
+ ## `qfg activity history [NAME]`
169
+
170
+ Per-config audit trail for a flag, config, log-level, segment, or schema.
171
+
172
+ ```
173
+ USAGE
174
+ $ qfg activity history [NAME] [--json] [--interactive] [--no-color] [--verbose] [-w <value>]
175
+
176
+ ARGUMENTS
177
+ NAME config/feature-flag/etc. name
178
+
179
+ GLOBAL FLAGS
180
+ -w, --workspace=<value> Workspace slug to use (overrides QUONFIG_WORKSPACE env var and saved default)
181
+ --[no-]interactive Force interactive mode
182
+ --json Format output as json.
183
+ --no-color Do not colorize output
184
+ --verbose Verbose output
185
+
186
+ DESCRIPTION
187
+ Per-config audit trail for a flag, config, log-level, segment, or schema.
188
+
189
+ Resolves NAME against the workspace metadata (no need to specify type) and
190
+ returns the full commit history for that file with audit messages translated
191
+ by the server. Restored entries are rendered distinctly so a recovery doesn't
192
+ look like a fresh create.
193
+
194
+ EXAMPLES
195
+ $ qfg activity history my.flag
196
+
197
+ $ qfg activity history request.timeout --json
198
+ ```
199
+
200
+ _See code: [src/commands/activity/history.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/activity/history.ts)_
201
+
202
+ ## `qfg activity restore [NAME]`
203
+
204
+ Undelete a config that was previously removed.
205
+
206
+ ```
207
+ USAGE
208
+ $ qfg activity restore [NAME] [--json] [--interactive] [--no-color] [--verbose] [-w <value>] [--type
209
+ feature_flag|config|log_level|segment|flag|log-level] [--yes]
210
+
211
+ ARGUMENTS
212
+ NAME config/feature-flag/etc. name
213
+
214
+ FLAGS
215
+ --type=<option> Config type. Optional — inferred from history when omitted.
216
+ <options: feature_flag|config|log_level|segment|flag|log-level>
217
+ --yes Skip the confirmation prompt
218
+
219
+ GLOBAL FLAGS
220
+ -w, --workspace=<value> Workspace slug to use (overrides QUONFIG_WORKSPACE env var and saved default)
221
+ --[no-]interactive Force interactive mode
222
+ --json Format output as json.
223
+ --no-color Do not colorize output
224
+ --verbose Verbose output
225
+
226
+ DESCRIPTION
227
+ Undelete a config that was previously removed.
228
+
229
+ Looks up the most recent deletion for the key (so you see who deleted it and when),
230
+ then asks for confirmation before re-creating the file from the prior content.
231
+ Schemas cannot be restored — use git history instead.
232
+
233
+ EXAMPLES
234
+ $ qfg activity restore my.flag --yes
235
+
236
+ $ qfg activity restore request.timeout --type config --yes
237
+ ```
238
+
239
+ _See code: [src/commands/activity/restore.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/activity/restore.ts)_
240
+
241
+ ## `qfg audit-log [NAME]`
242
+
243
+ Alias: `qfg audit-log` → `qfg activity feed`; `qfg audit-log NAME` → `qfg activity history NAME`.
244
+
245
+ ```
246
+ USAGE
247
+ $ qfg audit-log [NAME...] [--json] [--interactive] [--no-color] [--verbose]
248
+
249
+ ARGUMENTS
250
+ NAME... Optional config key. If present, dispatches to `activity history NAME`; otherwise `activity feed`.
251
+
252
+ GLOBAL FLAGS
253
+ --[no-]interactive Force interactive mode
254
+ --json Format output as json.
255
+ --no-color Do not colorize output
256
+ --verbose Verbose output
257
+
258
+ DESCRIPTION
259
+ Alias: `qfg audit-log` → `qfg activity feed`; `qfg audit-log NAME` → `qfg activity history NAME`.
260
+
261
+ EXAMPLES
262
+ $ qfg audit-log
263
+
264
+ $ qfg audit-log my.flag
265
+ ```
266
+
267
+ _See code: [src/commands/audit-log.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/audit-log.ts)_
268
+
67
269
  ## `qfg config-schema`
68
270
 
69
271
  Print the config file format reference: rules engine, operators, targeting criteria, segments, and weighted rollouts. Use --json-schema for the machine-readable JSON Schema document.
@@ -91,7 +293,7 @@ EXAMPLES
91
293
  $ qfg config-schema --json-schema # full JSON Schema document (copy into your editor)
92
294
  ```
93
295
 
94
- _See code: [src/commands/config-schema.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/config-schema.ts)_
296
+ _See code: [src/commands/config-schema.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/config-schema.ts)_
95
297
 
96
298
  ## `qfg create NAME`
97
299
 
@@ -176,7 +378,7 @@ EXAMPLES
176
378
  $ qfg set-rollout my.new.flag --environment production --true-percent 20
177
379
  ```
178
380
 
179
- _See code: [src/commands/create.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/create.ts)_
381
+ _See code: [src/commands/create.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/create.ts)_
180
382
 
181
383
  ## `qfg delete NAME`
182
384
 
@@ -222,7 +424,7 @@ EXAMPLES
222
424
  $ qfg delete my.config --yes
223
425
  ```
224
426
 
225
- _See code: [src/commands/delete.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/delete.ts)_
427
+ _See code: [src/commands/delete.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/delete.ts)_
226
428
 
227
429
  ## `qfg flag info [NAME]`
228
430
 
@@ -425,7 +627,7 @@ EXAMPLES
425
627
  $ qfg generate --targets node-ts -o ./dist # combine with targets
426
628
  ```
427
629
 
428
- _See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/generate.ts)_
630
+ _See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/generate.ts)_
429
631
 
430
632
  ## `qfg generate-new-hex-key`
431
633
 
@@ -448,7 +650,7 @@ EXAMPLES
448
650
  $ qfg generate-new-hex-key
449
651
  ```
450
652
 
451
- _See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/generate-new-hex-key.ts)_
653
+ _See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/generate-new-hex-key.ts)_
452
654
 
453
655
  ## `qfg get [NAME]`
454
656
 
@@ -480,7 +682,33 @@ EXAMPLES
480
682
  $ qfg get my.config.name --environment=production
481
683
  ```
482
684
 
483
- _See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/get.ts)_
685
+ _See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/get.ts)_
686
+
687
+ ## `qfg history NAME`
688
+
689
+ Alias: `qfg history NAME` → `qfg activity history NAME`.
690
+
691
+ ```
692
+ USAGE
693
+ $ qfg history NAME... [--json] [--interactive] [--no-color] [--verbose]
694
+
695
+ ARGUMENTS
696
+ NAME... Config key to inspect
697
+
698
+ GLOBAL FLAGS
699
+ --[no-]interactive Force interactive mode
700
+ --json Format output as json.
701
+ --no-color Do not colorize output
702
+ --verbose Verbose output
703
+
704
+ DESCRIPTION
705
+ Alias: `qfg history NAME` → `qfg activity history NAME`.
706
+
707
+ EXAMPLES
708
+ $ qfg history my.flag
709
+ ```
710
+
711
+ _See code: [src/commands/history.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/history.ts)_
484
712
 
485
713
  ## `qfg info [NAME]`
486
714
 
@@ -528,7 +756,7 @@ EXAMPLES
528
756
  $ qfg info my.config.name --exclude-evaluations # skip 24h stats
529
757
  ```
530
758
 
531
- _See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/info.ts)_
759
+ _See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/info.ts)_
532
760
 
533
761
  ## `qfg init [DIRECTORY]`
534
762
 
@@ -568,7 +796,7 @@ EXAMPLES
568
796
  $ qfg init --dry-run
569
797
  ```
570
798
 
571
- _See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/init.ts)_
799
+ _See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/init.ts)_
572
800
 
573
801
  ## `qfg interactive`
574
802
 
@@ -598,7 +826,7 @@ EXAMPLES
598
826
  $ qfg
599
827
  ```
600
828
 
601
- _See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/interactive.ts)_
829
+ _See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/interactive.ts)_
602
830
 
603
831
  ## `qfg list`
604
832
 
@@ -638,7 +866,32 @@ EXAMPLES
638
866
  $ qfg list --feature-flags
639
867
  ```
640
868
 
641
- _See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/list.ts)_
869
+ _See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/list.ts)_
870
+
871
+ ## `qfg log`
872
+
873
+ Alias: `qfg log` → `qfg activity feed`.
874
+
875
+ ```
876
+ USAGE
877
+ $ qfg log [--json] [--interactive] [--no-color] [--verbose]
878
+
879
+ GLOBAL FLAGS
880
+ --[no-]interactive Force interactive mode
881
+ --json Format output as json.
882
+ --no-color Do not colorize output
883
+ --verbose Verbose output
884
+
885
+ DESCRIPTION
886
+ Alias: `qfg log` → `qfg activity feed`.
887
+
888
+ EXAMPLES
889
+ $ qfg log
890
+
891
+ $ qfg log --limit 5
892
+ ```
893
+
894
+ _See code: [src/commands/log.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/log.ts)_
642
895
 
643
896
  ## `qfg log-level NAME`
644
897
 
@@ -703,7 +956,7 @@ EXAMPLES
703
956
  $ qfg log-level log-level.my-app --target=Chatty --value=INFO --environment=production
704
957
  ```
705
958
 
706
- _See code: [src/commands/log-level.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/log-level.ts)_
959
+ _See code: [src/commands/log-level.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/log-level.ts)_
707
960
 
708
961
  ## `qfg login`
709
962
 
@@ -728,7 +981,7 @@ EXAMPLES
728
981
  $ qfg login --profile myprofile
729
982
  ```
730
983
 
731
- _See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/login.ts)_
984
+ _See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/login.ts)_
732
985
 
733
986
  ## `qfg logout`
734
987
 
@@ -751,7 +1004,7 @@ EXAMPLES
751
1004
  $ qfg logout
752
1005
  ```
753
1006
 
754
- _See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/logout.ts)_
1007
+ _See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/logout.ts)_
755
1008
 
756
1009
  ## `qfg migrate`
757
1010
 
@@ -805,7 +1058,7 @@ EXAMPLES
805
1058
  $ qfg migrate --from launch --api-key $LAUNCH_API_KEY --dir ./quonfig-repo --staging
806
1059
  ```
807
1060
 
808
- _See code: [src/commands/migrate.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/migrate.ts)_
1061
+ _See code: [src/commands/migrate.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/migrate.ts)_
809
1062
 
810
1063
  ## `qfg migrate doctor`
811
1064
 
@@ -843,7 +1096,7 @@ EXAMPLES
843
1096
  $ qfg migrate doctor --json
844
1097
  ```
845
1098
 
846
- _See code: [src/commands/migrate/doctor.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/migrate/doctor.ts)_
1099
+ _See code: [src/commands/migrate/doctor.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/migrate/doctor.ts)_
847
1100
 
848
1101
  ## `qfg migrate my-code`
849
1102
 
@@ -875,7 +1128,7 @@ EXAMPLES
875
1128
  $ qfg migrate my-code --dry-run
876
1129
  ```
877
1130
 
878
- _See code: [src/commands/migrate/my-code.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/migrate/my-code.ts)_
1131
+ _See code: [src/commands/migrate/my-code.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/migrate/my-code.ts)_
879
1132
 
880
1133
  ## `qfg migrate status`
881
1134
 
@@ -906,7 +1159,7 @@ EXAMPLES
906
1159
  $ qfg migrate status --json
907
1160
  ```
908
1161
 
909
- _See code: [src/commands/migrate/status.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/migrate/status.ts)_
1162
+ _See code: [src/commands/migrate/status.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/migrate/status.ts)_
910
1163
 
911
1164
  ## `qfg override [NAME] [VALUE]`
912
1165
 
@@ -961,7 +1214,7 @@ EXAMPLES
961
1214
  $ qfg override my.flag true --env=staging
962
1215
  ```
963
1216
 
964
- _See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/override.ts)_
1217
+ _See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/override.ts)_
965
1218
 
966
1219
  ## `qfg pull`
967
1220
 
@@ -1008,7 +1261,7 @@ EXAMPLES
1008
1261
  $ qfg pull # uses QUONFIG_DIR env var
1009
1262
  ```
1010
1263
 
1011
- _See code: [src/commands/pull.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/pull.ts)_
1264
+ _See code: [src/commands/pull.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/pull.ts)_
1012
1265
 
1013
1266
  ## `qfg push`
1014
1267
 
@@ -1056,7 +1309,7 @@ EXAMPLES
1056
1309
  $ qfg push --dir ./our-config --yes
1057
1310
  ```
1058
1311
 
1059
- _See code: [src/commands/push.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/push.ts)_
1312
+ _See code: [src/commands/push.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/push.ts)_
1060
1313
 
1061
1314
  ## `qfg schema NAME`
1062
1315
 
@@ -1094,7 +1347,7 @@ EXAMPLES
1094
1347
  $ qfg schema my-schema --set-json-schema=@schemas/my-schema.json --protected
1095
1348
  ```
1096
1349
 
1097
- _See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/schema.ts)_
1350
+ _See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/schema.ts)_
1098
1351
 
1099
1352
  ## `qfg sdk-key`
1100
1353
 
@@ -1121,7 +1374,7 @@ EXAMPLES
1121
1374
  $ qfg sdk-key revoke <key-id>
1122
1375
  ```
1123
1376
 
1124
- _See code: [src/commands/sdk-key.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/sdk-key.ts)_
1377
+ _See code: [src/commands/sdk-key.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/sdk-key.ts)_
1125
1378
 
1126
1379
  ## `qfg sdk-key create`
1127
1380
 
@@ -1153,7 +1406,7 @@ EXAMPLES
1153
1406
  $ qfg sdk-key create --environment staging --type browser
1154
1407
  ```
1155
1408
 
1156
- _See code: [src/commands/sdk-key/create.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/sdk-key/create.ts)_
1409
+ _See code: [src/commands/sdk-key/create.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/sdk-key/create.ts)_
1157
1410
 
1158
1411
  ## `qfg sdk-key list`
1159
1412
 
@@ -1182,7 +1435,7 @@ EXAMPLES
1182
1435
  $ qfg sdk-key list --environment production
1183
1436
  ```
1184
1437
 
1185
- _See code: [src/commands/sdk-key/list.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/sdk-key/list.ts)_
1438
+ _See code: [src/commands/sdk-key/list.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/sdk-key/list.ts)_
1186
1439
 
1187
1440
  ## `qfg sdk-key revoke KEYID`
1188
1441
 
@@ -1209,7 +1462,7 @@ EXAMPLES
1209
1462
  $ qfg sdk-key revoke a1b2c3d4-e5f6-7890-abcd-ef1234567890
1210
1463
  ```
1211
1464
 
1212
- _See code: [src/commands/sdk-key/revoke.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/sdk-key/revoke.ts)_
1465
+ _See code: [src/commands/sdk-key/revoke.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/sdk-key/revoke.ts)_
1213
1466
 
1214
1467
  ## `qfg set-default [NAME]`
1215
1468
 
@@ -1280,7 +1533,7 @@ EXAMPLES
1280
1533
  $ qfg pull && qfg config-schema
1281
1534
  ```
1282
1535
 
1283
- _See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/set-default.ts)_
1536
+ _See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/set-default.ts)_
1284
1537
 
1285
1538
  ## `qfg set-rollout [NAME]`
1286
1539
 
@@ -1357,7 +1610,7 @@ EXAMPLES
1357
1610
  $ qfg set-rollout my.variant.flag --environment production --weights "a:33,b:33,c:34" --hash-by user.id
1358
1611
  ```
1359
1612
 
1360
- _See code: [src/commands/set-rollout.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/set-rollout.ts)_
1613
+ _See code: [src/commands/set-rollout.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/set-rollout.ts)_
1361
1614
 
1362
1615
  ## `qfg sync`
1363
1616
 
@@ -1389,7 +1642,7 @@ EXAMPLES
1389
1642
  $ qfg sync --watch --dir ./our-config --interval 30
1390
1643
  ```
1391
1644
 
1392
- _See code: [src/commands/sync.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/sync.ts)_
1645
+ _See code: [src/commands/sync.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/sync.ts)_
1393
1646
 
1394
1647
  ## `qfg toggle [NAME]`
1395
1648
 
@@ -1491,7 +1744,7 @@ EXAMPLES
1491
1744
  $ qfg verify --json
1492
1745
  ```
1493
1746
 
1494
- _See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/verify.ts)_
1747
+ _See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/verify.ts)_
1495
1748
 
1496
1749
  ## `qfg whoami`
1497
1750
 
@@ -1514,7 +1767,7 @@ EXAMPLES
1514
1767
  $ qfg whoami
1515
1768
  ```
1516
1769
 
1517
- _See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/whoami.ts)_
1770
+ _See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/whoami.ts)_
1518
1771
 
1519
1772
  ## `qfg workspace`
1520
1773
 
@@ -1537,7 +1790,7 @@ EXAMPLES
1537
1790
  $ qfg workspace
1538
1791
  ```
1539
1792
 
1540
- _See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/workspace.ts)_
1793
+ _See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/workspace.ts)_
1541
1794
 
1542
1795
  ## `qfg workspace bootstrap`
1543
1796
 
@@ -1570,7 +1823,7 @@ EXAMPLES
1570
1823
  $ qfg workspace bootstrap --dir ./our-config --skip-validate
1571
1824
  ```
1572
1825
 
1573
- _See code: [src/commands/workspace/bootstrap.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/workspace/bootstrap.ts)_
1826
+ _See code: [src/commands/workspace/bootstrap.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/workspace/bootstrap.ts)_
1574
1827
 
1575
1828
  ## `qfg workspace create SLUG`
1576
1829
 
@@ -1604,7 +1857,7 @@ EXAMPLES
1604
1857
  $ qfg workspace create my-team --org 11111111-1111-1111-1111-111111111111
1605
1858
  ```
1606
1859
 
1607
- _See code: [src/commands/workspace/create.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/workspace/create.ts)_
1860
+ _See code: [src/commands/workspace/create.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/workspace/create.ts)_
1608
1861
 
1609
1862
  ## `qfg workspace switch [SLUG]`
1610
1863
 
@@ -1632,7 +1885,7 @@ EXAMPLES
1632
1885
  $ qfg workspace switch acme/production
1633
1886
  ```
1634
1887
 
1635
- _See code: [src/commands/workspace/switch.ts](https://github.com/quonfig/cli/blob/v0.0.36/src/commands/workspace/switch.ts)_
1888
+ _See code: [src/commands/workspace/switch.ts](https://github.com/quonfig/cli/blob/v0.0.38/src/commands/workspace/switch.ts)_
1636
1889
  <!-- commandsstop -->
1637
1890
 
1638
1891
  ## Local Development
@@ -0,0 +1,7 @@
1
+ import type { JsonObj } from '../../result.js';
2
+ import { APICommand } from '../../index.js';
3
+ export default class ActivityDeleted extends APICommand {
4
+ static description: string;
5
+ static examples: string[];
6
+ run(): Promise<JsonObj | void>;
7
+ }
@@ -0,0 +1,32 @@
1
+ import { APICommand } from '../../index.js';
2
+ export default class ActivityDeleted extends APICommand {
3
+ static description = `List configs that were deleted from the workspace and have not been restored.
4
+
5
+ Useful for "did somebody delete X?" — pair with \`qfg activity restore NAME\`
6
+ to undelete a tombstoned config.`;
7
+ static examples = ['<%= config.bin %> <%= command.id %>', '<%= config.bin %> <%= command.id %> --json'];
8
+ async run() {
9
+ const request = await this.apiClient.post('/api/v1/activity/getDeletedItems', {
10
+ workspaceId: this.workspaceId,
11
+ });
12
+ if (!request.ok) {
13
+ const errorMsg = request.error?.error || `Failed to fetch deleted items: ${request.status}`;
14
+ return this.err(errorMsg, { serverError: request.error });
15
+ }
16
+ const items = (Array.isArray(request.json) ? request.json : []);
17
+ if (items.length === 0) {
18
+ this.log('No deleted items in this workspace.');
19
+ return { items: [] };
20
+ }
21
+ const maxTypeLen = Math.max(4, ...items.map((i) => i.configType.length));
22
+ const maxKeyLen = Math.max(3, ...items.map((i) => i.configKey.length));
23
+ const maxByLen = Math.max(2, ...items.map((i) => i.deletedBy.length));
24
+ const header = `${'TYPE'.padEnd(maxTypeLen)} ${'KEY'.padEnd(maxKeyLen)} ${'BY'.padEnd(maxByLen)} DELETED AT`;
25
+ const sep = `${'-'.repeat(maxTypeLen)} ${'-'.repeat(maxKeyLen)} ${'-'.repeat(maxByLen)} ${'-'.repeat(20)}`;
26
+ const rows = items.map((i) => `${i.configType.padEnd(maxTypeLen)} ${i.configKey.padEnd(maxKeyLen)} ${i.deletedBy.padEnd(maxByLen)} ${i.deletedAt.slice(0, 19).replace('T', ' ')}`);
27
+ this.log([header, sep, ...rows].join('\n'));
28
+ this.log('');
29
+ this.log('Restore one with: qfg activity restore <key>');
30
+ return { items };
31
+ }
32
+ }
@@ -0,0 +1,10 @@
1
+ import type { JsonObj } from '../../result.js';
2
+ import { APICommand } from '../../index.js';
3
+ export default class ActivityFeed extends APICommand {
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ limit: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
8
+ };
9
+ run(): Promise<JsonObj | void>;
10
+ }