@pithy-sh/core 0.8.0 → 0.10.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 (166) hide show
  1. package/dist/asyncapi/document.d.ts +46 -0
  2. package/dist/asyncapi/document.d.ts.map +1 -0
  3. package/dist/asyncapi/document.js +115 -0
  4. package/dist/capability/capability.d.ts +7 -0
  5. package/dist/capability/capability.d.ts.map +1 -1
  6. package/dist/capability/composition.d.ts.map +1 -1
  7. package/dist/capability/composition.js +5 -1
  8. package/dist/capability/settings.d.ts +10 -2
  9. package/dist/capability/settings.d.ts.map +1 -1
  10. package/dist/capability/settings.js +5 -3
  11. package/dist/cli/command.d.ts +364 -0
  12. package/dist/cli/command.d.ts.map +1 -0
  13. package/dist/cli/command.js +418 -0
  14. package/dist/cli/commandCatalog.generated.d.ts +2275 -0
  15. package/dist/cli/commandCatalog.generated.d.ts.map +1 -0
  16. package/dist/cli/commandCatalog.generated.js +2390 -0
  17. package/dist/cli/commandFacts.d.ts +164 -0
  18. package/dist/cli/commandFacts.d.ts.map +1 -0
  19. package/dist/cli/commandFacts.js +215 -0
  20. package/dist/controlPlane/error/errors.d.ts.map +1 -1
  21. package/dist/controlPlane/error/errors.js +4 -3
  22. package/dist/controlPlane/http/guard.d.ts.map +1 -1
  23. package/dist/controlPlane/http/guard.js +11 -1
  24. package/dist/controlPlane/http/routes.d.ts +1 -1
  25. package/dist/controlPlane/http/routes.d.ts.map +1 -1
  26. package/dist/controlPlane/http/routes.js +34 -7
  27. package/dist/createBackend.d.ts +7 -0
  28. package/dist/createBackend.d.ts.map +1 -1
  29. package/dist/createBackend.js +34 -4
  30. package/dist/entitlement/require.js +1 -1
  31. package/dist/error/cause.d.ts +16 -116
  32. package/dist/error/cause.d.ts.map +1 -1
  33. package/dist/error/cause.js +19 -153
  34. package/dist/error/http.d.ts +40 -0
  35. package/dist/error/http.d.ts.map +1 -1
  36. package/dist/error/payload.d.ts +80 -0
  37. package/dist/error/payload.d.ts.map +1 -1
  38. package/dist/error/payload.js +26 -0
  39. package/dist/error/pithyError.d.ts +44 -0
  40. package/dist/error/pithyError.d.ts.map +1 -1
  41. package/dist/error/pithyError.js +56 -1
  42. package/dist/error/unresolved.d.ts +265 -0
  43. package/dist/error/unresolved.d.ts.map +1 -0
  44. package/dist/error/unresolved.js +599 -0
  45. package/dist/error/wire.d.ts +20 -0
  46. package/dist/error/wire.d.ts.map +1 -0
  47. package/dist/error/wire.js +19 -0
  48. package/dist/http/oidcWebhook.d.ts +3 -3
  49. package/dist/http/oidcWebhook.js +3 -3
  50. package/dist/http/routeContract.js +1 -1
  51. package/dist/http/routeSpec.d.ts +66 -0
  52. package/dist/http/routeSpec.d.ts.map +1 -0
  53. package/dist/http/routeSpec.js +40 -0
  54. package/dist/http/sameOrigin.d.ts +1 -1
  55. package/dist/http/sameOrigin.js +1 -1
  56. package/dist/http/signedWebhook.d.ts +3 -3
  57. package/dist/http/signedWebhook.js +3 -3
  58. package/dist/http/socket.d.ts +52 -0
  59. package/dist/http/socket.d.ts.map +1 -0
  60. package/dist/http/socket.js +2 -0
  61. package/dist/http/subprotocol.d.ts +29 -0
  62. package/dist/http/subprotocol.d.ts.map +1 -0
  63. package/dist/http/subprotocol.js +37 -0
  64. package/dist/http/validation.d.ts +40 -8
  65. package/dist/http/validation.d.ts.map +1 -1
  66. package/dist/http/validation.js +25 -1
  67. package/dist/index.js +2 -2
  68. package/dist/logger/record.d.ts +23 -0
  69. package/dist/logger/record.d.ts.map +1 -1
  70. package/dist/migrations/bookkeeping.d.ts +21 -0
  71. package/dist/migrations/bookkeeping.d.ts.map +1 -1
  72. package/dist/migrations/bookkeeping.js +32 -3
  73. package/dist/migrations/groups.d.ts +140 -0
  74. package/dist/migrations/groups.d.ts.map +1 -0
  75. package/dist/migrations/groups.js +191 -0
  76. package/dist/migrations/migrateStep.d.ts +13 -0
  77. package/dist/migrations/migrateStep.d.ts.map +1 -0
  78. package/dist/migrations/migrateStep.js +20 -0
  79. package/dist/migrations/owner.d.ts +7 -0
  80. package/dist/migrations/owner.d.ts.map +1 -1
  81. package/dist/migrations/owner.js +11 -7
  82. package/dist/migrations/retained.js +2 -2
  83. package/dist/migrations/runner.d.ts +76 -5
  84. package/dist/migrations/runner.d.ts.map +1 -1
  85. package/dist/migrations/runner.js +130 -19
  86. package/dist/naming/domains.d.ts +30 -0
  87. package/dist/naming/domains.d.ts.map +1 -1
  88. package/dist/naming/domains.js +83 -4
  89. package/dist/naming/environment.d.ts.map +1 -1
  90. package/dist/naming/environment.js +2 -1
  91. package/dist/naming/packageName.d.ts +17 -0
  92. package/dist/naming/packageName.d.ts.map +1 -0
  93. package/dist/naming/packageName.js +22 -0
  94. package/dist/naming/provisionScope.d.ts.map +1 -1
  95. package/dist/naming/provisionScope.js +2 -1
  96. package/dist/openapi/document.d.ts +106 -0
  97. package/dist/openapi/document.d.ts.map +1 -0
  98. package/dist/openapi/document.js +314 -0
  99. package/dist/openapi/routeGroups.d.ts +8 -0
  100. package/dist/openapi/routeGroups.d.ts.map +1 -0
  101. package/dist/openapi/routeGroups.js +23 -0
  102. package/dist/seed/devLogin.d.ts +33 -0
  103. package/dist/seed/devLogin.d.ts.map +1 -1
  104. package/dist/seed/devLogin.js +28 -1
  105. package/dist/text/comments.js +66 -4
  106. package/dist/text/literals.d.ts +43 -0
  107. package/dist/text/literals.d.ts.map +1 -0
  108. package/dist/text/literals.js +293 -0
  109. package/dist/version.generated.d.ts +1 -1
  110. package/dist/version.generated.d.ts.map +1 -1
  111. package/dist/version.generated.js +1 -1
  112. package/dist/workflow/dispatchRoute.d.ts.map +1 -1
  113. package/dist/workflow/dispatchRoute.js +12 -6
  114. package/dist/workflow/faults.d.ts.map +1 -1
  115. package/dist/workflow/faults.js +2 -3
  116. package/dist/workflow/hostEnv.d.ts +1 -0
  117. package/dist/workflow/hostEnv.d.ts.map +1 -1
  118. package/dist/workflow/hostEnv.js +4 -2
  119. package/dist/workflow/loopback.d.ts.map +1 -1
  120. package/dist/workflow/loopback.js +2 -1
  121. package/package.json +3 -3
  122. package/src/asyncapi/document.ts +164 -0
  123. package/src/capability/capability.ts +7 -0
  124. package/src/capability/composition.ts +2 -1
  125. package/src/capability/settings.ts +19 -2
  126. package/src/cli/command.ts +865 -0
  127. package/src/cli/commandCatalog.generated.ts +2533 -0
  128. package/src/cli/commandFacts.ts +219 -0
  129. package/src/controlPlane/error/errors.ts +10 -3
  130. package/src/controlPlane/http/guard.ts +14 -2
  131. package/src/controlPlane/http/routes.ts +57 -9
  132. package/src/createBackend.ts +35 -2
  133. package/src/entitlement/require.ts +1 -1
  134. package/src/error/cause.ts +18 -181
  135. package/src/error/payload.ts +59 -0
  136. package/src/error/pithyError.ts +76 -0
  137. package/src/error/unresolved.ts +853 -0
  138. package/src/error/wire.ts +40 -0
  139. package/src/http/oidcWebhook.ts +3 -3
  140. package/src/http/routeContract.ts +1 -1
  141. package/src/http/routeSpec.ts +81 -0
  142. package/src/http/sameOrigin.ts +1 -1
  143. package/src/http/signedWebhook.ts +3 -3
  144. package/src/http/socket.ts +55 -0
  145. package/src/http/subprotocol.ts +47 -0
  146. package/src/http/validation.ts +50 -8
  147. package/src/migrations/bookkeeping.ts +39 -2
  148. package/src/migrations/groups.ts +295 -0
  149. package/src/migrations/migrateStep.ts +19 -0
  150. package/src/migrations/owner.ts +10 -6
  151. package/src/migrations/retained.ts +2 -2
  152. package/src/migrations/runner.ts +214 -22
  153. package/src/naming/domains.ts +97 -16
  154. package/src/naming/environment.ts +2 -1
  155. package/src/naming/packageName.ts +20 -0
  156. package/src/naming/provisionScope.ts +2 -1
  157. package/src/openapi/document.ts +412 -0
  158. package/src/openapi/routeGroups.ts +25 -0
  159. package/src/seed/devLogin.ts +31 -0
  160. package/src/text/comments.ts +56 -4
  161. package/src/text/literals.ts +294 -0
  162. package/src/version.generated.ts +1 -1
  163. package/src/workflow/dispatchRoute.ts +13 -6
  164. package/src/workflow/faults.ts +5 -3
  165. package/src/workflow/hostEnv.ts +9 -1
  166. package/src/workflow/loopback.ts +2 -1
