@greatwait/cli 0.1.0-alpha.4 → 0.1.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/catalog.d.ts +4 -5
- package/dist/catalog.js +551 -168
- package/dist/cli.js +4 -2
- package/dist/commands.js +206 -60
- package/dist/exit.d.ts +15 -2
- package/dist/exit.js +25 -2
- package/dist/member-catalog.d.ts +1 -0
- package/dist/member-catalog.js +1 -0
- package/dist/member-commands.d.ts +6 -0
- package/dist/member-commands.js +192 -0
- package/dist/node-runtime.js +1 -1
- package/dist/oauth.js +2 -2
- package/dist/operate.d.ts +21 -0
- package/dist/operate.js +254 -17
- package/dist/remediation.d.ts +1 -1
- package/dist/remediation.js +8 -0
- package/dist/session.js +1 -1
- package/dist/support.d.ts +5 -7
- package/dist/support.js +11 -13
- package/package.json +4 -4
package/dist/catalog.js
CHANGED
|
@@ -80,37 +80,37 @@ export function declaredRequestHeaders(operation) {
|
|
|
80
80
|
/* -------------------------------------------------------------------------- */
|
|
81
81
|
const API_URL = {
|
|
82
82
|
flag: "--api-url",
|
|
83
|
-
summary: "The
|
|
83
|
+
summary: "The GreatWait API to use, such as https://api.greatwait.dev. Defaults to the one you signed in to.",
|
|
84
84
|
value: "<origin>",
|
|
85
85
|
};
|
|
86
86
|
const PAGE_OPTIONS = [
|
|
87
87
|
{
|
|
88
88
|
flag: "--limit",
|
|
89
|
-
summary: "How many
|
|
89
|
+
summary: "How many to show on one page.",
|
|
90
90
|
value: "<count>",
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
93
|
flag: "--cursor",
|
|
94
|
-
summary: "
|
|
94
|
+
summary: "Carry on from here: the cursor the previous page printed.",
|
|
95
95
|
value: "<cursor>",
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
98
|
flag: "--all",
|
|
99
|
-
summary: "
|
|
99
|
+
summary: "Read up to 50 pages. If there are more, it prints a cursor to carry on from.",
|
|
100
100
|
},
|
|
101
101
|
];
|
|
102
102
|
const CONFIRM = {
|
|
103
103
|
flag: "--yes",
|
|
104
|
-
summary: "
|
|
104
|
+
summary: "Don't ask first. Needed in scripts, where nobody can answer.",
|
|
105
105
|
};
|
|
106
106
|
const IF_MATCH = {
|
|
107
107
|
flag: "--if-match",
|
|
108
|
-
summary: "
|
|
108
|
+
summary: "Only change it if nobody else has since you read it. The ETag comes from the read command.",
|
|
109
109
|
value: "<etag>",
|
|
110
110
|
};
|
|
111
111
|
const IDEMPOTENCY = {
|
|
112
112
|
flag: "--idempotency-key",
|
|
113
|
-
summary: "
|
|
113
|
+
summary: "Any unique string. The command makes one up and prints it if you leave it out. Repeat it to retry safely: it runs once.",
|
|
114
114
|
value: "<key>",
|
|
115
115
|
};
|
|
116
116
|
/* -------------------------------------------------------------------------- */
|
|
@@ -123,6 +123,137 @@ const IDEMPOTENCY = {
|
|
|
123
123
|
* around, set up a destination, schedule something, watch it, then recover from
|
|
124
124
|
* it. The groups are the headings.
|
|
125
125
|
*/
|
|
126
|
+
const MEMBER = {
|
|
127
|
+
name: "<member>",
|
|
128
|
+
summary: "The member's id, starting mem_, from members list.",
|
|
129
|
+
};
|
|
130
|
+
const INVITATION = {
|
|
131
|
+
name: "<invitation>",
|
|
132
|
+
summary: "The invitation's id, starting inv_, from invitations list.",
|
|
133
|
+
};
|
|
134
|
+
const PROJECT = {
|
|
135
|
+
name: "<project>",
|
|
136
|
+
summary: "The project's id, starting proj_, from whoami or members list.",
|
|
137
|
+
};
|
|
138
|
+
const MEMBER_RETRY_KEY = {
|
|
139
|
+
flag: "--idempotency-key",
|
|
140
|
+
summary: "Any unique string. The command makes one up and prints it if you leave it out. Repeat it to retry safely: the change happens once.",
|
|
141
|
+
value: "<key>",
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* The organization's people (W1-09). Listed after the project commands in
|
|
145
|
+
* help and in the reference, because managing who can see a project comes
|
|
146
|
+
* after having one.
|
|
147
|
+
*/
|
|
148
|
+
export const MEMBER_COMMANDS = [
|
|
149
|
+
{
|
|
150
|
+
words: "members list",
|
|
151
|
+
group: "Members",
|
|
152
|
+
summary: "List the organization's members and the projects each can see.",
|
|
153
|
+
operations: ["members.list"],
|
|
154
|
+
positionals: [],
|
|
155
|
+
options: [API_URL],
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
words: "invitations list",
|
|
159
|
+
group: "Members",
|
|
160
|
+
summary: "List invitations, and whether each is pending, accepted, revoked or expired.",
|
|
161
|
+
operations: ["invitations.list"],
|
|
162
|
+
positionals: [],
|
|
163
|
+
options: [API_URL],
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
words: "invitations create",
|
|
167
|
+
group: "Members",
|
|
168
|
+
summary: "Invite someone to the organization by email.",
|
|
169
|
+
operations: ["invitations.create"],
|
|
170
|
+
positionals: [],
|
|
171
|
+
options: [
|
|
172
|
+
API_URL,
|
|
173
|
+
{
|
|
174
|
+
flag: "--email",
|
|
175
|
+
summary: "The address to send the invitation to.",
|
|
176
|
+
value: "<address>",
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
flag: "--role",
|
|
180
|
+
summary: "admin or member. Defaults to member. Admins can see every project and manage people.",
|
|
181
|
+
value: "<role>",
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
flag: "--projects",
|
|
185
|
+
summary: "The projects a member can see, as ids starting proj_, separated by commas. Not needed for admins, who see every project.",
|
|
186
|
+
value: "<ids>",
|
|
187
|
+
},
|
|
188
|
+
MEMBER_RETRY_KEY,
|
|
189
|
+
CONFIRM,
|
|
190
|
+
],
|
|
191
|
+
confirms: true,
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
words: "invitations resend",
|
|
195
|
+
group: "Members",
|
|
196
|
+
summary: "Send a pending invitation's email again.",
|
|
197
|
+
operations: ["invitations.resend"],
|
|
198
|
+
positionals: [INVITATION],
|
|
199
|
+
options: [API_URL, MEMBER_RETRY_KEY, CONFIRM],
|
|
200
|
+
confirms: true,
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
words: "invitations revoke",
|
|
204
|
+
group: "Members",
|
|
205
|
+
summary: "Cancel a pending invitation, so its link stops working.",
|
|
206
|
+
operations: ["invitations.revoke"],
|
|
207
|
+
positionals: [INVITATION],
|
|
208
|
+
options: [API_URL, MEMBER_RETRY_KEY, CONFIRM],
|
|
209
|
+
confirms: true,
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
words: "members role",
|
|
213
|
+
group: "Members",
|
|
214
|
+
summary: "Make a member an admin, or an admin a member.",
|
|
215
|
+
operations: ["members.role"],
|
|
216
|
+
positionals: [MEMBER],
|
|
217
|
+
options: [
|
|
218
|
+
API_URL,
|
|
219
|
+
{
|
|
220
|
+
flag: "--role",
|
|
221
|
+
summary: "The new role: admin or member. Admins can see every project and manage people.",
|
|
222
|
+
value: "<role>",
|
|
223
|
+
},
|
|
224
|
+
MEMBER_RETRY_KEY,
|
|
225
|
+
CONFIRM,
|
|
226
|
+
],
|
|
227
|
+
confirms: true,
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
words: "members remove",
|
|
231
|
+
group: "Members",
|
|
232
|
+
summary: "Remove someone from the organization.",
|
|
233
|
+
operations: ["members.remove"],
|
|
234
|
+
positionals: [MEMBER],
|
|
235
|
+
options: [API_URL, MEMBER_RETRY_KEY, CONFIRM],
|
|
236
|
+
confirms: true,
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
words: "members add-project",
|
|
240
|
+
group: "Members",
|
|
241
|
+
summary: "Let a member see a project.",
|
|
242
|
+
operations: ["projectmembers.add"],
|
|
243
|
+
positionals: [MEMBER, PROJECT],
|
|
244
|
+
options: [API_URL, MEMBER_RETRY_KEY, CONFIRM],
|
|
245
|
+
confirms: true,
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
words: "members remove-project",
|
|
249
|
+
group: "Members",
|
|
250
|
+
summary: "Stop a member seeing a project.",
|
|
251
|
+
operations: ["projectmembers.remove"],
|
|
252
|
+
positionals: [MEMBER, PROJECT],
|
|
253
|
+
options: [API_URL, MEMBER_RETRY_KEY, CONFIRM],
|
|
254
|
+
confirms: true,
|
|
255
|
+
},
|
|
256
|
+
];
|
|
126
257
|
export const COMMAND_CATALOG = [
|
|
127
258
|
/* --- Session ---------------------------------------------------------- */
|
|
128
259
|
{
|
|
@@ -132,11 +263,11 @@ export const COMMAND_CATALOG = [
|
|
|
132
263
|
API_URL,
|
|
133
264
|
{
|
|
134
265
|
flag: "--api-key",
|
|
135
|
-
summary: "Sign in with
|
|
266
|
+
summary: "Sign in with an API key instead of a browser. Paste it when asked, or pipe it in. Create one on the dashboard's Access page.",
|
|
136
267
|
},
|
|
137
268
|
{
|
|
138
269
|
flag: "--no-browser",
|
|
139
|
-
summary: "Print the
|
|
270
|
+
summary: "Print the sign-in address instead of opening a browser, for a machine without one.",
|
|
140
271
|
},
|
|
141
272
|
{
|
|
142
273
|
// **A way to ask for less than the whole command line can do.** The
|
|
@@ -146,12 +277,12 @@ export const COMMAND_CATALOG = [
|
|
|
146
277
|
// there. Narrowing is safe in the direction that matters: a command
|
|
147
278
|
// outside the grant is refused by the service.
|
|
148
279
|
flag: "--scope",
|
|
149
|
-
summary:
|
|
280
|
+
summary: 'Ask for fewer permissions than every command needs, such as "schedules:read schedules:write". One argument, separated by spaces.',
|
|
150
281
|
value: "<scopes>",
|
|
151
282
|
},
|
|
152
283
|
],
|
|
153
284
|
positionals: [],
|
|
154
|
-
summary: "Sign in
|
|
285
|
+
summary: "Sign in, in a browser or with an API key, and stay signed in.",
|
|
155
286
|
words: "login",
|
|
156
287
|
},
|
|
157
288
|
{
|
|
@@ -159,7 +290,7 @@ export const COMMAND_CATALOG = [
|
|
|
159
290
|
operations: [],
|
|
160
291
|
options: [API_URL],
|
|
161
292
|
positionals: [],
|
|
162
|
-
summary: "
|
|
293
|
+
summary: "Sign out, and forget the credential stored on this machine.",
|
|
163
294
|
words: "logout",
|
|
164
295
|
},
|
|
165
296
|
{
|
|
@@ -167,7 +298,7 @@ export const COMMAND_CATALOG = [
|
|
|
167
298
|
operations: ["context.read"],
|
|
168
299
|
options: [API_URL],
|
|
169
300
|
positionals: [],
|
|
170
|
-
summary: "
|
|
301
|
+
summary: "Show which service, project and environment commands act in.",
|
|
171
302
|
words: "whoami",
|
|
172
303
|
},
|
|
173
304
|
{
|
|
@@ -175,7 +306,7 @@ export const COMMAND_CATALOG = [
|
|
|
175
306
|
operations: ["meta.version", "context.read"],
|
|
176
307
|
options: [API_URL],
|
|
177
308
|
positionals: [],
|
|
178
|
-
summary: "Check the service
|
|
309
|
+
summary: "Check that the service answers and the stored sign-in still works.",
|
|
179
310
|
words: "doctor",
|
|
180
311
|
},
|
|
181
312
|
{
|
|
@@ -186,10 +317,10 @@ export const COMMAND_CATALOG = [
|
|
|
186
317
|
{
|
|
187
318
|
name: "[list | use <origin>]",
|
|
188
319
|
optional: true,
|
|
189
|
-
summary: "
|
|
320
|
+
summary: "list shows the services you're signed in to. use picks one by its address.",
|
|
190
321
|
},
|
|
191
322
|
],
|
|
192
|
-
summary: "Show or choose
|
|
323
|
+
summary: "Show or choose which service commands go to.",
|
|
193
324
|
words: "context",
|
|
194
325
|
},
|
|
195
326
|
{
|
|
@@ -197,7 +328,7 @@ export const COMMAND_CATALOG = [
|
|
|
197
328
|
operations: [],
|
|
198
329
|
options: [API_URL],
|
|
199
330
|
positionals: [],
|
|
200
|
-
summary: "Print the
|
|
331
|
+
summary: "Print the steps from signing in to a delivered call, with the command for each.",
|
|
201
332
|
words: "journey",
|
|
202
333
|
},
|
|
203
334
|
/* --- Destinations ----------------------------------------------------- */
|
|
@@ -206,7 +337,7 @@ export const COMMAND_CATALOG = [
|
|
|
206
337
|
operations: ["endpoints.list"],
|
|
207
338
|
options: [API_URL, ...PAGE_OPTIONS],
|
|
208
339
|
positionals: [],
|
|
209
|
-
summary: "List the
|
|
340
|
+
summary: "List the addresses this project calls.",
|
|
210
341
|
words: "destinations list",
|
|
211
342
|
},
|
|
212
343
|
{
|
|
@@ -214,24 +345,32 @@ export const COMMAND_CATALOG = [
|
|
|
214
345
|
operations: ["endpoints.read"],
|
|
215
346
|
options: [API_URL],
|
|
216
347
|
positionals: [
|
|
217
|
-
{
|
|
348
|
+
{
|
|
349
|
+
name: "<destination>",
|
|
350
|
+
summary: "The destination's id, starting ep_, from destinations list or create.",
|
|
351
|
+
},
|
|
218
352
|
],
|
|
219
|
-
summary: "
|
|
353
|
+
summary: "Show one destination: its address, status and signing keys.",
|
|
220
354
|
words: "destinations read",
|
|
221
355
|
},
|
|
222
356
|
{
|
|
223
357
|
group: "Destinations",
|
|
224
358
|
operations: ["endpoints.create"],
|
|
225
359
|
options: [
|
|
360
|
+
{
|
|
361
|
+
flag: "--headers",
|
|
362
|
+
summary: "Headers to send with every call, from @file.json or - for standard input. Keeps secret values out of your shell history.",
|
|
363
|
+
value: "<@file|->",
|
|
364
|
+
},
|
|
226
365
|
API_URL,
|
|
227
366
|
{
|
|
228
367
|
flag: "--url",
|
|
229
|
-
summary: "The https
|
|
368
|
+
summary: "The https address to call.",
|
|
230
369
|
value: "<https url>",
|
|
231
370
|
},
|
|
232
371
|
],
|
|
233
372
|
positionals: [],
|
|
234
|
-
summary: "
|
|
373
|
+
summary: "Add an address to call, and print its signing secret. This is the only time it's printed.",
|
|
235
374
|
words: "destinations create",
|
|
236
375
|
},
|
|
237
376
|
{
|
|
@@ -239,19 +378,27 @@ export const COMMAND_CATALOG = [
|
|
|
239
378
|
group: "Destinations",
|
|
240
379
|
operations: ["endpoints.update"],
|
|
241
380
|
options: [
|
|
381
|
+
{
|
|
382
|
+
flag: "--headers",
|
|
383
|
+
summary: "Headers to send with every call, from @file.json or - for standard input. Keeps secret values out of your shell history.",
|
|
384
|
+
value: "<@file|->",
|
|
385
|
+
},
|
|
242
386
|
API_URL,
|
|
243
387
|
{
|
|
244
388
|
flag: "--url",
|
|
245
|
-
summary: "The new https
|
|
389
|
+
summary: "The new https address to call.",
|
|
246
390
|
value: "<https url>",
|
|
247
391
|
},
|
|
248
392
|
IF_MATCH,
|
|
249
393
|
CONFIRM,
|
|
250
394
|
],
|
|
251
395
|
positionals: [
|
|
252
|
-
{
|
|
396
|
+
{
|
|
397
|
+
name: "<destination>",
|
|
398
|
+
summary: "The destination's id, starting ep_, from destinations list or create.",
|
|
399
|
+
},
|
|
253
400
|
],
|
|
254
|
-
summary: "
|
|
401
|
+
summary: "Change a destination's address or headers.",
|
|
255
402
|
words: "destinations update",
|
|
256
403
|
},
|
|
257
404
|
{
|
|
@@ -266,9 +413,12 @@ export const COMMAND_CATALOG = [
|
|
|
266
413
|
operations: ["endpoints.rotateSigningKey"],
|
|
267
414
|
options: [API_URL, IF_MATCH, CONFIRM],
|
|
268
415
|
positionals: [
|
|
269
|
-
{
|
|
416
|
+
{
|
|
417
|
+
name: "<destination>",
|
|
418
|
+
summary: "The destination's id, starting ep_, from destinations list or create.",
|
|
419
|
+
},
|
|
270
420
|
],
|
|
271
|
-
summary: "
|
|
421
|
+
summary: "Make a new signing secret and print it once. The old one keeps working for a while, so your receiver can switch over.",
|
|
272
422
|
words: "destinations rotate-key",
|
|
273
423
|
},
|
|
274
424
|
{
|
|
@@ -280,9 +430,12 @@ export const COMMAND_CATALOG = [
|
|
|
280
430
|
operations: ["endpoints.disable"],
|
|
281
431
|
options: [API_URL, CONFIRM],
|
|
282
432
|
positionals: [
|
|
283
|
-
{
|
|
433
|
+
{
|
|
434
|
+
name: "<destination>",
|
|
435
|
+
summary: "The destination's id, starting ep_, from destinations list or create.",
|
|
436
|
+
},
|
|
284
437
|
],
|
|
285
|
-
summary: "Stop
|
|
438
|
+
summary: "Stop calling a destination. Its history stays readable.",
|
|
286
439
|
words: "destinations disable",
|
|
287
440
|
},
|
|
288
441
|
{
|
|
@@ -293,9 +446,12 @@ export const COMMAND_CATALOG = [
|
|
|
293
446
|
operations: ["endpoints.enable"],
|
|
294
447
|
options: [API_URL],
|
|
295
448
|
positionals: [
|
|
296
|
-
{
|
|
449
|
+
{
|
|
450
|
+
name: "<destination>",
|
|
451
|
+
summary: "The destination's id, starting ep_, from destinations list or create.",
|
|
452
|
+
},
|
|
297
453
|
],
|
|
298
|
-
summary: "
|
|
454
|
+
summary: "Start calling a disabled destination again.",
|
|
299
455
|
words: "destinations enable",
|
|
300
456
|
},
|
|
301
457
|
/* --- Schedules -------------------------------------------------------- */
|
|
@@ -306,21 +462,26 @@ export const COMMAND_CATALOG = [
|
|
|
306
462
|
API_URL,
|
|
307
463
|
{
|
|
308
464
|
flag: "--endpoint",
|
|
309
|
-
summary: "Only the schedules that
|
|
465
|
+
summary: "Only the schedules that call this destination. Its id starts ep_.",
|
|
310
466
|
value: "<destination>",
|
|
311
467
|
},
|
|
312
468
|
...PAGE_OPTIONS,
|
|
313
469
|
],
|
|
314
470
|
positionals: [],
|
|
315
|
-
summary: "List this project's schedules
|
|
471
|
+
summary: "List this project's schedules.",
|
|
316
472
|
words: "schedules list",
|
|
317
473
|
},
|
|
318
474
|
{
|
|
319
475
|
group: "Schedules",
|
|
320
476
|
operations: ["schedules.read"],
|
|
321
477
|
options: [API_URL],
|
|
322
|
-
positionals: [
|
|
323
|
-
|
|
478
|
+
positionals: [
|
|
479
|
+
{
|
|
480
|
+
name: "<schedule>",
|
|
481
|
+
summary: "The schedule's id, starting sch_, from schedules create or schedules list.",
|
|
482
|
+
},
|
|
483
|
+
],
|
|
484
|
+
summary: "Show a schedule: when it runs, its status, and the ETag for a safe change.",
|
|
324
485
|
words: "schedules read",
|
|
325
486
|
},
|
|
326
487
|
{
|
|
@@ -330,53 +491,72 @@ export const COMMAND_CATALOG = [
|
|
|
330
491
|
API_URL,
|
|
331
492
|
{
|
|
332
493
|
flag: "--endpoint",
|
|
333
|
-
summary: "The destination to
|
|
494
|
+
summary: "The destination to call, by id, starting ep_. Or use --url instead.",
|
|
334
495
|
value: "<destination>",
|
|
335
496
|
},
|
|
497
|
+
{
|
|
498
|
+
flag: "--url",
|
|
499
|
+
summary: "The https address to call. Uses this project's destination there, or adds one.",
|
|
500
|
+
value: "<https url>",
|
|
501
|
+
},
|
|
336
502
|
{
|
|
337
503
|
flag: "--in",
|
|
338
|
-
summary: "
|
|
504
|
+
summary: "Call once, after this long: 30s, 5m, 2h or 1d.",
|
|
339
505
|
value: "<duration>",
|
|
340
506
|
},
|
|
341
507
|
{
|
|
342
508
|
flag: "--at",
|
|
343
|
-
summary: "
|
|
509
|
+
summary: "Call once, at this time, such as 2026-10-06T09:00:00Z.",
|
|
344
510
|
value: "<instant>",
|
|
345
511
|
},
|
|
346
512
|
{
|
|
347
513
|
flag: "--every",
|
|
348
|
-
summary: "
|
|
514
|
+
summary: "Call repeatedly, this far apart: 30s, 5m, 2h or 1d.",
|
|
349
515
|
value: "<duration>",
|
|
350
516
|
},
|
|
351
517
|
{
|
|
352
518
|
flag: "--cron",
|
|
353
|
-
summary:
|
|
519
|
+
summary: 'Call repeatedly, on a cron expression such as "0 9 * * 1-5" (9:00, Monday to Friday).',
|
|
354
520
|
value: "<expression>",
|
|
355
521
|
},
|
|
356
522
|
{
|
|
357
523
|
flag: "--time-zone",
|
|
358
|
-
summary: "The zone
|
|
524
|
+
summary: "The time zone --cron runs in, such as Europe/London, so 9:00 stays 9:00 through daylight saving. Defaults to UTC.",
|
|
359
525
|
value: "<zone>",
|
|
360
526
|
},
|
|
361
527
|
{
|
|
362
528
|
flag: "--partition-key",
|
|
363
|
-
summary: "
|
|
529
|
+
summary: "Your own label, such as a customer id. Each label is paced on its own, so one busy label can't hold up the rest. Can't be changed later.",
|
|
364
530
|
value: "<key>",
|
|
365
531
|
},
|
|
366
532
|
{
|
|
367
533
|
flag: "--latency-class",
|
|
368
|
-
summary: "
|
|
534
|
+
summary: "realtime or bulk. realtime goes first when both are due. By default a call due within two minutes is realtime, and a repeating one is bulk.",
|
|
369
535
|
value: "<class>",
|
|
370
536
|
},
|
|
537
|
+
{
|
|
538
|
+
flag: "--http",
|
|
539
|
+
summary: "The call's method, body and headers, from @file.json or - for standard input. Keeps secret values out of your shell history.",
|
|
540
|
+
value: "<@file|->",
|
|
541
|
+
},
|
|
371
542
|
{
|
|
372
543
|
flag: "--data",
|
|
373
|
-
summary: "
|
|
544
|
+
summary: "JSON your receiver gets with the call. Inline, @file.json, or - for standard input.",
|
|
374
545
|
value: "<json>",
|
|
375
546
|
},
|
|
376
547
|
IDEMPOTENCY,
|
|
548
|
+
{
|
|
549
|
+
flag: "--wait",
|
|
550
|
+
summary: "Wait for the first call and print how it went: delivered, or why not.",
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
flag: "--timeout",
|
|
554
|
+
summary: "How long --wait waits, such as 30s or 5m. Defaults to 3m.",
|
|
555
|
+
value: "<duration>",
|
|
556
|
+
},
|
|
377
557
|
],
|
|
378
558
|
positionals: [],
|
|
379
|
-
summary: "Schedule a
|
|
559
|
+
summary: "Schedule a call to an address, once or repeatedly. Prints the first call's id.",
|
|
380
560
|
words: "schedules create",
|
|
381
561
|
},
|
|
382
562
|
{
|
|
@@ -387,70 +567,95 @@ export const COMMAND_CATALOG = [
|
|
|
387
567
|
API_URL,
|
|
388
568
|
{
|
|
389
569
|
flag: "--endpoint",
|
|
390
|
-
summary: "The destination to
|
|
570
|
+
summary: "The destination to call, by id, starting ep_. Or use --url instead.",
|
|
391
571
|
value: "<destination>",
|
|
392
572
|
},
|
|
573
|
+
{
|
|
574
|
+
flag: "--url",
|
|
575
|
+
summary: "The https address to call. Uses this project's destination there, or adds one.",
|
|
576
|
+
value: "<https url>",
|
|
577
|
+
},
|
|
393
578
|
{
|
|
394
579
|
flag: "--in",
|
|
395
|
-
summary: "
|
|
580
|
+
summary: "Call once, after this long: 30s, 5m, 2h or 1d.",
|
|
396
581
|
value: "<duration>",
|
|
397
582
|
},
|
|
398
583
|
{
|
|
399
584
|
flag: "--at",
|
|
400
|
-
summary: "
|
|
585
|
+
summary: "Call once, at this time, such as 2026-10-06T09:00:00Z.",
|
|
401
586
|
value: "<instant>",
|
|
402
587
|
},
|
|
403
588
|
{
|
|
404
589
|
flag: "--every",
|
|
405
|
-
summary: "
|
|
590
|
+
summary: "Call repeatedly, this far apart: 30s, 5m, 2h or 1d.",
|
|
406
591
|
value: "<duration>",
|
|
407
592
|
},
|
|
408
593
|
{
|
|
409
594
|
flag: "--cron",
|
|
410
|
-
summary:
|
|
595
|
+
summary: 'Call repeatedly, on a cron expression such as "0 9 * * 1-5" (9:00, Monday to Friday).',
|
|
411
596
|
value: "<expression>",
|
|
412
597
|
},
|
|
413
598
|
{
|
|
414
599
|
flag: "--time-zone",
|
|
415
|
-
summary: "The zone
|
|
600
|
+
summary: "The time zone --cron runs in, such as Europe/London, so 9:00 stays 9:00 through daylight saving. Defaults to UTC.",
|
|
416
601
|
value: "<zone>",
|
|
417
602
|
},
|
|
418
603
|
{
|
|
419
604
|
flag: "--partition-key",
|
|
420
|
-
summary: "
|
|
605
|
+
summary: "Your own label, such as a customer id. Each label is paced on its own, so one busy label can't hold up the rest. Can't be changed later.",
|
|
421
606
|
value: "<key>",
|
|
422
607
|
},
|
|
423
608
|
{
|
|
424
609
|
flag: "--latency-class",
|
|
425
|
-
summary: "
|
|
610
|
+
summary: "realtime or bulk. realtime goes first when both are due. By default a call due within two minutes is realtime, and a repeating one is bulk.",
|
|
426
611
|
value: "<class>",
|
|
427
612
|
},
|
|
613
|
+
{
|
|
614
|
+
flag: "--http",
|
|
615
|
+
summary: "The call's method, body and headers, from @file.json or - for standard input. Keeps secret values out of your shell history.",
|
|
616
|
+
value: "<@file|->",
|
|
617
|
+
},
|
|
428
618
|
{
|
|
429
619
|
flag: "--data",
|
|
430
|
-
summary: "
|
|
620
|
+
summary: "JSON your receiver gets with the call. Inline, @file.json, or - for standard input.",
|
|
431
621
|
value: "<json>",
|
|
432
622
|
},
|
|
433
623
|
IF_MATCH,
|
|
434
624
|
CONFIRM,
|
|
435
625
|
],
|
|
436
|
-
positionals: [
|
|
437
|
-
|
|
626
|
+
positionals: [
|
|
627
|
+
{
|
|
628
|
+
name: "<schedule>",
|
|
629
|
+
summary: "The schedule's id, starting sch_, from schedules create or schedules list.",
|
|
630
|
+
},
|
|
631
|
+
],
|
|
632
|
+
summary: "Change when a schedule runs. Its destination, data and HTTP settings stay unless you give new ones.",
|
|
438
633
|
words: "schedules replace",
|
|
439
634
|
},
|
|
440
635
|
{
|
|
441
636
|
group: "Schedules",
|
|
442
637
|
operations: ["schedules.pause"],
|
|
443
638
|
options: [API_URL, IF_MATCH],
|
|
444
|
-
positionals: [
|
|
445
|
-
|
|
639
|
+
positionals: [
|
|
640
|
+
{
|
|
641
|
+
name: "<schedule>",
|
|
642
|
+
summary: "The schedule's id, starting sch_, from schedules create or schedules list.",
|
|
643
|
+
},
|
|
644
|
+
],
|
|
645
|
+
summary: "Stop a schedule's calls until you resume it.",
|
|
446
646
|
words: "schedules pause",
|
|
447
647
|
},
|
|
448
648
|
{
|
|
449
649
|
group: "Schedules",
|
|
450
650
|
operations: ["schedules.resume"],
|
|
451
651
|
options: [API_URL, IF_MATCH],
|
|
452
|
-
positionals: [
|
|
453
|
-
|
|
652
|
+
positionals: [
|
|
653
|
+
{
|
|
654
|
+
name: "<schedule>",
|
|
655
|
+
summary: "The schedule's id, starting sch_, from schedules create or schedules list.",
|
|
656
|
+
},
|
|
657
|
+
],
|
|
658
|
+
summary: "Start a paused schedule's calls again.",
|
|
454
659
|
words: "schedules resume",
|
|
455
660
|
},
|
|
456
661
|
{
|
|
@@ -458,16 +663,26 @@ export const COMMAND_CATALOG = [
|
|
|
458
663
|
group: "Schedules",
|
|
459
664
|
operations: ["schedules.cancel"],
|
|
460
665
|
options: [API_URL, IF_MATCH, CONFIRM],
|
|
461
|
-
positionals: [
|
|
462
|
-
|
|
666
|
+
positionals: [
|
|
667
|
+
{
|
|
668
|
+
name: "<schedule>",
|
|
669
|
+
summary: "The schedule's id, starting sch_, from schedules create or schedules list.",
|
|
670
|
+
},
|
|
671
|
+
],
|
|
672
|
+
summary: "Cancel a schedule and every call it hadn't made yet.",
|
|
463
673
|
words: "schedules cancel",
|
|
464
674
|
},
|
|
465
675
|
{
|
|
466
676
|
group: "Schedules",
|
|
467
677
|
operations: ["schedules.archive"],
|
|
468
678
|
options: [API_URL, IF_MATCH],
|
|
469
|
-
positionals: [
|
|
470
|
-
|
|
679
|
+
positionals: [
|
|
680
|
+
{
|
|
681
|
+
name: "<schedule>",
|
|
682
|
+
summary: "The schedule's id, starting sch_, from schedules create or schedules list.",
|
|
683
|
+
},
|
|
684
|
+
],
|
|
685
|
+
summary: "File a finished or cancelled schedule out of schedules list. It stays readable by id.",
|
|
471
686
|
words: "schedules archive",
|
|
472
687
|
},
|
|
473
688
|
/* --- Data exports ---------------------------------------------------- */
|
|
@@ -476,23 +691,33 @@ export const COMMAND_CATALOG = [
|
|
|
476
691
|
operations: ["exports.create"],
|
|
477
692
|
options: [API_URL],
|
|
478
693
|
positionals: [],
|
|
479
|
-
summary: "Start
|
|
694
|
+
summary: "Start exporting this project's records, as NDJSON files.",
|
|
480
695
|
words: "exports create",
|
|
481
696
|
},
|
|
482
697
|
{
|
|
483
698
|
group: "Data exports",
|
|
484
699
|
operations: ["exports.read"],
|
|
485
700
|
options: [API_URL],
|
|
486
|
-
positionals: [
|
|
487
|
-
|
|
701
|
+
positionals: [
|
|
702
|
+
{
|
|
703
|
+
name: "<export>",
|
|
704
|
+
summary: "The export's id, starting exp_, from exports create.",
|
|
705
|
+
},
|
|
706
|
+
],
|
|
707
|
+
summary: "Show how far an export has got, and the time its data runs up to.",
|
|
488
708
|
words: "exports read",
|
|
489
709
|
},
|
|
490
710
|
{
|
|
491
711
|
group: "Data exports",
|
|
492
712
|
operations: ["exports.part"],
|
|
493
713
|
options: [API_URL, PAGE_OPTIONS[0]],
|
|
494
|
-
positionals: [
|
|
495
|
-
|
|
714
|
+
positionals: [
|
|
715
|
+
{
|
|
716
|
+
name: "<export>",
|
|
717
|
+
summary: "The export's id, starting exp_, from exports create.",
|
|
718
|
+
},
|
|
719
|
+
],
|
|
720
|
+
summary: "Print one part of a finished export. Redirect it to a file: > export.ndjson.",
|
|
496
721
|
words: "exports part",
|
|
497
722
|
},
|
|
498
723
|
{
|
|
@@ -500,8 +725,13 @@ export const COMMAND_CATALOG = [
|
|
|
500
725
|
group: "Data exports",
|
|
501
726
|
operations: ["exports.cancel"],
|
|
502
727
|
options: [API_URL, CONFIRM],
|
|
503
|
-
positionals: [
|
|
504
|
-
|
|
728
|
+
positionals: [
|
|
729
|
+
{
|
|
730
|
+
name: "<export>",
|
|
731
|
+
summary: "The export's id, starting exp_, from exports create.",
|
|
732
|
+
},
|
|
733
|
+
],
|
|
734
|
+
summary: "Cancel an export. Its parts can't be downloaded afterwards.",
|
|
505
735
|
words: "exports cancel",
|
|
506
736
|
},
|
|
507
737
|
/* --- Occurrences and attempts ----------------------------------------- */
|
|
@@ -513,11 +743,16 @@ export const COMMAND_CATALOG = [
|
|
|
513
743
|
...PAGE_OPTIONS,
|
|
514
744
|
{
|
|
515
745
|
flag: "--newest",
|
|
516
|
-
summary: "Newest first
|
|
746
|
+
summary: "Newest first. Use the same order when you carry on with --cursor.",
|
|
517
747
|
},
|
|
518
748
|
],
|
|
519
|
-
positionals: [
|
|
520
|
-
|
|
749
|
+
positionals: [
|
|
750
|
+
{
|
|
751
|
+
name: "<schedule>",
|
|
752
|
+
summary: "The schedule's id, starting sch_, from schedules create or schedules list.",
|
|
753
|
+
},
|
|
754
|
+
],
|
|
755
|
+
summary: "List a schedule's calls, one for each time it ran or will run.",
|
|
521
756
|
words: "occurrences list",
|
|
522
757
|
},
|
|
523
758
|
{
|
|
@@ -525,10 +760,16 @@ export const COMMAND_CATALOG = [
|
|
|
525
760
|
operations: ["occurrences.read"],
|
|
526
761
|
options: [API_URL],
|
|
527
762
|
positionals: [
|
|
528
|
-
{
|
|
529
|
-
|
|
763
|
+
{
|
|
764
|
+
name: "<schedule>",
|
|
765
|
+
summary: "The schedule's id, starting sch_, from schedules create or schedules list.",
|
|
766
|
+
},
|
|
767
|
+
{
|
|
768
|
+
name: "<occurrence>",
|
|
769
|
+
summary: "The call's id, starting occ_, from schedules create or occurrences list.",
|
|
770
|
+
},
|
|
530
771
|
],
|
|
531
|
-
summary: "
|
|
772
|
+
summary: "Show one call and where it's got to.",
|
|
532
773
|
words: "occurrences read",
|
|
533
774
|
},
|
|
534
775
|
{
|
|
@@ -538,15 +779,21 @@ export const COMMAND_CATALOG = [
|
|
|
538
779
|
API_URL,
|
|
539
780
|
{
|
|
540
781
|
flag: "--timeout",
|
|
541
|
-
summary: "
|
|
782
|
+
summary: "How long to wait, such as 30s or 5m. Defaults to 3m.",
|
|
542
783
|
value: "<duration>",
|
|
543
784
|
},
|
|
544
785
|
],
|
|
545
786
|
positionals: [
|
|
546
|
-
{
|
|
547
|
-
|
|
787
|
+
{
|
|
788
|
+
name: "<schedule>",
|
|
789
|
+
summary: "The schedule's id, starting sch_, from schedules create or schedules list.",
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
name: "<occurrence>",
|
|
793
|
+
summary: "The call's id, starting occ_, from schedules create or occurrences list.",
|
|
794
|
+
},
|
|
548
795
|
],
|
|
549
|
-
summary: "
|
|
796
|
+
summary: "Wait for a call to finish, then print how it went. Gives up after 3m unless --timeout says otherwise.",
|
|
550
797
|
words: "occurrences wait",
|
|
551
798
|
},
|
|
552
799
|
{
|
|
@@ -555,10 +802,16 @@ export const COMMAND_CATALOG = [
|
|
|
555
802
|
operations: ["occurrences.redeliver"],
|
|
556
803
|
options: [API_URL, IDEMPOTENCY, CONFIRM],
|
|
557
804
|
positionals: [
|
|
558
|
-
{
|
|
559
|
-
|
|
805
|
+
{
|
|
806
|
+
name: "<schedule>",
|
|
807
|
+
summary: "The schedule's id, starting sch_, from schedules create or schedules list.",
|
|
808
|
+
},
|
|
809
|
+
{
|
|
810
|
+
name: "<occurrence>",
|
|
811
|
+
summary: "The call's id, starting occ_, from schedules create or occurrences list.",
|
|
812
|
+
},
|
|
560
813
|
],
|
|
561
|
-
summary: "
|
|
814
|
+
summary: "Make a call again, to the same destination.",
|
|
562
815
|
words: "occurrences redeliver",
|
|
563
816
|
},
|
|
564
817
|
{
|
|
@@ -566,10 +819,16 @@ export const COMMAND_CATALOG = [
|
|
|
566
819
|
operations: ["attempts.list"],
|
|
567
820
|
options: [API_URL, ...PAGE_OPTIONS],
|
|
568
821
|
positionals: [
|
|
569
|
-
{
|
|
570
|
-
|
|
822
|
+
{
|
|
823
|
+
name: "<schedule>",
|
|
824
|
+
summary: "The schedule's id, starting sch_, from schedules create or schedules list.",
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
name: "<occurrence>",
|
|
828
|
+
summary: "The call's id, starting occ_, from schedules create or occurrences list.",
|
|
829
|
+
},
|
|
571
830
|
],
|
|
572
|
-
summary: "List
|
|
831
|
+
summary: "List each try at a call, what your receiver answered, and why a failed one failed.",
|
|
573
832
|
words: "attempts list",
|
|
574
833
|
},
|
|
575
834
|
{
|
|
@@ -577,11 +836,20 @@ export const COMMAND_CATALOG = [
|
|
|
577
836
|
operations: ["attempts.read"],
|
|
578
837
|
options: [API_URL],
|
|
579
838
|
positionals: [
|
|
580
|
-
{
|
|
581
|
-
|
|
582
|
-
|
|
839
|
+
{
|
|
840
|
+
name: "<schedule>",
|
|
841
|
+
summary: "The schedule's id, starting sch_, from schedules create or schedules list.",
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
name: "<occurrence>",
|
|
845
|
+
summary: "The call's id, starting occ_, from schedules create or occurrences list.",
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
name: "<attempt>",
|
|
849
|
+
summary: "The attempt's id, starting att_, from attempts list.",
|
|
850
|
+
},
|
|
583
851
|
],
|
|
584
|
-
summary: "
|
|
852
|
+
summary: "Show one try at a call, including what your receiver answered.",
|
|
585
853
|
words: "attempts read",
|
|
586
854
|
},
|
|
587
855
|
/* --- Planning --------------------------------------------------------- */
|
|
@@ -592,39 +860,55 @@ export const COMMAND_CATALOG = [
|
|
|
592
860
|
API_URL,
|
|
593
861
|
{
|
|
594
862
|
flag: "--from",
|
|
595
|
-
summary: "
|
|
863
|
+
summary: "Where the window starts, such as 2026-10-06T09:00:00Z.",
|
|
596
864
|
value: "<instant>",
|
|
597
865
|
},
|
|
598
866
|
{
|
|
599
867
|
flag: "--to",
|
|
600
|
-
summary: "
|
|
868
|
+
summary: "Where the window ends, such as 2026-10-06T10:00:00Z.",
|
|
601
869
|
value: "<instant>",
|
|
602
870
|
},
|
|
603
871
|
{
|
|
604
872
|
flag: "--bucket",
|
|
605
|
-
summary: "
|
|
873
|
+
summary: "How many seconds each count covers.",
|
|
606
874
|
value: "<seconds>",
|
|
607
875
|
},
|
|
608
876
|
{
|
|
609
877
|
flag: "--breakdown",
|
|
610
|
-
summary: "
|
|
878
|
+
summary: "partitionKey to split the counts by label, or none.",
|
|
611
879
|
value: "<dimension>",
|
|
612
880
|
},
|
|
613
881
|
],
|
|
614
882
|
positionals: [],
|
|
615
|
-
summary: "Show
|
|
883
|
+
summary: "Show how many calls are due in a window of time.",
|
|
616
884
|
words: "forecast",
|
|
617
885
|
},
|
|
886
|
+
{
|
|
887
|
+
group: "Planning",
|
|
888
|
+
operations: ["limits.read"],
|
|
889
|
+
options: [API_URL],
|
|
890
|
+
positionals: [],
|
|
891
|
+
summary: "Show the limits that apply to your organization.",
|
|
892
|
+
words: "limits show",
|
|
893
|
+
},
|
|
618
894
|
{
|
|
619
895
|
group: "Planning",
|
|
620
896
|
operations: ["usage.read"],
|
|
621
897
|
options: [
|
|
622
898
|
API_URL,
|
|
623
|
-
{
|
|
624
|
-
|
|
899
|
+
{
|
|
900
|
+
flag: "--from",
|
|
901
|
+
summary: "The first day, such as 2026-10-01. Days are UTC.",
|
|
902
|
+
value: "<instant>",
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
flag: "--to",
|
|
906
|
+
summary: "The last day, such as 2026-10-06. Days are UTC.",
|
|
907
|
+
value: "<instant>",
|
|
908
|
+
},
|
|
625
909
|
],
|
|
626
910
|
positionals: [],
|
|
627
|
-
summary: "Show
|
|
911
|
+
summary: "Show how many calls finished each day. For what you're billed, use billing ledger.",
|
|
628
912
|
words: "usage",
|
|
629
913
|
},
|
|
630
914
|
{
|
|
@@ -632,7 +916,7 @@ export const COMMAND_CATALOG = [
|
|
|
632
916
|
operations: ["billing.summary"],
|
|
633
917
|
options: [API_URL],
|
|
634
918
|
positionals: [],
|
|
635
|
-
summary: "Show
|
|
919
|
+
summary: "Show your execution credit and billing status.",
|
|
636
920
|
words: "billing",
|
|
637
921
|
},
|
|
638
922
|
{
|
|
@@ -640,7 +924,7 @@ export const COMMAND_CATALOG = [
|
|
|
640
924
|
operations: ["billing.funding"],
|
|
641
925
|
options: [API_URL],
|
|
642
926
|
positionals: [],
|
|
643
|
-
summary: "Show execution
|
|
927
|
+
summary: "Show how execution credit is funded: automatic top-up, your monthly ceiling, and recent payments.",
|
|
644
928
|
words: "billing funding",
|
|
645
929
|
},
|
|
646
930
|
{
|
|
@@ -648,7 +932,7 @@ export const COMMAND_CATALOG = [
|
|
|
648
932
|
operations: ["billing.notices"],
|
|
649
933
|
options: [API_URL, ...PAGE_OPTIONS],
|
|
650
934
|
positionals: [],
|
|
651
|
-
summary: "List
|
|
935
|
+
summary: "List billing notices, such as low credit, and whether each was emailed.",
|
|
652
936
|
words: "billing notices",
|
|
653
937
|
},
|
|
654
938
|
{
|
|
@@ -656,7 +940,7 @@ export const COMMAND_CATALOG = [
|
|
|
656
940
|
operations: ["billing.notificationsettings"],
|
|
657
941
|
options: [API_URL],
|
|
658
942
|
positionals: [],
|
|
659
|
-
summary: "Show billing
|
|
943
|
+
summary: "Show which billing emails you get, and when.",
|
|
660
944
|
words: "billing notification-settings",
|
|
661
945
|
},
|
|
662
946
|
{
|
|
@@ -667,24 +951,24 @@ export const COMMAND_CATALOG = [
|
|
|
667
951
|
API_URL,
|
|
668
952
|
{
|
|
669
953
|
flag: "--low-credit",
|
|
670
|
-
summary: "
|
|
671
|
-
value: "<dollars>",
|
|
954
|
+
summary: "Warn when credit falls below this many dollars, or auto for a fifth of your last top-up. Leave it out to keep the current setting.",
|
|
955
|
+
value: "<dollars|auto>",
|
|
672
956
|
},
|
|
673
957
|
{
|
|
674
958
|
flag: "--noncritical-email",
|
|
675
|
-
summary: "
|
|
959
|
+
summary: "on or off: email for notices that need no action.",
|
|
676
960
|
value: "<on|off>",
|
|
677
961
|
},
|
|
678
962
|
{
|
|
679
963
|
flag: "--expected-revision",
|
|
680
|
-
summary: "
|
|
964
|
+
summary: "Only change it if nobody else has since you read it. The revision comes from billing notification-settings.",
|
|
681
965
|
value: "<revision>",
|
|
682
966
|
},
|
|
683
967
|
IDEMPOTENCY,
|
|
684
968
|
CONFIRM,
|
|
685
969
|
],
|
|
686
970
|
positionals: [],
|
|
687
|
-
summary: "
|
|
971
|
+
summary: "Change which billing emails you get.",
|
|
688
972
|
words: "billing update-notifications",
|
|
689
973
|
},
|
|
690
974
|
{
|
|
@@ -694,12 +978,12 @@ export const COMMAND_CATALOG = [
|
|
|
694
978
|
API_URL,
|
|
695
979
|
{
|
|
696
980
|
flag: "--credit",
|
|
697
|
-
summary: "
|
|
981
|
+
summary: "How many dollars of credit to buy. At least 10.",
|
|
698
982
|
value: "<dollars>",
|
|
699
983
|
},
|
|
700
984
|
],
|
|
701
985
|
positionals: [],
|
|
702
|
-
summary: "
|
|
986
|
+
summary: "Price a credit purchase before you buy. Tax is added at checkout.",
|
|
703
987
|
words: "billing quote-funding",
|
|
704
988
|
},
|
|
705
989
|
{
|
|
@@ -710,14 +994,14 @@ export const COMMAND_CATALOG = [
|
|
|
710
994
|
API_URL,
|
|
711
995
|
{
|
|
712
996
|
flag: "--quote",
|
|
713
|
-
summary: "The
|
|
997
|
+
summary: "The quote from billing quote-funding --json: its data field, inline, @file.json, or - for standard input.",
|
|
714
998
|
value: "<json|@file|->",
|
|
715
999
|
},
|
|
716
1000
|
IDEMPOTENCY,
|
|
717
1001
|
CONFIRM,
|
|
718
1002
|
],
|
|
719
1003
|
positionals: [],
|
|
720
|
-
summary: "
|
|
1004
|
+
summary: "Buy the credit a quote priced, and print the link to pay.",
|
|
721
1005
|
words: "billing purchase",
|
|
722
1006
|
},
|
|
723
1007
|
{
|
|
@@ -728,19 +1012,19 @@ export const COMMAND_CATALOG = [
|
|
|
728
1012
|
API_URL,
|
|
729
1013
|
{
|
|
730
1014
|
flag: "--ceiling",
|
|
731
|
-
summary: "
|
|
1015
|
+
summary: "The most automatic payments may charge in a calendar month, in dollars, or off.",
|
|
732
1016
|
value: "<dollars|off>",
|
|
733
1017
|
},
|
|
734
1018
|
{
|
|
735
1019
|
flag: "--expected-revision",
|
|
736
|
-
summary: "
|
|
1020
|
+
summary: "Only change it if nobody else has since you read it. The revision comes from billing funding.",
|
|
737
1021
|
value: "<revision>",
|
|
738
1022
|
},
|
|
739
1023
|
IDEMPOTENCY,
|
|
740
1024
|
CONFIRM,
|
|
741
1025
|
],
|
|
742
1026
|
positionals: [],
|
|
743
|
-
summary: "Set
|
|
1027
|
+
summary: "Set the most automatic payments may charge each month.",
|
|
744
1028
|
words: "billing ceiling",
|
|
745
1029
|
},
|
|
746
1030
|
{
|
|
@@ -750,32 +1034,32 @@ export const COMMAND_CATALOG = [
|
|
|
750
1034
|
API_URL,
|
|
751
1035
|
{
|
|
752
1036
|
flag: "--action",
|
|
753
|
-
summary: "
|
|
1037
|
+
summary: "What to preview: enable, edit, disable or resume.",
|
|
754
1038
|
value: "<enable|edit|disable|resume>",
|
|
755
1039
|
},
|
|
756
1040
|
{
|
|
757
1041
|
flag: "--credit",
|
|
758
|
-
summary: "
|
|
1042
|
+
summary: "How many dollars of credit each top-up buys.",
|
|
759
1043
|
value: "<dollars>",
|
|
760
1044
|
},
|
|
761
1045
|
{
|
|
762
1046
|
flag: "--trigger-below",
|
|
763
|
-
summary: "
|
|
1047
|
+
summary: "Top up when credit falls below this many dollars.",
|
|
764
1048
|
value: "<dollars>",
|
|
765
1049
|
},
|
|
766
1050
|
{
|
|
767
1051
|
flag: "--ceiling",
|
|
768
|
-
summary: "
|
|
1052
|
+
summary: "The most top-ups may charge in a calendar month, in dollars.",
|
|
769
1053
|
value: "<dollars>",
|
|
770
1054
|
},
|
|
771
1055
|
{
|
|
772
1056
|
flag: "--expected-revision",
|
|
773
|
-
summary: "
|
|
1057
|
+
summary: "Only change it if nobody else has since you read it. The revision comes from billing funding.",
|
|
774
1058
|
value: "<revision>",
|
|
775
1059
|
},
|
|
776
1060
|
],
|
|
777
1061
|
positionals: [],
|
|
778
|
-
summary: "Preview
|
|
1062
|
+
summary: "Preview an automatic top-up change. Nothing changes until billing apply-topup.",
|
|
779
1063
|
words: "billing preview-topup",
|
|
780
1064
|
},
|
|
781
1065
|
{
|
|
@@ -786,14 +1070,14 @@ export const COMMAND_CATALOG = [
|
|
|
786
1070
|
API_URL,
|
|
787
1071
|
{
|
|
788
1072
|
flag: "--preview",
|
|
789
|
-
summary: "The
|
|
1073
|
+
summary: "The preview from billing preview-topup --json: its data field, inline, @file.json, or - for standard input.",
|
|
790
1074
|
value: "<json|@file|->",
|
|
791
1075
|
},
|
|
792
1076
|
IDEMPOTENCY,
|
|
793
1077
|
CONFIRM,
|
|
794
1078
|
],
|
|
795
1079
|
positionals: [],
|
|
796
|
-
summary: "
|
|
1080
|
+
summary: "Turn on, change or stop automatic top-up, as a preview described.",
|
|
797
1081
|
words: "billing apply-topup",
|
|
798
1082
|
},
|
|
799
1083
|
{
|
|
@@ -804,24 +1088,24 @@ export const COMMAND_CATALOG = [
|
|
|
804
1088
|
API_URL,
|
|
805
1089
|
{
|
|
806
1090
|
flag: "--payment-operation",
|
|
807
|
-
summary: "The
|
|
1091
|
+
summary: "The payment to refund from, from billing payment-history.",
|
|
808
1092
|
value: "<operation>",
|
|
809
1093
|
},
|
|
810
1094
|
{
|
|
811
1095
|
flag: "--amount",
|
|
812
|
-
summary: "
|
|
1096
|
+
summary: "How many dollars of unused credit to refund.",
|
|
813
1097
|
value: "<dollars>",
|
|
814
1098
|
},
|
|
815
1099
|
{
|
|
816
1100
|
flag: "--reason",
|
|
817
|
-
summary: "Why
|
|
1101
|
+
summary: "Why you're asking for the refund.",
|
|
818
1102
|
value: "<text>",
|
|
819
1103
|
},
|
|
820
1104
|
IDEMPOTENCY,
|
|
821
1105
|
CONFIRM,
|
|
822
1106
|
],
|
|
823
1107
|
positionals: [],
|
|
824
|
-
summary: "
|
|
1108
|
+
summary: "Ask for unused credit back. The credit is held until the refund is decided.",
|
|
825
1109
|
words: "billing refund-request",
|
|
826
1110
|
},
|
|
827
1111
|
{
|
|
@@ -832,34 +1116,34 @@ export const COMMAND_CATALOG = [
|
|
|
832
1116
|
API_URL,
|
|
833
1117
|
{
|
|
834
1118
|
flag: "--refund-request",
|
|
835
|
-
summary: "The
|
|
1119
|
+
summary: "The refund request to decide, from billing refund-request.",
|
|
836
1120
|
value: "<request>",
|
|
837
1121
|
},
|
|
838
1122
|
{
|
|
839
1123
|
flag: "--decision",
|
|
840
|
-
summary: "
|
|
1124
|
+
summary: "completed, for a refund already made in Stripe, or declined, which releases the held credit.",
|
|
841
1125
|
value: "<completed|declined>",
|
|
842
1126
|
},
|
|
843
1127
|
{
|
|
844
1128
|
flag: "--provider-refund",
|
|
845
|
-
summary: "
|
|
1129
|
+
summary: "The Stripe refund's id, starting re_. Needed for completed.",
|
|
846
1130
|
value: "<re_...>",
|
|
847
1131
|
},
|
|
848
1132
|
{
|
|
849
1133
|
flag: "--gross",
|
|
850
|
-
summary: "
|
|
1134
|
+
summary: "The Stripe refund's total, in dollars.",
|
|
851
1135
|
value: "<dollars>",
|
|
852
1136
|
},
|
|
853
1137
|
{
|
|
854
1138
|
flag: "--tax",
|
|
855
|
-
summary: "
|
|
1139
|
+
summary: "The tax within that total, in dollars.",
|
|
856
1140
|
value: "<dollars>",
|
|
857
1141
|
},
|
|
858
1142
|
IDEMPOTENCY,
|
|
859
1143
|
CONFIRM,
|
|
860
1144
|
],
|
|
861
1145
|
positionals: [],
|
|
862
|
-
summary: "Record a
|
|
1146
|
+
summary: "Record whether a refund request was paid in Stripe or declined.",
|
|
863
1147
|
words: "billing resolve-refund",
|
|
864
1148
|
},
|
|
865
1149
|
{
|
|
@@ -870,24 +1154,24 @@ export const COMMAND_CATALOG = [
|
|
|
870
1154
|
API_URL,
|
|
871
1155
|
{
|
|
872
1156
|
flag: "--advisory-budget",
|
|
873
|
-
summary: "
|
|
1157
|
+
summary: "A monthly amount, in dollars, that warns you when spending passes it, or off.",
|
|
874
1158
|
value: "<dollars|off>",
|
|
875
1159
|
},
|
|
876
1160
|
{
|
|
877
1161
|
flag: "--hard-cap",
|
|
878
|
-
summary: "
|
|
1162
|
+
summary: "A monthly amount, in dollars, that stops calls when spending reaches it, or off.",
|
|
879
1163
|
value: "<dollars|off>",
|
|
880
1164
|
},
|
|
881
1165
|
{
|
|
882
1166
|
flag: "--expected-revision",
|
|
883
|
-
summary: "
|
|
1167
|
+
summary: "Only change it if nobody else has since you read it. The revision comes from billing.",
|
|
884
1168
|
value: "<revision>",
|
|
885
1169
|
},
|
|
886
1170
|
IDEMPOTENCY,
|
|
887
1171
|
CONFIRM,
|
|
888
1172
|
],
|
|
889
1173
|
positionals: [],
|
|
890
|
-
summary: "Set
|
|
1174
|
+
summary: "Set a monthly budget that warns you, a cap that stops calls, or both.",
|
|
891
1175
|
words: "billing budgets",
|
|
892
1176
|
},
|
|
893
1177
|
{
|
|
@@ -895,7 +1179,7 @@ export const COMMAND_CATALOG = [
|
|
|
895
1179
|
operations: ["billing.projects"],
|
|
896
1180
|
options: [API_URL],
|
|
897
1181
|
positionals: [],
|
|
898
|
-
summary: "Show
|
|
1182
|
+
summary: "Show each project's monthly fee and whether it's paid up.",
|
|
899
1183
|
words: "billing projects",
|
|
900
1184
|
},
|
|
901
1185
|
{
|
|
@@ -905,22 +1189,22 @@ export const COMMAND_CATALOG = [
|
|
|
905
1189
|
API_URL,
|
|
906
1190
|
{
|
|
907
1191
|
flag: "--action",
|
|
908
|
-
summary: "
|
|
1192
|
+
summary: "add a paid project, cancel one, or transfer-included to move your included project.",
|
|
909
1193
|
value: "<add|cancel|transfer-included>",
|
|
910
1194
|
},
|
|
911
1195
|
{
|
|
912
1196
|
flag: "--target-project",
|
|
913
|
-
summary: "The
|
|
1197
|
+
summary: "The project's id, starting proj_, from billing projects.",
|
|
914
1198
|
value: "<project>",
|
|
915
1199
|
},
|
|
916
1200
|
{
|
|
917
1201
|
flag: "--from-project",
|
|
918
|
-
summary: "
|
|
1202
|
+
summary: "For transfer-included, the project that's included now.",
|
|
919
1203
|
value: "<project>",
|
|
920
1204
|
},
|
|
921
1205
|
],
|
|
922
1206
|
positionals: [],
|
|
923
|
-
summary: "
|
|
1207
|
+
summary: "Price a change to which projects you pay for. Nothing changes until billing change-project.",
|
|
924
1208
|
words: "billing quote-project",
|
|
925
1209
|
},
|
|
926
1210
|
{
|
|
@@ -931,14 +1215,14 @@ export const COMMAND_CATALOG = [
|
|
|
931
1215
|
API_URL,
|
|
932
1216
|
{
|
|
933
1217
|
flag: "--quote",
|
|
934
|
-
summary: "The
|
|
1218
|
+
summary: "The quote from billing quote-project --json: its data field, inline, @file.json, or - for standard input.",
|
|
935
1219
|
value: "<json|@file|->",
|
|
936
1220
|
},
|
|
937
1221
|
IDEMPOTENCY,
|
|
938
1222
|
CONFIRM,
|
|
939
1223
|
],
|
|
940
1224
|
positionals: [],
|
|
941
|
-
summary: "
|
|
1225
|
+
summary: "Make the project change a quote priced.",
|
|
942
1226
|
words: "billing change-project",
|
|
943
1227
|
},
|
|
944
1228
|
{
|
|
@@ -947,15 +1231,65 @@ export const COMMAND_CATALOG = [
|
|
|
947
1231
|
operations: ["billing.portal"],
|
|
948
1232
|
options: [API_URL, CONFIRM],
|
|
949
1233
|
positionals: [],
|
|
950
|
-
summary: "
|
|
1234
|
+
summary: "Print a link to Stripe's billing portal, to update your card or pay an invoice.",
|
|
951
1235
|
words: "billing portal",
|
|
952
1236
|
},
|
|
1237
|
+
{
|
|
1238
|
+
group: "Planning",
|
|
1239
|
+
operations: ["billing.paymentmethod"],
|
|
1240
|
+
options: [API_URL],
|
|
1241
|
+
positionals: [],
|
|
1242
|
+
summary: "Show the card or other payment method that top-ups and project fees are charged to.",
|
|
1243
|
+
words: "billing payment-method",
|
|
1244
|
+
},
|
|
1245
|
+
{
|
|
1246
|
+
group: "Planning",
|
|
1247
|
+
operations: ["billing.invoices"],
|
|
1248
|
+
options: [API_URL],
|
|
1249
|
+
positionals: [],
|
|
1250
|
+
summary: "List recent project fee charges, newest first, with links to their receipts.",
|
|
1251
|
+
words: "billing invoices",
|
|
1252
|
+
},
|
|
1253
|
+
{
|
|
1254
|
+
group: "Planning",
|
|
1255
|
+
operations: ["billing.paymenthistory"],
|
|
1256
|
+
options: [API_URL, ...PAGE_OPTIONS],
|
|
1257
|
+
positionals: [],
|
|
1258
|
+
summary: "List credit purchases and top-ups, newest first.",
|
|
1259
|
+
words: "billing payment-history",
|
|
1260
|
+
},
|
|
1261
|
+
{
|
|
1262
|
+
group: "Planning",
|
|
1263
|
+
operations: ["billing.invoicehistory"],
|
|
1264
|
+
options: [API_URL, ...PAGE_OPTIONS],
|
|
1265
|
+
positionals: [],
|
|
1266
|
+
summary: "List every project fee charge, newest first, page by page.",
|
|
1267
|
+
words: "billing invoice-history",
|
|
1268
|
+
},
|
|
1269
|
+
{
|
|
1270
|
+
confirms: true,
|
|
1271
|
+
group: "Planning",
|
|
1272
|
+
operations: ["billing.paymentmethodsetup"],
|
|
1273
|
+
options: [API_URL, CONFIRM],
|
|
1274
|
+
positionals: [],
|
|
1275
|
+
summary: "Print a link to add a card, or replace the one you have.",
|
|
1276
|
+
words: "billing add-card",
|
|
1277
|
+
},
|
|
1278
|
+
{
|
|
1279
|
+
confirms: true,
|
|
1280
|
+
group: "Planning",
|
|
1281
|
+
operations: ["billing.paymentmethodremove"],
|
|
1282
|
+
options: [API_URL, CONFIRM],
|
|
1283
|
+
positionals: [],
|
|
1284
|
+
summary: "Remove your saved card. Project fees stop renewing when the paid period ends, and automatic top-up turns off.",
|
|
1285
|
+
words: "billing remove-card",
|
|
1286
|
+
},
|
|
953
1287
|
{
|
|
954
1288
|
group: "Planning",
|
|
955
1289
|
operations: ["billing.ledger"],
|
|
956
1290
|
options: [API_URL, ...PAGE_OPTIONS],
|
|
957
1291
|
positionals: [],
|
|
958
|
-
summary: "List
|
|
1292
|
+
summary: "List every change to your execution credit: top-ups, charges and refunds.",
|
|
959
1293
|
words: "billing ledger",
|
|
960
1294
|
},
|
|
961
1295
|
{
|
|
@@ -963,7 +1297,7 @@ export const COMMAND_CATALOG = [
|
|
|
963
1297
|
operations: ["timing.summary"],
|
|
964
1298
|
options: [API_URL],
|
|
965
1299
|
positionals: [],
|
|
966
|
-
summary: "Show the
|
|
1300
|
+
summary: "Show how close to on time this project's calls were, over the last 24 hours.",
|
|
967
1301
|
words: "timing",
|
|
968
1302
|
},
|
|
969
1303
|
/* --- Credentials ------------------------------------------------------ */
|
|
@@ -972,7 +1306,7 @@ export const COMMAND_CATALOG = [
|
|
|
972
1306
|
operations: ["credentials.list"],
|
|
973
1307
|
options: [API_URL, ...PAGE_OPTIONS],
|
|
974
1308
|
positionals: [],
|
|
975
|
-
summary: "List this project's API
|
|
1309
|
+
summary: "List this project's API keys. Only the start of each is shown.",
|
|
976
1310
|
words: "credentials list",
|
|
977
1311
|
},
|
|
978
1312
|
{
|
|
@@ -981,9 +1315,12 @@ export const COMMAND_CATALOG = [
|
|
|
981
1315
|
operations: ["credentials.rotate"],
|
|
982
1316
|
options: [API_URL, CONFIRM],
|
|
983
1317
|
positionals: [
|
|
984
|
-
{
|
|
1318
|
+
{
|
|
1319
|
+
name: "<credential>",
|
|
1320
|
+
summary: "The key's id, starting ak_, from credentials list.",
|
|
1321
|
+
},
|
|
985
1322
|
],
|
|
986
|
-
summary: "
|
|
1323
|
+
summary: "Make a replacement API key and print it. This is the only time it's printed.",
|
|
987
1324
|
words: "credentials rotate",
|
|
988
1325
|
},
|
|
989
1326
|
{
|
|
@@ -992,11 +1329,16 @@ export const COMMAND_CATALOG = [
|
|
|
992
1329
|
operations: ["credentials.revoke"],
|
|
993
1330
|
options: [API_URL, CONFIRM],
|
|
994
1331
|
positionals: [
|
|
995
|
-
{
|
|
1332
|
+
{
|
|
1333
|
+
name: "<credential>",
|
|
1334
|
+
summary: "The key's id, starting ak_, from credentials list.",
|
|
1335
|
+
},
|
|
996
1336
|
],
|
|
997
|
-
summary: "Stop
|
|
1337
|
+
summary: "Stop an API key working, everywhere, straight away.",
|
|
998
1338
|
words: "credentials revoke",
|
|
999
1339
|
},
|
|
1340
|
+
/* --- Members ---------------------------------------------------------- */
|
|
1341
|
+
...MEMBER_COMMANDS,
|
|
1000
1342
|
/* --- Test sinks ------------------------------------------------------- */
|
|
1001
1343
|
{
|
|
1002
1344
|
group: "Test sinks",
|
|
@@ -1005,17 +1347,17 @@ export const COMMAND_CATALOG = [
|
|
|
1005
1347
|
API_URL,
|
|
1006
1348
|
{
|
|
1007
1349
|
flag: "--endpoint",
|
|
1008
|
-
summary: "The destination
|
|
1350
|
+
summary: "The destination this sink answers for, by id, starting ep_.",
|
|
1009
1351
|
value: "<destination>",
|
|
1010
1352
|
},
|
|
1011
1353
|
{
|
|
1012
1354
|
flag: "--program",
|
|
1013
|
-
summary:
|
|
1355
|
+
summary: 'How it answers calls, such as {"behavior": "server_error"}. Inline, @file.json, or - for standard input.',
|
|
1014
1356
|
value: "<json>",
|
|
1015
1357
|
},
|
|
1016
1358
|
],
|
|
1017
1359
|
positionals: [],
|
|
1018
|
-
summary: "
|
|
1360
|
+
summary: "Make a receiver GreatWait runs for you, to test against. Test environments only.",
|
|
1019
1361
|
words: "sinks create",
|
|
1020
1362
|
},
|
|
1021
1363
|
{
|
|
@@ -1023,15 +1365,20 @@ export const COMMAND_CATALOG = [
|
|
|
1023
1365
|
operations: ["testsinks.list"],
|
|
1024
1366
|
options: [API_URL, ...PAGE_OPTIONS],
|
|
1025
1367
|
positionals: [],
|
|
1026
|
-
summary: "List
|
|
1368
|
+
summary: "List this project's test sinks.",
|
|
1027
1369
|
words: "sinks list",
|
|
1028
1370
|
},
|
|
1029
1371
|
{
|
|
1030
1372
|
group: "Test sinks",
|
|
1031
1373
|
operations: ["testsinks.read"],
|
|
1032
1374
|
options: [API_URL],
|
|
1033
|
-
positionals: [
|
|
1034
|
-
|
|
1375
|
+
positionals: [
|
|
1376
|
+
{
|
|
1377
|
+
name: "<sink>",
|
|
1378
|
+
summary: "The sink's id, starting tsk_, from sinks create or sinks list.",
|
|
1379
|
+
},
|
|
1380
|
+
],
|
|
1381
|
+
summary: "Show a test sink and how it answers calls.",
|
|
1035
1382
|
words: "sinks read",
|
|
1036
1383
|
},
|
|
1037
1384
|
{
|
|
@@ -1041,12 +1388,17 @@ export const COMMAND_CATALOG = [
|
|
|
1041
1388
|
API_URL,
|
|
1042
1389
|
{
|
|
1043
1390
|
flag: "--program",
|
|
1044
|
-
summary:
|
|
1391
|
+
summary: 'How it answers calls, such as {"behavior": "server_error"}. Inline, @file.json, or - for standard input.',
|
|
1045
1392
|
value: "<json>",
|
|
1046
1393
|
},
|
|
1047
1394
|
],
|
|
1048
|
-
positionals: [
|
|
1049
|
-
|
|
1395
|
+
positionals: [
|
|
1396
|
+
{
|
|
1397
|
+
name: "<sink>",
|
|
1398
|
+
summary: "The sink's id, starting tsk_, from sinks create or sinks list.",
|
|
1399
|
+
},
|
|
1400
|
+
],
|
|
1401
|
+
summary: "Change how a test sink answers, to reproduce a failure.",
|
|
1050
1402
|
words: "sinks configure",
|
|
1051
1403
|
},
|
|
1052
1404
|
{
|
|
@@ -1054,16 +1406,26 @@ export const COMMAND_CATALOG = [
|
|
|
1054
1406
|
group: "Test sinks",
|
|
1055
1407
|
operations: ["testsinks.delete"],
|
|
1056
1408
|
options: [API_URL, CONFIRM],
|
|
1057
|
-
positionals: [
|
|
1058
|
-
|
|
1409
|
+
positionals: [
|
|
1410
|
+
{
|
|
1411
|
+
name: "<sink>",
|
|
1412
|
+
summary: "The sink's id, starting tsk_, from sinks create or sinks list.",
|
|
1413
|
+
},
|
|
1414
|
+
],
|
|
1415
|
+
summary: "Delete a test sink and every call it recorded.",
|
|
1059
1416
|
words: "sinks delete",
|
|
1060
1417
|
},
|
|
1061
1418
|
{
|
|
1062
1419
|
group: "Test sinks",
|
|
1063
1420
|
operations: ["sinkdeliveries.list"],
|
|
1064
1421
|
options: [API_URL, ...PAGE_OPTIONS],
|
|
1065
|
-
positionals: [
|
|
1066
|
-
|
|
1422
|
+
positionals: [
|
|
1423
|
+
{
|
|
1424
|
+
name: "<sink>",
|
|
1425
|
+
summary: "The sink's id, starting tsk_, from sinks create or sinks list.",
|
|
1426
|
+
},
|
|
1427
|
+
],
|
|
1428
|
+
summary: "List the calls a test sink received.",
|
|
1067
1429
|
words: "sinks deliveries",
|
|
1068
1430
|
},
|
|
1069
1431
|
{
|
|
@@ -1071,10 +1433,16 @@ export const COMMAND_CATALOG = [
|
|
|
1071
1433
|
operations: ["sinkdeliveries.read"],
|
|
1072
1434
|
options: [API_URL],
|
|
1073
1435
|
positionals: [
|
|
1074
|
-
{
|
|
1075
|
-
|
|
1436
|
+
{
|
|
1437
|
+
name: "<sink>",
|
|
1438
|
+
summary: "The sink's id, starting tsk_, from sinks create or sinks list.",
|
|
1439
|
+
},
|
|
1440
|
+
{
|
|
1441
|
+
name: "<delivery>",
|
|
1442
|
+
summary: "The recorded call's id, starting tsd_, from sinks deliveries.",
|
|
1443
|
+
},
|
|
1076
1444
|
],
|
|
1077
|
-
summary: "
|
|
1445
|
+
summary: "Show one call a test sink received, byte for byte.",
|
|
1078
1446
|
words: "sinks delivery",
|
|
1079
1447
|
},
|
|
1080
1448
|
];
|
|
@@ -1110,11 +1478,26 @@ export const OPERATION_OMISSIONS = [
|
|
|
1110
1478
|
ground: "declared",
|
|
1111
1479
|
operation: "billing.reconcile",
|
|
1112
1480
|
},
|
|
1481
|
+
{
|
|
1482
|
+
because: "Confirmation answers a browser returning from hosted Checkout: the dashboard calls it on the customer's return so the credit shows at once. A purchase started from the command line has no return to answer; billing funding reports it once the provider notification or the scheduled repair settles it, and the MCP tool provides the automation path.",
|
|
1483
|
+
ground: "declared",
|
|
1484
|
+
operation: "billing.fundingconfirm",
|
|
1485
|
+
},
|
|
1486
|
+
{
|
|
1487
|
+
because: "Confirmation answers a browser returning from the hosted payment-method form: the dashboard calls it on the customer's return so the method shows at once. A method added from a link the command line printed has no return to answer; the provider notification makes it the saved method, billing payment-method reports it, and the MCP tool provides the automation path.",
|
|
1488
|
+
ground: "declared",
|
|
1489
|
+
operation: "billing.paymentmethodconfirm",
|
|
1490
|
+
},
|
|
1113
1491
|
{
|
|
1114
1492
|
because: "The endpoint page is the accepted place to mark this human-observed server update done; adding a second interactive CLI design is outside this remediation.",
|
|
1115
1493
|
ground: "declared",
|
|
1116
1494
|
operation: "endpoints.acknowledgeSigningKeyRotation",
|
|
1117
1495
|
},
|
|
1496
|
+
{
|
|
1497
|
+
because: "`greatwait destinations create` already creates a destination and prints its signing key once, which a person at a terminal can keep. The secretless find-or-create exists for agents, whose tool results land in ordinary history (W9-44); a person scheduling to an address uses the dashboard or `destinations create`.",
|
|
1498
|
+
ground: "declared",
|
|
1499
|
+
operation: "endpoints.ensure",
|
|
1500
|
+
},
|
|
1118
1501
|
{
|
|
1119
1502
|
because: "Minting a credential needs a signed-in person. A command line holding one credential could otherwise mint another, which is the escalation the control plane refuses by declaring a session principal.",
|
|
1120
1503
|
ground: "principal-unreachable",
|