@@ -0,0 +1,2390 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
3
+ //#region src/cli/commandCatalog.generated.ts
4
+ /** Every command the CLI runs, by path: its positionals, its flags and the rules over several flags. */
5
+ const COMMANDS = {
6
+ "add": {
7
+ "positionals": [{
8
+ "name": "capability",
9
+ "required": false,
10
+ "variadic": false
11
+ }],
12
+ "flags": {
13
+ "--list": {
14
+ "type": "boolean",
15
+ "required": false,
16
+ "repeatable": false
17
+ },
18
+ "--worker": {
19
+ "type": "string",
20
+ "required": false,
21
+ "repeatable": false
22
+ },
23
+ "--set": {
24
+ "type": "string",
25
+ "required": false,
26
+ "repeatable": true
27
+ },
28
+ "--eject": {
29
+ "type": "boolean",
30
+ "required": false,
31
+ "repeatable": false
32
+ },
33
+ "--force": {
34
+ "type": "boolean",
35
+ "required": false,
36
+ "repeatable": false
37
+ },
38
+ "--with-prerequisites": {
39
+ "type": "boolean",
40
+ "required": false,
41
+ "repeatable": false
42
+ },
43
+ "--dry-run": {
44
+ "type": "boolean",
45
+ "required": false,
46
+ "repeatable": false
47
+ },
48
+ "--json": {
49
+ "type": "boolean",
50
+ "required": false,
51
+ "repeatable": false
52
+ }
53
+ },
54
+ "groups": []
55
+ },
56
+ "alias": {
57
+ "positionals": [],
58
+ "flags": {
59
+ "--remove": {
60
+ "type": "boolean",
61
+ "required": false,
62
+ "repeatable": false
63
+ },
64
+ "--status": {
65
+ "type": "boolean",
66
+ "required": false,
67
+ "repeatable": false
68
+ },
69
+ "--json": {
70
+ "type": "boolean",
71
+ "required": false,
72
+ "repeatable": false
73
+ }
74
+ },
75
+ "groups": [{
76
+ "kind": "atMostOne",
77
+ "flags": ["--remove", "--status"]
78
+ }]
79
+ },
80
+ "cloudflare connect": {
81
+ "positionals": [],
82
+ "flags": {
83
+ "--profile": {
84
+ "type": "string",
85
+ "required": false,
86
+ "repeatable": false
87
+ },
88
+ "--account": {
89
+ "type": "string",
90
+ "required": false,
91
+ "repeatable": false
92
+ },
93
+ "--open": {
94
+ "type": "boolean",
95
+ "required": false,
96
+ "repeatable": false
97
+ },
98
+ "--json": {
99
+ "type": "boolean",
100
+ "required": false,
101
+ "repeatable": false
102
+ }
103
+ },
104
+ "groups": []
105
+ },
106
+ "cloudflare disconnect": {
107
+ "positionals": [],
108
+ "flags": {
109
+ "--profile": {
110
+ "type": "string",
111
+ "required": false,
112
+ "repeatable": false
113
+ },
114
+ "--unbind": {
115
+ "type": "boolean",
116
+ "required": false,
117
+ "repeatable": false
118
+ },
119
+ "--json": {
120
+ "type": "boolean",
121
+ "required": false,
122
+ "repeatable": false
123
+ }
124
+ },
125
+ "groups": []
126
+ },
127
+ "cloudflare use": {
128
+ "positionals": [{
129
+ "name": "profile",
130
+ "required": true,
131
+ "variadic": false
132
+ }, {
133
+ "name": "dir",
134
+ "required": false,
135
+ "variadic": false
136
+ }],
137
+ "flags": {
138
+ "--default": {
139
+ "type": "boolean",
140
+ "required": false,
141
+ "repeatable": false
142
+ },
143
+ "--json": {
144
+ "type": "boolean",
145
+ "required": false,
146
+ "repeatable": false
147
+ }
148
+ },
149
+ "groups": []
150
+ },
151
+ "contract": {
152
+ "positionals": [],
153
+ "flags": {
154
+ "--worker": {
155
+ "type": "string",
156
+ "required": false,
157
+ "repeatable": false
158
+ },
159
+ "--out": {
160
+ "type": "string",
161
+ "required": false,
162
+ "repeatable": false
163
+ },
164
+ "--env": {
165
+ "type": "string",
166
+ "required": false,
167
+ "repeatable": false,
168
+ "default": "prod"
169
+ },
170
+ "--json": {
171
+ "type": "boolean",
172
+ "required": false,
173
+ "repeatable": false
174
+ }
175
+ },
176
+ "groups": []
177
+ },
178
+ "dashboard connect": {
179
+ "positionals": [],
180
+ "flags": {
181
+ "--env": {
182
+ "type": "string",
183
+ "required": false,
184
+ "repeatable": false,
185
+ "default": "dev"
186
+ },
187
+ "--worker": {
188
+ "type": "string",
189
+ "required": false,
190
+ "repeatable": false
191
+ },
192
+ "--origin": {
193
+ "type": "string",
194
+ "required": false,
195
+ "repeatable": false
196
+ },
197
+ "--json": {
198
+ "type": "boolean",
199
+ "required": false,
200
+ "repeatable": false
201
+ },
202
+ "--open": {
203
+ "type": "boolean",
204
+ "required": false,
205
+ "repeatable": false
206
+ },
207
+ "--worker-url": {
208
+ "type": "string",
209
+ "required": false,
210
+ "repeatable": false
211
+ },
212
+ "--scope": {
213
+ "type": "string",
214
+ "required": false,
215
+ "repeatable": true
216
+ },
217
+ "--update": {
218
+ "type": "boolean",
219
+ "required": false,
220
+ "repeatable": false
221
+ },
222
+ "--public-key": {
223
+ "type": "string",
224
+ "required": false,
225
+ "repeatable": false
226
+ },
227
+ "--issuer": {
228
+ "type": "string",
229
+ "required": false,
230
+ "repeatable": false
231
+ },
232
+ "--key-id": {
233
+ "type": "string",
234
+ "required": false,
235
+ "repeatable": false
236
+ },
237
+ "--project": {
238
+ "type": "string",
239
+ "required": false,
240
+ "repeatable": false
241
+ }
242
+ },
243
+ "groups": [
244
+ {
245
+ "kind": "requires",
246
+ "flag": "--public-key",
247
+ "needs": ["--issuer"],
248
+ "any": false
249
+ },
250
+ {
251
+ "kind": "requires",
252
+ "flag": "--issuer",
253
+ "needs": ["--public-key"],
254
+ "any": false
255
+ },
256
+ {
257
+ "kind": "requires",
258
+ "flag": "--key-id",
259
+ "needs": ["--public-key"],
260
+ "any": false
261
+ },
262
+ {
263
+ "kind": "requires",
264
+ "flag": "--update",
265
+ "needs": [
266
+ "--worker-url",
267
+ "--scope",
268
+ "--public-key"
269
+ ],
270
+ "any": true
271
+ }
272
+ ]
273
+ },
274
+ "dashboard disconnect": {
275
+ "positionals": [],
276
+ "flags": {
277
+ "--env": {
278
+ "type": "string",
279
+ "required": false,
280
+ "repeatable": false,
281
+ "default": "dev"
282
+ },
283
+ "--worker": {
284
+ "type": "string",
285
+ "required": false,
286
+ "repeatable": false
287
+ },
288
+ "--origin": {
289
+ "type": "string",
290
+ "required": false,
291
+ "repeatable": false
292
+ },
293
+ "--json": {
294
+ "type": "boolean",
295
+ "required": false,
296
+ "repeatable": false
297
+ },
298
+ "--open": {
299
+ "type": "boolean",
300
+ "required": false,
301
+ "repeatable": false
302
+ },
303
+ "--yes": {
304
+ "type": "boolean",
305
+ "required": false,
306
+ "repeatable": false
307
+ },
308
+ "--local": {
309
+ "type": "boolean",
310
+ "required": false,
311
+ "repeatable": false
312
+ }
313
+ },
314
+ "groups": []
315
+ },
316
+ "dashboard revoke-key": {
317
+ "positionals": [],
318
+ "flags": {
319
+ "--env": {
320
+ "type": "string",
321
+ "required": false,
322
+ "repeatable": false,
323
+ "default": "dev"
324
+ },
325
+ "--worker": {
326
+ "type": "string",
327
+ "required": false,
328
+ "repeatable": false
329
+ },
330
+ "--origin": {
331
+ "type": "string",
332
+ "required": false,
333
+ "repeatable": false
334
+ },
335
+ "--json": {
336
+ "type": "boolean",
337
+ "required": false,
338
+ "repeatable": false
339
+ },
340
+ "--open": {
341
+ "type": "boolean",
342
+ "required": false,
343
+ "repeatable": false
344
+ },
345
+ "--key-id": {
346
+ "type": "string",
347
+ "required": true,
348
+ "repeatable": false
349
+ },
350
+ "--yes": {
351
+ "type": "boolean",
352
+ "required": false,
353
+ "repeatable": false
354
+ }
355
+ },
356
+ "groups": []
357
+ },
358
+ "dashboard rotate": {
359
+ "positionals": [],
360
+ "flags": {
361
+ "--env": {
362
+ "type": "string",
363
+ "required": false,
364
+ "repeatable": false,
365
+ "default": "dev"
366
+ },
367
+ "--worker": {
368
+ "type": "string",
369
+ "required": false,
370
+ "repeatable": false
371
+ },
372
+ "--origin": {
373
+ "type": "string",
374
+ "required": false,
375
+ "repeatable": false
376
+ },
377
+ "--json": {
378
+ "type": "boolean",
379
+ "required": false,
380
+ "repeatable": false
381
+ },
382
+ "--open": {
383
+ "type": "boolean",
384
+ "required": false,
385
+ "repeatable": false
386
+ }
387
+ },
388
+ "groups": []
389
+ },
390
+ "dashboard status": {
391
+ "positionals": [],
392
+ "flags": {
393
+ "--env": {
394
+ "type": "string",
395
+ "required": false,
396
+ "repeatable": false,
397
+ "default": "dev"
398
+ },
399
+ "--worker": {
400
+ "type": "string",
401
+ "required": false,
402
+ "repeatable": false
403
+ },
404
+ "--origin": {
405
+ "type": "string",
406
+ "required": false,
407
+ "repeatable": false
408
+ },
409
+ "--json": {
410
+ "type": "boolean",
411
+ "required": false,
412
+ "repeatable": false
413
+ },
414
+ "--open": {
415
+ "type": "boolean",
416
+ "required": false,
417
+ "repeatable": false
418
+ },
419
+ "--verify": {
420
+ "type": "boolean",
421
+ "required": false,
422
+ "repeatable": false
423
+ }
424
+ },
425
+ "groups": []
426
+ },
427
+ "deploy": {
428
+ "positionals": [],
429
+ "flags": {
430
+ "--env": {
431
+ "type": "string",
432
+ "required": false,
433
+ "repeatable": false
434
+ },
435
+ "--apps": {
436
+ "type": "boolean",
437
+ "required": false,
438
+ "repeatable": false
439
+ },
440
+ "--kit": {
441
+ "type": "boolean",
442
+ "required": false,
443
+ "repeatable": false
444
+ },
445
+ "--force": {
446
+ "type": "boolean",
447
+ "required": false,
448
+ "repeatable": false
449
+ },
450
+ "--dry-run": {
451
+ "type": "boolean",
452
+ "required": false,
453
+ "repeatable": false
454
+ },
455
+ "--json": {
456
+ "type": "boolean",
457
+ "required": false,
458
+ "repeatable": false
459
+ },
460
+ "--events": {
461
+ "type": "boolean",
462
+ "required": false,
463
+ "repeatable": false
464
+ }
465
+ },
466
+ "groups": [{
467
+ "kind": "requires",
468
+ "flag": "--force",
469
+ "needs": ["--env"],
470
+ "any": false
471
+ }, {
472
+ "kind": "requires",
473
+ "flag": "--events",
474
+ "needs": ["--json"],
475
+ "any": false
476
+ }]
477
+ },
478
+ "dev": {
479
+ "positionals": [],
480
+ "flags": {
481
+ "--list": {
482
+ "type": "boolean",
483
+ "required": false,
484
+ "repeatable": false
485
+ },
486
+ "--app": {
487
+ "type": "string",
488
+ "required": false,
489
+ "repeatable": true
490
+ },
491
+ "--disable-autostart": {
492
+ "type": "boolean",
493
+ "required": false,
494
+ "repeatable": false
495
+ },
496
+ "--enable-autostart": {
497
+ "type": "boolean",
498
+ "required": false,
499
+ "repeatable": false
500
+ },
501
+ "--tui": {
502
+ "type": "boolean",
503
+ "required": false,
504
+ "repeatable": false
505
+ },
506
+ "--json": {
507
+ "type": "boolean",
508
+ "required": false,
509
+ "repeatable": false
510
+ }
511
+ },
512
+ "groups": [
513
+ {
514
+ "kind": "atMostOne",
515
+ "flags": ["--disable-autostart", "--enable-autostart"]
516
+ },
517
+ {
518
+ "kind": "requires",
519
+ "flag": "--disable-autostart",
520
+ "needs": ["--app"],
521
+ "any": false
522
+ },
523
+ {
524
+ "kind": "requires",
525
+ "flag": "--enable-autostart",
526
+ "needs": ["--app"],
527
+ "any": false
528
+ }
529
+ ]
530
+ },
531
+ "dev logs": {
532
+ "positionals": [],
533
+ "flags": {
534
+ "--app": {
535
+ "type": "string",
536
+ "required": false,
537
+ "repeatable": true
538
+ },
539
+ "--lines": {
540
+ "type": "string",
541
+ "required": false,
542
+ "repeatable": false
543
+ },
544
+ "--since": {
545
+ "type": "string",
546
+ "required": false,
547
+ "repeatable": false
548
+ },
549
+ "--follow": {
550
+ "type": "boolean",
551
+ "required": false,
552
+ "repeatable": false
553
+ },
554
+ "--timestamps": {
555
+ "type": "boolean",
556
+ "required": false,
557
+ "repeatable": false
558
+ },
559
+ "--branch": {
560
+ "type": "string",
561
+ "required": false,
562
+ "repeatable": false
563
+ },
564
+ "--json": {
565
+ "type": "boolean",
566
+ "required": false,
567
+ "repeatable": false
568
+ }
569
+ },
570
+ "groups": []
571
+ },
572
+ "docs connect": {
573
+ "positionals": [],
574
+ "flags": {
575
+ "--client": {
576
+ "type": "string",
577
+ "required": false,
578
+ "repeatable": false,
579
+ "enum": [
580
+ "claude-code",
581
+ "cursor",
582
+ "vscode",
583
+ "gemini",
584
+ "claude-desktop",
585
+ "cline",
586
+ "zed",
587
+ "codex",
588
+ "goose",
589
+ "continue"
590
+ ]
591
+ },
592
+ "--all": {
593
+ "type": "boolean",
594
+ "required": false,
595
+ "repeatable": false
596
+ },
597
+ "--scope": {
598
+ "type": "string",
599
+ "required": false,
600
+ "repeatable": false,
601
+ "enum": ["project", "user"]
602
+ },
603
+ "--print": {
604
+ "type": "boolean",
605
+ "required": false,
606
+ "repeatable": false
607
+ },
608
+ "--json": {
609
+ "type": "boolean",
610
+ "required": false,
611
+ "repeatable": false
612
+ }
613
+ },
614
+ "groups": [{
615
+ "kind": "atMostOne",
616
+ "flags": ["--client", "--all"]
617
+ }]
618
+ },
619
+ "docs disconnect": {
620
+ "positionals": [],
621
+ "flags": {
622
+ "--client": {
623
+ "type": "string",
624
+ "required": false,
625
+ "repeatable": false,
626
+ "enum": [
627
+ "claude-code",
628
+ "cursor",
629
+ "vscode",
630
+ "gemini",
631
+ "claude-desktop",
632
+ "cline",
633
+ "zed",
634
+ "codex",
635
+ "goose",
636
+ "continue"
637
+ ]
638
+ },
639
+ "--all": {
640
+ "type": "boolean",
641
+ "required": false,
642
+ "repeatable": false
643
+ },
644
+ "--scope": {
645
+ "type": "string",
646
+ "required": false,
647
+ "repeatable": false,
648
+ "enum": ["project", "user"]
649
+ },
650
+ "--json": {
651
+ "type": "boolean",
652
+ "required": false,
653
+ "repeatable": false
654
+ }
655
+ },
656
+ "groups": [{
657
+ "kind": "atMostOne",
658
+ "flags": ["--client", "--all"]
659
+ }]
660
+ },
661
+ "docs status": {
662
+ "positionals": [],
663
+ "flags": { "--json": {
664
+ "type": "boolean",
665
+ "required": false,
666
+ "repeatable": false
667
+ } },
668
+ "groups": []
669
+ },
670
+ "doctor": {
671
+ "positionals": [],
672
+ "flags": {
673
+ "--worker": {
674
+ "type": "string",
675
+ "required": false,
676
+ "repeatable": false
677
+ },
678
+ "--disable-notifier": {
679
+ "type": "boolean",
680
+ "required": false,
681
+ "repeatable": false
682
+ },
683
+ "--enable-notifier": {
684
+ "type": "boolean",
685
+ "required": false,
686
+ "repeatable": false
687
+ },
688
+ "--offline": {
689
+ "type": "boolean",
690
+ "required": false,
691
+ "repeatable": false
692
+ },
693
+ "--json": {
694
+ "type": "boolean",
695
+ "required": false,
696
+ "repeatable": false
697
+ }
698
+ },
699
+ "groups": [{
700
+ "kind": "atMostOne",
701
+ "flags": ["--disable-notifier", "--enable-notifier"]
702
+ }]
703
+ },
704
+ "email deprovision": {
705
+ "positionals": [],
706
+ "flags": {
707
+ "--env": {
708
+ "type": "string",
709
+ "required": false,
710
+ "repeatable": false
711
+ },
712
+ "--suppression": {
713
+ "type": "boolean",
714
+ "required": false,
715
+ "repeatable": false
716
+ },
717
+ "--destroy-retained": {
718
+ "type": "string",
719
+ "required": false,
720
+ "repeatable": false
721
+ },
722
+ "--json": {
723
+ "type": "boolean",
724
+ "required": false,
725
+ "repeatable": false
726
+ }
727
+ },
728
+ "groups": []
729
+ },
730
+ "email provision": {
731
+ "positionals": [],
732
+ "flags": {
733
+ "--json": {
734
+ "type": "boolean",
735
+ "required": false,
736
+ "repeatable": false
737
+ },
738
+ "--worker": {
739
+ "type": "string",
740
+ "required": false,
741
+ "repeatable": false
742
+ },
743
+ "--routing-zone": {
744
+ "type": "string",
745
+ "required": false,
746
+ "repeatable": false
747
+ },
748
+ "--inbound-address": {
749
+ "type": "string",
750
+ "required": false,
751
+ "repeatable": false
752
+ },
753
+ "--app-worker": {
754
+ "type": "string",
755
+ "required": false,
756
+ "repeatable": false
757
+ }
758
+ },
759
+ "groups": [{
760
+ "kind": "allOrNone",
761
+ "flags": [
762
+ "--routing-zone",
763
+ "--inbound-address",
764
+ "--app-worker"
765
+ ]
766
+ }]
767
+ },
768
+ "email test": {
769
+ "positionals": [],
770
+ "flags": {
771
+ "--to": {
772
+ "type": "string",
773
+ "required": true,
774
+ "repeatable": false
775
+ },
776
+ "--template": {
777
+ "type": "string",
778
+ "required": false,
779
+ "repeatable": false,
780
+ "default": "welcome",
781
+ "enum": [
782
+ "magicLink",
783
+ "supportReply",
784
+ "otp",
785
+ "welcome",
786
+ "securityAlert",
787
+ "invite",
788
+ "testerNudge",
789
+ "passwordChanged",
790
+ "operationalNotice",
791
+ "newsletter",
792
+ "leadCapture",
793
+ "marketingCampaign"
794
+ ]
795
+ },
796
+ "--from": {
797
+ "type": "string",
798
+ "required": false,
799
+ "repeatable": false
800
+ },
801
+ "--json": {
802
+ "type": "boolean",
803
+ "required": false,
804
+ "repeatable": false
805
+ }
806
+ },
807
+ "groups": []
808
+ },
809
+ "env": {
810
+ "positionals": [{
811
+ "name": "name",
812
+ "required": false,
813
+ "variadic": false
814
+ }],
815
+ "flags": {
816
+ "--worker": {
817
+ "type": "string",
818
+ "required": false,
819
+ "repeatable": false
820
+ },
821
+ "--json": {
822
+ "type": "boolean",
823
+ "required": false,
824
+ "repeatable": false
825
+ }
826
+ },
827
+ "groups": []
828
+ },
829
+ "feature create": {
830
+ "positionals": [{
831
+ "name": "slug",
832
+ "required": true,
833
+ "variadic": false
834
+ }],
835
+ "flags": {
836
+ "--issue": {
837
+ "type": "string",
838
+ "required": true,
839
+ "repeatable": false
840
+ },
841
+ "--skip-install": {
842
+ "type": "boolean",
843
+ "required": false,
844
+ "repeatable": false
845
+ },
846
+ "--json": {
847
+ "type": "boolean",
848
+ "required": false,
849
+ "repeatable": false
850
+ }
851
+ },
852
+ "groups": []
853
+ },
854
+ "feature destroy": {
855
+ "positionals": [],
856
+ "flags": {
857
+ "--env": {
858
+ "type": "string",
859
+ "required": false,
860
+ "repeatable": false
861
+ },
862
+ "--branch": {
863
+ "type": "string",
864
+ "required": false,
865
+ "repeatable": false
866
+ },
867
+ "--local-only": {
868
+ "type": "boolean",
869
+ "required": false,
870
+ "repeatable": false
871
+ },
872
+ "--json": {
873
+ "type": "boolean",
874
+ "required": false,
875
+ "repeatable": false
876
+ }
877
+ },
878
+ "groups": []
879
+ },
880
+ "feature prune": {
881
+ "positionals": [],
882
+ "flags": {
883
+ "--dry-run": {
884
+ "type": "boolean",
885
+ "required": false,
886
+ "repeatable": false
887
+ },
888
+ "--json": {
889
+ "type": "boolean",
890
+ "required": false,
891
+ "repeatable": false
892
+ }
893
+ },
894
+ "groups": []
895
+ },
896
+ "feature sync": {
897
+ "positionals": [],
898
+ "flags": {
899
+ "--skip-data": {
900
+ "type": "boolean",
901
+ "required": false,
902
+ "repeatable": false
903
+ },
904
+ "--json": {
905
+ "type": "boolean",
906
+ "required": false,
907
+ "repeatable": false
908
+ }
909
+ },
910
+ "groups": []
911
+ },
912
+ "init": {
913
+ "positionals": [],
914
+ "flags": {
915
+ "--name": {
916
+ "type": "string",
917
+ "required": false,
918
+ "repeatable": false
919
+ },
920
+ "--worker": {
921
+ "type": "string",
922
+ "required": false,
923
+ "repeatable": false
924
+ },
925
+ "--target": {
926
+ "type": "string",
927
+ "required": false,
928
+ "repeatable": false
929
+ },
930
+ "--dir": {
931
+ "type": "string",
932
+ "required": false,
933
+ "repeatable": false,
934
+ "default": "."
935
+ },
936
+ "--json": {
937
+ "type": "boolean",
938
+ "required": false,
939
+ "repeatable": false
940
+ }
941
+ },
942
+ "groups": []
943
+ },
944
+ "media deprovision": {
945
+ "positionals": [],
946
+ "flags": {
947
+ "--env": {
948
+ "type": "string",
949
+ "required": false,
950
+ "repeatable": false
951
+ },
952
+ "--storage": {
953
+ "type": "boolean",
954
+ "required": false,
955
+ "repeatable": false
956
+ },
957
+ "--r2-access-key-id": {
958
+ "type": "string",
959
+ "required": false,
960
+ "repeatable": false
961
+ },
962
+ "--r2-secret-access-key": {
963
+ "type": "string",
964
+ "required": false,
965
+ "repeatable": false
966
+ },
967
+ "--json": {
968
+ "type": "boolean",
969
+ "required": false,
970
+ "repeatable": false
971
+ }
972
+ },
973
+ "groups": []
974
+ },
975
+ "media provision": {
976
+ "positionals": [],
977
+ "flags": {
978
+ "--worker": {
979
+ "type": "string",
980
+ "required": false,
981
+ "repeatable": false
982
+ },
983
+ "--api-token": {
984
+ "type": "string",
985
+ "required": false,
986
+ "repeatable": false
987
+ },
988
+ "--r2-access-key-id": {
989
+ "type": "string",
990
+ "required": false,
991
+ "repeatable": false
992
+ },
993
+ "--r2-secret-access-key": {
994
+ "type": "string",
995
+ "required": false,
996
+ "repeatable": false
997
+ },
998
+ "--r2-api-token": {
999
+ "type": "string",
1000
+ "required": false,
1001
+ "repeatable": false
1002
+ },
1003
+ "--json": {
1004
+ "type": "boolean",
1005
+ "required": false,
1006
+ "repeatable": false
1007
+ }
1008
+ },
1009
+ "groups": []
1010
+ },
1011
+ "migrate": {
1012
+ "positionals": [],
1013
+ "flags": {
1014
+ "--env": {
1015
+ "type": "string",
1016
+ "required": false,
1017
+ "repeatable": false,
1018
+ "default": "dev"
1019
+ },
1020
+ "--worker": {
1021
+ "type": "string",
1022
+ "required": false,
1023
+ "repeatable": false
1024
+ },
1025
+ "--binding": {
1026
+ "type": "string",
1027
+ "required": false,
1028
+ "repeatable": false
1029
+ },
1030
+ "--group": {
1031
+ "type": "string",
1032
+ "required": false,
1033
+ "repeatable": false
1034
+ },
1035
+ "--rollback": {
1036
+ "type": "boolean",
1037
+ "required": false,
1038
+ "repeatable": false
1039
+ },
1040
+ "--confirm-rollback": {
1041
+ "type": "string",
1042
+ "required": false,
1043
+ "repeatable": false
1044
+ },
1045
+ "--destroy-retained": {
1046
+ "type": "string",
1047
+ "required": false,
1048
+ "repeatable": false
1049
+ },
1050
+ "--dry-run": {
1051
+ "type": "boolean",
1052
+ "required": false,
1053
+ "repeatable": false
1054
+ },
1055
+ "--json": {
1056
+ "type": "boolean",
1057
+ "required": false,
1058
+ "repeatable": false
1059
+ }
1060
+ },
1061
+ "groups": [{
1062
+ "kind": "requires",
1063
+ "flag": "--rollback",
1064
+ "needs": ["--group"],
1065
+ "any": false
1066
+ }]
1067
+ },
1068
+ "payments provision": {
1069
+ "positionals": [],
1070
+ "flags": {
1071
+ "--json": {
1072
+ "type": "boolean",
1073
+ "required": false,
1074
+ "repeatable": false
1075
+ },
1076
+ "--worker": {
1077
+ "type": "string",
1078
+ "required": false,
1079
+ "repeatable": false
1080
+ }
1081
+ },
1082
+ "groups": []
1083
+ },
1084
+ "payments reconcile": {
1085
+ "positionals": [],
1086
+ "flags": {
1087
+ "--env": {
1088
+ "type": "string",
1089
+ "required": false,
1090
+ "repeatable": false,
1091
+ "default": "staging"
1092
+ },
1093
+ "--subject": {
1094
+ "type": "string",
1095
+ "required": false,
1096
+ "repeatable": false
1097
+ },
1098
+ "--rail": {
1099
+ "type": "string",
1100
+ "required": false,
1101
+ "repeatable": false,
1102
+ "enum": [
1103
+ "apple",
1104
+ "google",
1105
+ "stripe",
1106
+ "lemonSqueezy",
1107
+ "paddle"
1108
+ ]
1109
+ },
1110
+ "--dry-run": {
1111
+ "type": "boolean",
1112
+ "required": false,
1113
+ "repeatable": false
1114
+ },
1115
+ "--json": {
1116
+ "type": "boolean",
1117
+ "required": false,
1118
+ "repeatable": false
1119
+ }
1120
+ },
1121
+ "groups": []
1122
+ },
1123
+ "provision": {
1124
+ "positionals": [],
1125
+ "flags": {
1126
+ "--env": {
1127
+ "type": "string",
1128
+ "required": false,
1129
+ "repeatable": false
1130
+ },
1131
+ "--feature": {
1132
+ "type": "boolean",
1133
+ "required": false,
1134
+ "repeatable": false
1135
+ },
1136
+ "--yes": {
1137
+ "type": "boolean",
1138
+ "required": false,
1139
+ "repeatable": false
1140
+ },
1141
+ "--confirm": {
1142
+ "type": "string",
1143
+ "required": false,
1144
+ "repeatable": false
1145
+ },
1146
+ "--seed": {
1147
+ "type": "boolean",
1148
+ "required": false,
1149
+ "repeatable": false
1150
+ },
1151
+ "--dry-run": {
1152
+ "type": "boolean",
1153
+ "required": false,
1154
+ "repeatable": false
1155
+ },
1156
+ "--json": {
1157
+ "type": "boolean",
1158
+ "required": false,
1159
+ "repeatable": false
1160
+ },
1161
+ "--events": {
1162
+ "type": "boolean",
1163
+ "required": false,
1164
+ "repeatable": false
1165
+ }
1166
+ },
1167
+ "groups": [{
1168
+ "kind": "exactlyOne",
1169
+ "flags": ["--env", "--feature"]
1170
+ }, {
1171
+ "kind": "requires",
1172
+ "flag": "--events",
1173
+ "needs": ["--json"],
1174
+ "any": false
1175
+ }]
1176
+ },
1177
+ "remove": {
1178
+ "positionals": [{
1179
+ "name": "capability",
1180
+ "required": true,
1181
+ "variadic": false
1182
+ }],
1183
+ "flags": {
1184
+ "--worker": {
1185
+ "type": "string",
1186
+ "required": false,
1187
+ "repeatable": false
1188
+ },
1189
+ "--drop": {
1190
+ "type": "boolean",
1191
+ "required": false,
1192
+ "repeatable": false
1193
+ },
1194
+ "--env": {
1195
+ "type": "string",
1196
+ "required": false,
1197
+ "repeatable": false,
1198
+ "default": "dev"
1199
+ },
1200
+ "--destroy-retained": {
1201
+ "type": "string",
1202
+ "required": false,
1203
+ "repeatable": false
1204
+ },
1205
+ "--json": {
1206
+ "type": "boolean",
1207
+ "required": false,
1208
+ "repeatable": false
1209
+ }
1210
+ },
1211
+ "groups": []
1212
+ },
1213
+ "schema": {
1214
+ "positionals": [{
1215
+ "name": "command",
1216
+ "required": false,
1217
+ "variadic": true
1218
+ }],
1219
+ "flags": { "--json": {
1220
+ "type": "boolean",
1221
+ "required": false,
1222
+ "repeatable": false
1223
+ } },
1224
+ "groups": []
1225
+ },
1226
+ "secrets create": {
1227
+ "positionals": [{
1228
+ "name": "name",
1229
+ "required": true,
1230
+ "variadic": false
1231
+ }],
1232
+ "flags": {
1233
+ "--env": {
1234
+ "type": "string",
1235
+ "required": false,
1236
+ "repeatable": false
1237
+ },
1238
+ "--json": {
1239
+ "type": "boolean",
1240
+ "required": false,
1241
+ "repeatable": false
1242
+ }
1243
+ },
1244
+ "groups": []
1245
+ },
1246
+ "secrets deprovision": {
1247
+ "positionals": [],
1248
+ "flags": {
1249
+ "--env": {
1250
+ "type": "string",
1251
+ "required": false,
1252
+ "repeatable": false
1253
+ },
1254
+ "--keys": {
1255
+ "type": "boolean",
1256
+ "required": false,
1257
+ "repeatable": false
1258
+ },
1259
+ "--destroy-retained": {
1260
+ "type": "string",
1261
+ "required": false,
1262
+ "repeatable": false
1263
+ },
1264
+ "--json": {
1265
+ "type": "boolean",
1266
+ "required": false,
1267
+ "repeatable": false
1268
+ }
1269
+ },
1270
+ "groups": []
1271
+ },
1272
+ "secrets edit": {
1273
+ "positionals": [],
1274
+ "flags": { "--json": {
1275
+ "type": "boolean",
1276
+ "required": false,
1277
+ "repeatable": false
1278
+ } },
1279
+ "groups": []
1280
+ },
1281
+ "secrets ls": {
1282
+ "positionals": [],
1283
+ "flags": {
1284
+ "--all": {
1285
+ "type": "boolean",
1286
+ "required": false,
1287
+ "repeatable": false
1288
+ },
1289
+ "--json": {
1290
+ "type": "boolean",
1291
+ "required": false,
1292
+ "repeatable": false
1293
+ }
1294
+ },
1295
+ "groups": []
1296
+ },
1297
+ "secrets provision": {
1298
+ "positionals": [],
1299
+ "flags": { "--json": {
1300
+ "type": "boolean",
1301
+ "required": false,
1302
+ "repeatable": false
1303
+ } },
1304
+ "groups": []
1305
+ },
1306
+ "secrets rm": {
1307
+ "positionals": [{
1308
+ "name": "name",
1309
+ "required": true,
1310
+ "variadic": false
1311
+ }],
1312
+ "flags": {
1313
+ "--env": {
1314
+ "type": "string",
1315
+ "required": false,
1316
+ "repeatable": false
1317
+ },
1318
+ "--json": {
1319
+ "type": "boolean",
1320
+ "required": false,
1321
+ "repeatable": false
1322
+ },
1323
+ "--backend": {
1324
+ "type": "string",
1325
+ "required": false,
1326
+ "repeatable": false,
1327
+ "enum": ["d1", "cf-secrets-store"]
1328
+ }
1329
+ },
1330
+ "groups": []
1331
+ },
1332
+ "secrets rotate": {
1333
+ "positionals": [{
1334
+ "name": "name",
1335
+ "required": true,
1336
+ "variadic": false
1337
+ }],
1338
+ "flags": {
1339
+ "--env": {
1340
+ "type": "string",
1341
+ "required": false,
1342
+ "repeatable": false
1343
+ },
1344
+ "--json": {
1345
+ "type": "boolean",
1346
+ "required": false,
1347
+ "repeatable": false
1348
+ },
1349
+ "--dry-run": {
1350
+ "type": "boolean",
1351
+ "required": false,
1352
+ "repeatable": false
1353
+ }
1354
+ },
1355
+ "groups": []
1356
+ },
1357
+ "secrets update": {
1358
+ "positionals": [{
1359
+ "name": "name",
1360
+ "required": true,
1361
+ "variadic": false
1362
+ }],
1363
+ "flags": {
1364
+ "--env": {
1365
+ "type": "string",
1366
+ "required": false,
1367
+ "repeatable": false
1368
+ },
1369
+ "--json": {
1370
+ "type": "boolean",
1371
+ "required": false,
1372
+ "repeatable": false
1373
+ }
1374
+ },
1375
+ "groups": []
1376
+ },
1377
+ "secrets verify": {
1378
+ "positionals": [],
1379
+ "flags": {
1380
+ "--env": {
1381
+ "type": "string",
1382
+ "required": false,
1383
+ "repeatable": false
1384
+ },
1385
+ "--sweep": {
1386
+ "type": "boolean",
1387
+ "required": false,
1388
+ "repeatable": false
1389
+ },
1390
+ "--json": {
1391
+ "type": "boolean",
1392
+ "required": false,
1393
+ "repeatable": false
1394
+ }
1395
+ },
1396
+ "groups": []
1397
+ },
1398
+ "seed": {
1399
+ "positionals": [],
1400
+ "flags": {
1401
+ "--env": {
1402
+ "type": "string",
1403
+ "required": false,
1404
+ "repeatable": false,
1405
+ "default": "dev"
1406
+ },
1407
+ "--worker": {
1408
+ "type": "string",
1409
+ "required": false,
1410
+ "repeatable": false
1411
+ },
1412
+ "--json": {
1413
+ "type": "boolean",
1414
+ "required": false,
1415
+ "repeatable": false
1416
+ },
1417
+ "--dry-run": {
1418
+ "type": "boolean",
1419
+ "required": false,
1420
+ "repeatable": false
1421
+ },
1422
+ "--redo": {
1423
+ "type": "boolean",
1424
+ "required": false,
1425
+ "repeatable": false
1426
+ },
1427
+ "--confirm-reset": {
1428
+ "type": "string",
1429
+ "required": false,
1430
+ "repeatable": false
1431
+ },
1432
+ "--destroy-retained": {
1433
+ "type": "string",
1434
+ "required": false,
1435
+ "repeatable": false
1436
+ },
1437
+ "--yes": {
1438
+ "type": "boolean",
1439
+ "required": false,
1440
+ "repeatable": false
1441
+ },
1442
+ "--confirm-production": {
1443
+ "type": "string",
1444
+ "required": false,
1445
+ "repeatable": false
1446
+ },
1447
+ "--host": {
1448
+ "type": "string",
1449
+ "required": false,
1450
+ "repeatable": false
1451
+ }
1452
+ },
1453
+ "groups": []
1454
+ },
1455
+ "storage deprovision": {
1456
+ "positionals": [],
1457
+ "flags": {
1458
+ "--env": {
1459
+ "type": "string",
1460
+ "required": false,
1461
+ "repeatable": false
1462
+ },
1463
+ "--storage": {
1464
+ "type": "boolean",
1465
+ "required": false,
1466
+ "repeatable": false
1467
+ },
1468
+ "--r2-access-key-id": {
1469
+ "type": "string",
1470
+ "required": false,
1471
+ "repeatable": false
1472
+ },
1473
+ "--r2-secret-access-key": {
1474
+ "type": "string",
1475
+ "required": false,
1476
+ "repeatable": false
1477
+ },
1478
+ "--json": {
1479
+ "type": "boolean",
1480
+ "required": false,
1481
+ "repeatable": false
1482
+ }
1483
+ },
1484
+ "groups": []
1485
+ },
1486
+ "storage provision": {
1487
+ "positionals": [],
1488
+ "flags": {
1489
+ "--worker": {
1490
+ "type": "string",
1491
+ "required": false,
1492
+ "repeatable": false
1493
+ },
1494
+ "--api-token": {
1495
+ "type": "string",
1496
+ "required": false,
1497
+ "repeatable": false
1498
+ },
1499
+ "--r2-access-key-id": {
1500
+ "type": "string",
1501
+ "required": false,
1502
+ "repeatable": false
1503
+ },
1504
+ "--r2-secret-access-key": {
1505
+ "type": "string",
1506
+ "required": false,
1507
+ "repeatable": false
1508
+ },
1509
+ "--json": {
1510
+ "type": "boolean",
1511
+ "required": false,
1512
+ "repeatable": false
1513
+ }
1514
+ },
1515
+ "groups": []
1516
+ },
1517
+ "support deprovision": {
1518
+ "positionals": [],
1519
+ "flags": {
1520
+ "--json": {
1521
+ "type": "boolean",
1522
+ "required": false,
1523
+ "repeatable": false
1524
+ },
1525
+ "--env": {
1526
+ "type": "string",
1527
+ "required": false,
1528
+ "repeatable": false
1529
+ },
1530
+ "--worker": {
1531
+ "type": "string",
1532
+ "required": false,
1533
+ "repeatable": false
1534
+ },
1535
+ "--storage": {
1536
+ "type": "boolean",
1537
+ "required": false,
1538
+ "repeatable": false
1539
+ },
1540
+ "--routing-zone": {
1541
+ "type": "string",
1542
+ "required": false,
1543
+ "repeatable": false
1544
+ },
1545
+ "--r2-access-key-id": {
1546
+ "type": "string",
1547
+ "required": false,
1548
+ "repeatable": false
1549
+ },
1550
+ "--r2-secret-access-key": {
1551
+ "type": "string",
1552
+ "required": false,
1553
+ "repeatable": false
1554
+ }
1555
+ },
1556
+ "groups": []
1557
+ },
1558
+ "support provision": {
1559
+ "positionals": [],
1560
+ "flags": {
1561
+ "--json": {
1562
+ "type": "boolean",
1563
+ "required": false,
1564
+ "repeatable": false
1565
+ },
1566
+ "--worker": {
1567
+ "type": "string",
1568
+ "required": false,
1569
+ "repeatable": false
1570
+ },
1571
+ "--routing-zone": {
1572
+ "type": "string",
1573
+ "required": false,
1574
+ "repeatable": false
1575
+ },
1576
+ "--inbound-address": {
1577
+ "type": "string",
1578
+ "required": false,
1579
+ "repeatable": false
1580
+ },
1581
+ "--app-worker": {
1582
+ "type": "string",
1583
+ "required": false,
1584
+ "repeatable": false
1585
+ }
1586
+ },
1587
+ "groups": [{
1588
+ "kind": "allOrNone",
1589
+ "flags": [
1590
+ "--routing-zone",
1591
+ "--inbound-address",
1592
+ "--app-worker"
1593
+ ]
1594
+ }]
1595
+ },
1596
+ "testers close": {
1597
+ "positionals": [{
1598
+ "name": "cohort",
1599
+ "required": true,
1600
+ "variadic": false
1601
+ }],
1602
+ "flags": {
1603
+ "--env": {
1604
+ "type": "string",
1605
+ "required": false,
1606
+ "repeatable": false,
1607
+ "default": "dev"
1608
+ },
1609
+ "--json": {
1610
+ "type": "boolean",
1611
+ "required": false,
1612
+ "repeatable": false
1613
+ }
1614
+ },
1615
+ "groups": []
1616
+ },
1617
+ "testers create": {
1618
+ "positionals": [{
1619
+ "name": "name",
1620
+ "required": true,
1621
+ "variadic": false
1622
+ }],
1623
+ "flags": {
1624
+ "--env": {
1625
+ "type": "string",
1626
+ "required": false,
1627
+ "repeatable": false,
1628
+ "default": "dev"
1629
+ },
1630
+ "--target-size": {
1631
+ "type": "string",
1632
+ "required": false,
1633
+ "repeatable": false
1634
+ },
1635
+ "--window-days": {
1636
+ "type": "string",
1637
+ "required": false,
1638
+ "repeatable": false
1639
+ },
1640
+ "--max-roster": {
1641
+ "type": "string",
1642
+ "required": false,
1643
+ "repeatable": false
1644
+ },
1645
+ "--platform": {
1646
+ "type": "string",
1647
+ "required": false,
1648
+ "repeatable": false,
1649
+ "enum": ["android", "ios"]
1650
+ },
1651
+ "--store-url": {
1652
+ "type": "string",
1653
+ "required": false,
1654
+ "repeatable": false
1655
+ },
1656
+ "--json": {
1657
+ "type": "boolean",
1658
+ "required": false,
1659
+ "repeatable": false
1660
+ }
1661
+ },
1662
+ "groups": []
1663
+ },
1664
+ "testers deprovision": {
1665
+ "positionals": [],
1666
+ "flags": {
1667
+ "--json": {
1668
+ "type": "boolean",
1669
+ "required": false,
1670
+ "repeatable": false
1671
+ },
1672
+ "--env": {
1673
+ "type": "string",
1674
+ "required": false,
1675
+ "repeatable": false
1676
+ }
1677
+ },
1678
+ "groups": []
1679
+ },
1680
+ "testers invite": {
1681
+ "positionals": [{
1682
+ "name": "cohort",
1683
+ "required": true,
1684
+ "variadic": false
1685
+ }],
1686
+ "flags": {
1687
+ "--email": {
1688
+ "type": "string",
1689
+ "required": true,
1690
+ "repeatable": true
1691
+ },
1692
+ "--name": {
1693
+ "type": "string",
1694
+ "required": false,
1695
+ "repeatable": false
1696
+ },
1697
+ "--env": {
1698
+ "type": "string",
1699
+ "required": false,
1700
+ "repeatable": false,
1701
+ "default": "dev"
1702
+ },
1703
+ "--json": {
1704
+ "type": "boolean",
1705
+ "required": false,
1706
+ "repeatable": false
1707
+ }
1708
+ },
1709
+ "groups": []
1710
+ },
1711
+ "testers list": {
1712
+ "positionals": [],
1713
+ "flags": {
1714
+ "--env": {
1715
+ "type": "string",
1716
+ "required": false,
1717
+ "repeatable": false,
1718
+ "default": "dev"
1719
+ },
1720
+ "--json": {
1721
+ "type": "boolean",
1722
+ "required": false,
1723
+ "repeatable": false
1724
+ }
1725
+ },
1726
+ "groups": []
1727
+ },
1728
+ "testers pending": {
1729
+ "positionals": [{
1730
+ "name": "cohort",
1731
+ "required": true,
1732
+ "variadic": false
1733
+ }],
1734
+ "flags": {
1735
+ "--env": {
1736
+ "type": "string",
1737
+ "required": false,
1738
+ "repeatable": false,
1739
+ "default": "dev"
1740
+ },
1741
+ "--json": {
1742
+ "type": "boolean",
1743
+ "required": false,
1744
+ "repeatable": false
1745
+ }
1746
+ },
1747
+ "groups": []
1748
+ },
1749
+ "testers provision": {
1750
+ "positionals": [],
1751
+ "flags": {
1752
+ "--json": {
1753
+ "type": "boolean",
1754
+ "required": false,
1755
+ "repeatable": false
1756
+ },
1757
+ "--env": {
1758
+ "type": "string",
1759
+ "required": false,
1760
+ "repeatable": false
1761
+ },
1762
+ "--worker": {
1763
+ "type": "string",
1764
+ "required": false,
1765
+ "repeatable": false
1766
+ }
1767
+ },
1768
+ "groups": []
1769
+ },
1770
+ "testers remove": {
1771
+ "positionals": [{
1772
+ "name": "cohort",
1773
+ "required": true,
1774
+ "variadic": false
1775
+ }],
1776
+ "flags": {
1777
+ "--email": {
1778
+ "type": "string",
1779
+ "required": true,
1780
+ "repeatable": false
1781
+ },
1782
+ "--reason": {
1783
+ "type": "string",
1784
+ "required": false,
1785
+ "repeatable": false
1786
+ },
1787
+ "--env": {
1788
+ "type": "string",
1789
+ "required": false,
1790
+ "repeatable": false,
1791
+ "default": "dev"
1792
+ },
1793
+ "--json": {
1794
+ "type": "boolean",
1795
+ "required": false,
1796
+ "repeatable": false
1797
+ }
1798
+ },
1799
+ "groups": []
1800
+ },
1801
+ "testers roster": {
1802
+ "positionals": [{
1803
+ "name": "cohort",
1804
+ "required": true,
1805
+ "variadic": false
1806
+ }],
1807
+ "flags": {
1808
+ "--env": {
1809
+ "type": "string",
1810
+ "required": false,
1811
+ "repeatable": false,
1812
+ "default": "dev"
1813
+ },
1814
+ "--json": {
1815
+ "type": "boolean",
1816
+ "required": false,
1817
+ "repeatable": false
1818
+ }
1819
+ },
1820
+ "groups": []
1821
+ },
1822
+ "testers run": {
1823
+ "positionals": [],
1824
+ "flags": {
1825
+ "--cohort": {
1826
+ "type": "string",
1827
+ "required": false,
1828
+ "repeatable": false
1829
+ },
1830
+ "--env": {
1831
+ "type": "string",
1832
+ "required": false,
1833
+ "repeatable": false,
1834
+ "default": "dev"
1835
+ },
1836
+ "--skip-nudges": {
1837
+ "type": "boolean",
1838
+ "required": false,
1839
+ "repeatable": false
1840
+ },
1841
+ "--json": {
1842
+ "type": "boolean",
1843
+ "required": false,
1844
+ "repeatable": false
1845
+ }
1846
+ },
1847
+ "groups": []
1848
+ },
1849
+ "testers status": {
1850
+ "positionals": [{
1851
+ "name": "cohort",
1852
+ "required": true,
1853
+ "variadic": false
1854
+ }],
1855
+ "flags": {
1856
+ "--env": {
1857
+ "type": "string",
1858
+ "required": false,
1859
+ "repeatable": false,
1860
+ "default": "dev"
1861
+ },
1862
+ "--trend-days": {
1863
+ "type": "string",
1864
+ "required": false,
1865
+ "repeatable": false
1866
+ },
1867
+ "--json": {
1868
+ "type": "boolean",
1869
+ "required": false,
1870
+ "repeatable": false
1871
+ }
1872
+ },
1873
+ "groups": []
1874
+ },
1875
+ "token list": {
1876
+ "positionals": [],
1877
+ "flags": {
1878
+ "--env": {
1879
+ "type": "string",
1880
+ "required": false,
1881
+ "repeatable": false,
1882
+ "default": "dev"
1883
+ },
1884
+ "--json": {
1885
+ "type": "boolean",
1886
+ "required": false,
1887
+ "repeatable": false
1888
+ }
1889
+ },
1890
+ "groups": []
1891
+ },
1892
+ "token mint": {
1893
+ "positionals": [{
1894
+ "name": "profile",
1895
+ "required": true,
1896
+ "variadic": false
1897
+ }],
1898
+ "flags": {
1899
+ "--env": {
1900
+ "type": "string",
1901
+ "required": false,
1902
+ "repeatable": false,
1903
+ "default": "dev"
1904
+ },
1905
+ "--store": {
1906
+ "type": "string",
1907
+ "required": false,
1908
+ "repeatable": false,
1909
+ "enum": [
1910
+ "secrets-store",
1911
+ "dev-vars",
1912
+ "ephemeral"
1913
+ ]
1914
+ },
1915
+ "--permission": {
1916
+ "type": "string",
1917
+ "required": false,
1918
+ "repeatable": true,
1919
+ "enum": [
1920
+ "d1:read",
1921
+ "d1:write",
1922
+ "workers:write",
1923
+ "secrets:read",
1924
+ "secrets:write",
1925
+ "email:routing",
1926
+ "kv:write",
1927
+ "r2:read",
1928
+ "r2:write",
1929
+ "vectorize:read",
1930
+ "vectorize:write",
1931
+ "ai:read",
1932
+ "zone:read",
1933
+ "routes:write"
1934
+ ]
1935
+ },
1936
+ "--json": {
1937
+ "type": "boolean",
1938
+ "required": false,
1939
+ "repeatable": false
1940
+ }
1941
+ },
1942
+ "groups": []
1943
+ },
1944
+ "token revoke": {
1945
+ "positionals": [{
1946
+ "name": "profile",
1947
+ "required": true,
1948
+ "variadic": false
1949
+ }],
1950
+ "flags": {
1951
+ "--env": {
1952
+ "type": "string",
1953
+ "required": false,
1954
+ "repeatable": false,
1955
+ "default": "dev"
1956
+ },
1957
+ "--json": {
1958
+ "type": "boolean",
1959
+ "required": false,
1960
+ "repeatable": false
1961
+ }
1962
+ },
1963
+ "groups": []
1964
+ },
1965
+ "token rotate": {
1966
+ "positionals": [{
1967
+ "name": "profile",
1968
+ "required": true,
1969
+ "variadic": false
1970
+ }],
1971
+ "flags": {
1972
+ "--env": {
1973
+ "type": "string",
1974
+ "required": false,
1975
+ "repeatable": false,
1976
+ "default": "dev"
1977
+ },
1978
+ "--store": {
1979
+ "type": "string",
1980
+ "required": false,
1981
+ "repeatable": false,
1982
+ "enum": [
1983
+ "secrets-store",
1984
+ "dev-vars",
1985
+ "ephemeral"
1986
+ ]
1987
+ },
1988
+ "--permission": {
1989
+ "type": "string",
1990
+ "required": false,
1991
+ "repeatable": true,
1992
+ "enum": [
1993
+ "d1:read",
1994
+ "d1:write",
1995
+ "workers:write",
1996
+ "secrets:read",
1997
+ "secrets:write",
1998
+ "email:routing",
1999
+ "kv:write",
2000
+ "r2:read",
2001
+ "r2:write",
2002
+ "vectorize:read",
2003
+ "vectorize:write",
2004
+ "ai:read",
2005
+ "zone:read",
2006
+ "routes:write"
2007
+ ]
2008
+ },
2009
+ "--keep-previous": {
2010
+ "type": "boolean",
2011
+ "required": false,
2012
+ "repeatable": false
2013
+ },
2014
+ "--json": {
2015
+ "type": "boolean",
2016
+ "required": false,
2017
+ "repeatable": false
2018
+ }
2019
+ },
2020
+ "groups": []
2021
+ },
2022
+ "turnstile deprovision": {
2023
+ "positionals": [],
2024
+ "flags": {
2025
+ "--json": {
2026
+ "type": "boolean",
2027
+ "required": false,
2028
+ "repeatable": false
2029
+ },
2030
+ "--worker": {
2031
+ "type": "string",
2032
+ "required": false,
2033
+ "repeatable": false
2034
+ }
2035
+ },
2036
+ "groups": []
2037
+ },
2038
+ "turnstile provision": {
2039
+ "positionals": [],
2040
+ "flags": {
2041
+ "--json": {
2042
+ "type": "boolean",
2043
+ "required": false,
2044
+ "repeatable": false
2045
+ },
2046
+ "--worker": {
2047
+ "type": "string",
2048
+ "required": false,
2049
+ "repeatable": false
2050
+ },
2051
+ "--allow-shared-domain": {
2052
+ "type": "boolean",
2053
+ "required": false,
2054
+ "repeatable": false
2055
+ }
2056
+ },
2057
+ "groups": []
2058
+ },
2059
+ "ui add": {
2060
+ "positionals": [{
2061
+ "name": "framework",
2062
+ "required": true,
2063
+ "variadic": false
2064
+ }],
2065
+ "flags": {
2066
+ "--worker": {
2067
+ "type": "string",
2068
+ "required": false,
2069
+ "repeatable": false
2070
+ },
2071
+ "--auth": {
2072
+ "type": "boolean",
2073
+ "required": false,
2074
+ "repeatable": false
2075
+ },
2076
+ "--payments": {
2077
+ "type": "boolean",
2078
+ "required": false,
2079
+ "repeatable": false
2080
+ },
2081
+ "--organization": {
2082
+ "type": "boolean",
2083
+ "required": false,
2084
+ "repeatable": false
2085
+ },
2086
+ "--dry-run": {
2087
+ "type": "boolean",
2088
+ "required": false,
2089
+ "repeatable": false
2090
+ },
2091
+ "--json": {
2092
+ "type": "boolean",
2093
+ "required": false,
2094
+ "repeatable": false
2095
+ }
2096
+ },
2097
+ "groups": []
2098
+ },
2099
+ "ui list": {
2100
+ "positionals": [],
2101
+ "flags": { "--json": {
2102
+ "type": "boolean",
2103
+ "required": false,
2104
+ "repeatable": false
2105
+ } },
2106
+ "groups": []
2107
+ },
2108
+ "ui sync": {
2109
+ "positionals": [],
2110
+ "flags": {
2111
+ "--worker": {
2112
+ "type": "string",
2113
+ "required": false,
2114
+ "repeatable": false
2115
+ },
2116
+ "--check": {
2117
+ "type": "boolean",
2118
+ "required": false,
2119
+ "repeatable": false
2120
+ },
2121
+ "--json": {
2122
+ "type": "boolean",
2123
+ "required": false,
2124
+ "repeatable": false
2125
+ }
2126
+ },
2127
+ "groups": []
2128
+ },
2129
+ "upgrade": {
2130
+ "positionals": [],
2131
+ "flags": {
2132
+ "--env": {
2133
+ "type": "string",
2134
+ "required": false,
2135
+ "repeatable": false,
2136
+ "default": "dev"
2137
+ },
2138
+ "--worker": {
2139
+ "type": "string",
2140
+ "required": false,
2141
+ "repeatable": false
2142
+ },
2143
+ "--dry-run": {
2144
+ "type": "boolean",
2145
+ "required": false,
2146
+ "repeatable": false
2147
+ },
2148
+ "--migrate": {
2149
+ "type": "boolean",
2150
+ "required": false,
2151
+ "repeatable": false
2152
+ },
2153
+ "--packages": {
2154
+ "type": "boolean",
2155
+ "required": false,
2156
+ "repeatable": false
2157
+ },
2158
+ "--latest": {
2159
+ "type": "boolean",
2160
+ "required": false,
2161
+ "repeatable": false
2162
+ },
2163
+ "--json": {
2164
+ "type": "boolean",
2165
+ "required": false,
2166
+ "repeatable": false
2167
+ }
2168
+ },
2169
+ "groups": [{
2170
+ "kind": "requires",
2171
+ "flag": "--latest",
2172
+ "needs": ["--packages"],
2173
+ "any": false
2174
+ }, {
2175
+ "kind": "atMostOne",
2176
+ "flags": ["--packages", "--worker"]
2177
+ }]
2178
+ },
2179
+ "vector provision": {
2180
+ "positionals": [],
2181
+ "flags": {
2182
+ "--env": {
2183
+ "type": "string",
2184
+ "required": false,
2185
+ "repeatable": false,
2186
+ "default": "dev"
2187
+ },
2188
+ "--worker": {
2189
+ "type": "string",
2190
+ "required": false,
2191
+ "repeatable": false
2192
+ },
2193
+ "--json": {
2194
+ "type": "boolean",
2195
+ "required": false,
2196
+ "repeatable": false
2197
+ }
2198
+ },
2199
+ "groups": []
2200
+ },
2201
+ "vector reprocess": {
2202
+ "positionals": [],
2203
+ "flags": {
2204
+ "--env": {
2205
+ "type": "string",
2206
+ "required": false,
2207
+ "repeatable": false,
2208
+ "default": "dev"
2209
+ },
2210
+ "--worker": {
2211
+ "type": "string",
2212
+ "required": false,
2213
+ "repeatable": false
2214
+ },
2215
+ "--index": {
2216
+ "type": "string",
2217
+ "required": false,
2218
+ "repeatable": false
2219
+ },
2220
+ "--all": {
2221
+ "type": "boolean",
2222
+ "required": false,
2223
+ "repeatable": false
2224
+ },
2225
+ "--filter": {
2226
+ "type": "string",
2227
+ "required": false,
2228
+ "repeatable": false
2229
+ },
2230
+ "--json": {
2231
+ "type": "boolean",
2232
+ "required": false,
2233
+ "repeatable": false
2234
+ }
2235
+ },
2236
+ "groups": []
2237
+ },
2238
+ "vector reset": {
2239
+ "positionals": [],
2240
+ "flags": {
2241
+ "--env": {
2242
+ "type": "string",
2243
+ "required": false,
2244
+ "repeatable": false,
2245
+ "default": "dev"
2246
+ },
2247
+ "--worker": {
2248
+ "type": "string",
2249
+ "required": false,
2250
+ "repeatable": false
2251
+ },
2252
+ "--confirm-reset": {
2253
+ "type": "string",
2254
+ "required": false,
2255
+ "repeatable": false
2256
+ },
2257
+ "--json": {
2258
+ "type": "boolean",
2259
+ "required": false,
2260
+ "repeatable": false
2261
+ }
2262
+ },
2263
+ "groups": []
2264
+ },
2265
+ "worker add": {
2266
+ "positionals": [{
2267
+ "name": "name",
2268
+ "required": true,
2269
+ "variadic": false
2270
+ }],
2271
+ "flags": {
2272
+ "--skip-install": {
2273
+ "type": "boolean",
2274
+ "required": false,
2275
+ "repeatable": false
2276
+ },
2277
+ "--json": {
2278
+ "type": "boolean",
2279
+ "required": false,
2280
+ "repeatable": false
2281
+ }
2282
+ },
2283
+ "groups": []
2284
+ },
2285
+ "worker list": {
2286
+ "positionals": [],
2287
+ "flags": { "--json": {
2288
+ "type": "boolean",
2289
+ "required": false,
2290
+ "repeatable": false
2291
+ } },
2292
+ "groups": []
2293
+ },
2294
+ "worker remove": {
2295
+ "positionals": [{
2296
+ "name": "name",
2297
+ "required": true,
2298
+ "variadic": false
2299
+ }],
2300
+ "flags": { "--json": {
2301
+ "type": "boolean",
2302
+ "required": false,
2303
+ "repeatable": false
2304
+ } },
2305
+ "groups": []
2306
+ },
2307
+ "worker rename": {
2308
+ "positionals": [{
2309
+ "name": "from",
2310
+ "required": true,
2311
+ "variadic": false
2312
+ }, {
2313
+ "name": "to",
2314
+ "required": true,
2315
+ "variadic": false
2316
+ }],
2317
+ "flags": {
2318
+ "--force": {
2319
+ "type": "boolean",
2320
+ "required": false,
2321
+ "repeatable": false
2322
+ },
2323
+ "--dry-run": {
2324
+ "type": "boolean",
2325
+ "required": false,
2326
+ "repeatable": false
2327
+ },
2328
+ "--json": {
2329
+ "type": "boolean",
2330
+ "required": false,
2331
+ "repeatable": false
2332
+ }
2333
+ },
2334
+ "groups": []
2335
+ },
2336
+ "worker sync": {
2337
+ "positionals": [],
2338
+ "flags": {
2339
+ "--worker": {
2340
+ "type": "string",
2341
+ "required": false,
2342
+ "repeatable": false
2343
+ },
2344
+ "--env": {
2345
+ "type": "string",
2346
+ "required": false,
2347
+ "repeatable": false
2348
+ },
2349
+ "--json": {
2350
+ "type": "boolean",
2351
+ "required": false,
2352
+ "repeatable": false
2353
+ }
2354
+ },
2355
+ "groups": []
2356
+ }
2357
+ };
2358
+ /** The flags every command takes, answered before any command runs. */
2359
+ const GLOBAL_FLAGS = [
2360
+ "--help",
2361
+ "--no-input",
2362
+ "--no-pretty",
2363
+ "--pithier",
2364
+ "--pithiest",
2365
+ "--pretty",
2366
+ "--version",
2367
+ "-h",
2368
+ "-v"
2369
+ ];
2370
+ /** The groups, which only list their subcommands: a sentence may name one, and nobody runs one. */
2371
+ const GROUPS = [
2372
+ "cloudflare",
2373
+ "dashboard",
2374
+ "docs",
2375
+ "email",
2376
+ "feature",
2377
+ "media",
2378
+ "payments",
2379
+ "secrets",
2380
+ "storage",
2381
+ "support",
2382
+ "testers",
2383
+ "token",
2384
+ "turnstile",
2385
+ "ui",
2386
+ "vector",
2387
+ "worker"
2388
+ ];
2389
+ //#endregion
2390
+ export { COMMANDS, GLOBAL_FLAGS, GROUPS };