@whooshbang/sdk 1.0.0-rc.22 → 1.0.0-rc.23
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/dist/cli/commands.d.ts +23 -0
- package/dist/cli/commands.js +276 -20
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/main.js +8 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/selectors.d.ts +7 -2
- package/dist/cli/selectors.js +25 -13
- package/dist/cli/selectors.js.map +1 -1
- package/dist/cli/session.d.ts +19 -0
- package/dist/cli/session.js +22 -0
- package/dist/cli/session.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/commands.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { ConfirmInteractionRequest, InputInteractionRequest, InteractionSummary, SelectInteractionRequest } from "@whooshbang/contracts";
|
|
2
|
+
import type { WhooshBangClient } from "../client.js";
|
|
1
3
|
import { type ParsedArguments } from "./arguments.js";
|
|
2
4
|
import { type Writer } from "./output.js";
|
|
3
5
|
import { resolveOrigin } from "./session.js";
|
|
@@ -9,6 +11,27 @@ export interface CommandContext {
|
|
|
9
11
|
readonly readStdin: () => Promise<string>;
|
|
10
12
|
readonly credentialsFile?: string;
|
|
11
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Builds the question from what was asked for.
|
|
16
|
+
*
|
|
17
|
+
* Choices mean a single-select, `--free-text` means a typed reply, and a
|
|
18
|
+
* question with neither is a yes/no confirm — which is what most first
|
|
19
|
+
* questions are, and what someone following a quickstart gets for free.
|
|
20
|
+
*/
|
|
21
|
+
export declare function askedInteraction(parsed: ParsedArguments): ConfirmInteractionRequest | SelectInteractionRequest | InputInteractionRequest;
|
|
22
|
+
/**
|
|
23
|
+
* Waits for the question to reach a state that can no longer change.
|
|
24
|
+
*
|
|
25
|
+
* One request cannot wait longer than the service's own poll ceiling, so a
|
|
26
|
+
* longer wait is consecutive polls against a deadline. Each one returns the
|
|
27
|
+
* moment the answer lands, so this costs the wait it was given and no more.
|
|
28
|
+
*/
|
|
29
|
+
export interface EnvironmentScope {
|
|
30
|
+
readonly environmentId: string;
|
|
31
|
+
readonly projectId: string;
|
|
32
|
+
}
|
|
33
|
+
export declare function untilAnswered(api: WhooshBangClient, scope: EnvironmentScope | null, interactionId: string, waitFor: number): Promise<InteractionSummary>;
|
|
34
|
+
export declare function describeInteraction(summary: InteractionSummary, where: string): string[];
|
|
12
35
|
/**
|
|
13
36
|
* Words left over once the command itself is accounted for.
|
|
14
37
|
*
|
package/dist/cli/commands.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { confirmInteraction, inputInteraction, interactionAnswer, isInteractionTerminal, selectInteraction, } from "../interactions.js";
|
|
2
3
|
import { required, UsageError } from "./arguments.js";
|
|
3
4
|
import { emit, emitSecret, table } from "./output.js";
|
|
4
|
-
import { resolveEnvironment } from "./selectors.js";
|
|
5
|
-
import { authorizedClient, resolveOrigin, signIn, signOut } from "./session.js";
|
|
5
|
+
import { resolveDefaultNotifier, resolveEnvironment } from "./selectors.js";
|
|
6
|
+
import { authorizedClient, authorizedSession, resolveOrigin, signIn, signOut, } from "./session.js";
|
|
6
7
|
/**
|
|
7
8
|
* Every side-effecting call needs an idempotency key, and a person running a
|
|
8
9
|
* command by hand has no opinion about one. Generating it means a retried
|
|
@@ -14,13 +15,20 @@ function idempotency(parsed) {
|
|
|
14
15
|
return { idempotencyKey: parsed.options.get("key") ?? randomUUID() };
|
|
15
16
|
}
|
|
16
17
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* Omitted unless asked for, which is the only way the reserved destinations
|
|
19
|
+
* work.
|
|
20
|
+
*
|
|
21
|
+
* This used to say `connection` on every send, on the reasoning that naming
|
|
22
|
+
* the transport kept a script auditable. It also overrode the service's own
|
|
23
|
+
* rule — a `test:` subscriber selects simulation precisely by leaving the
|
|
24
|
+
* target unset — so `--subscriber test:accepted` was refused as unbound, and
|
|
25
|
+
* the destinations that exist to make delivery testable without a phone could
|
|
26
|
+
* not be reached from the command line at all.
|
|
21
27
|
*/
|
|
22
28
|
function deliveryTarget(parsed) {
|
|
23
|
-
const value = parsed.options.get("target")
|
|
29
|
+
const value = parsed.options.get("target");
|
|
30
|
+
if (value === undefined)
|
|
31
|
+
return undefined;
|
|
24
32
|
if (value !== "connection" && value !== "simulator") {
|
|
25
33
|
throw new UsageError("--target must be connection or simulator.");
|
|
26
34
|
}
|
|
@@ -75,6 +83,178 @@ function connectionMode(parsed) {
|
|
|
75
83
|
}
|
|
76
84
|
return match;
|
|
77
85
|
}
|
|
86
|
+
const DEFAULT_EXPIRES_IN_SECONDS = 3_600;
|
|
87
|
+
/** The service caps one long poll at 30 seconds; longer waits are consecutive polls. */
|
|
88
|
+
const MAX_POLL_SECONDS = 30;
|
|
89
|
+
/**
|
|
90
|
+
* Reads `--choice` in either shape a person is likely to type.
|
|
91
|
+
*
|
|
92
|
+
* `--choice 'ship=Ship it,hold=Hold'` and `--choice ship='Ship it' --choice
|
|
93
|
+
* hold=Hold` produce the same two options, because both are natural and
|
|
94
|
+
* neither is worth a second flag to distinguish. A bare word with no `=` is
|
|
95
|
+
* its own label, so `--choice yes,no` asks the obvious question.
|
|
96
|
+
*/
|
|
97
|
+
function choices(parsed) {
|
|
98
|
+
return (parsed.repeated.get("choice") ?? [])
|
|
99
|
+
.flatMap((value) => value.split(","))
|
|
100
|
+
.map((entry) => entry.trim())
|
|
101
|
+
.filter((entry) => entry.length > 0)
|
|
102
|
+
.map((entry) => {
|
|
103
|
+
const equals = entry.indexOf("=");
|
|
104
|
+
if (equals === -1)
|
|
105
|
+
return { label: entry, value: entry };
|
|
106
|
+
return {
|
|
107
|
+
label: entry.slice(equals + 1).trim(),
|
|
108
|
+
value: entry.slice(0, equals).trim(),
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function seconds(parsed, name) {
|
|
113
|
+
const raw = parsed.options.get(name);
|
|
114
|
+
if (raw === undefined)
|
|
115
|
+
return undefined;
|
|
116
|
+
const value = Number(raw);
|
|
117
|
+
if (!Number.isInteger(value) || value < 0) {
|
|
118
|
+
throw new UsageError(`--${name} must be a whole number of seconds.`);
|
|
119
|
+
}
|
|
120
|
+
return value;
|
|
121
|
+
}
|
|
122
|
+
function waitSeconds(parsed) {
|
|
123
|
+
// `--wait` with no value is the common intent: wait for a sensible while.
|
|
124
|
+
if (parsed.switches.has("wait"))
|
|
125
|
+
return MAX_POLL_SECONDS;
|
|
126
|
+
return seconds(parsed, "wait");
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Builds the question from what was asked for.
|
|
130
|
+
*
|
|
131
|
+
* Choices mean a single-select, `--free-text` means a typed reply, and a
|
|
132
|
+
* question with neither is a yes/no confirm — which is what most first
|
|
133
|
+
* questions are, and what someone following a quickstart gets for free.
|
|
134
|
+
*/
|
|
135
|
+
export function askedInteraction(parsed) {
|
|
136
|
+
const prompt = required(parsed, "text", "the question to ask");
|
|
137
|
+
const expiresInSeconds = seconds(parsed, "expires-in") ?? DEFAULT_EXPIRES_IN_SECONDS;
|
|
138
|
+
// The builders enforce this window too, but they report it as "the request
|
|
139
|
+
// is not valid", which names neither the field nor the bound it missed.
|
|
140
|
+
if (expiresInSeconds < 30 || expiresInSeconds > 86_400) {
|
|
141
|
+
throw new UsageError(`--expires-in must be 30 seconds through 86400 (24 hours); ${expiresInSeconds} given.`);
|
|
142
|
+
}
|
|
143
|
+
const correlationId = parsed.options.get("correlation");
|
|
144
|
+
const shared = {
|
|
145
|
+
...(correlationId === undefined ? {} : { correlationId }),
|
|
146
|
+
expiresInSeconds,
|
|
147
|
+
prompt,
|
|
148
|
+
};
|
|
149
|
+
const options = choices(parsed);
|
|
150
|
+
const freeText = parsed.switches.has("free-text") || parsed.options.has("free-text");
|
|
151
|
+
if (options.length > 0 && freeText) {
|
|
152
|
+
throw new UsageError("--free-text asks for a typed reply and --choice asks for a pick. Use one.");
|
|
153
|
+
}
|
|
154
|
+
if (options.length > 0) {
|
|
155
|
+
if (options.length < 2 || options.length > 6) {
|
|
156
|
+
throw new UsageError(`A choice question needs 2 to 6 options; ${options.length} given. ` +
|
|
157
|
+
"Separate them with commas: --choice 'ship=Ship it,hold=Hold'.");
|
|
158
|
+
}
|
|
159
|
+
return selectInteraction({ ...shared, options });
|
|
160
|
+
}
|
|
161
|
+
return freeText
|
|
162
|
+
? inputInteraction(shared)
|
|
163
|
+
: confirmInteraction({
|
|
164
|
+
...shared,
|
|
165
|
+
...(parsed.options.has("confirm-label")
|
|
166
|
+
? { confirmLabel: parsed.options.get("confirm-label") }
|
|
167
|
+
: {}),
|
|
168
|
+
...(parsed.options.has("deny-label")
|
|
169
|
+
? { denyLabel: parsed.options.get("deny-label") }
|
|
170
|
+
: {}),
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
/** Reads one interaction from whichever route the held credential can reach. */
|
|
174
|
+
function readInteraction(api, scope, interactionId, wait) {
|
|
175
|
+
const options = wait === undefined ? {} : { wait };
|
|
176
|
+
return scope === null
|
|
177
|
+
? api.getInteraction(interactionId, options)
|
|
178
|
+
: api.getInteractionInEnvironment(scope.projectId, scope.environmentId, interactionId, options);
|
|
179
|
+
}
|
|
180
|
+
export async function untilAnswered(api, scope, interactionId, waitFor) {
|
|
181
|
+
const deadline = Date.now() + waitFor * 1_000;
|
|
182
|
+
let summary = await readInteraction(api, scope, interactionId);
|
|
183
|
+
while (!isInteractionTerminal(summary)) {
|
|
184
|
+
const remaining = Math.ceil((deadline - Date.now()) / 1_000);
|
|
185
|
+
if (remaining <= 0)
|
|
186
|
+
break;
|
|
187
|
+
summary = await readInteraction(api, scope, interactionId, Math.min(MAX_POLL_SECONDS, remaining));
|
|
188
|
+
}
|
|
189
|
+
return summary;
|
|
190
|
+
}
|
|
191
|
+
/** How a confirm's boolean reads to somebody who asked a yes/no question. */
|
|
192
|
+
function answerText(summary) {
|
|
193
|
+
const answer = interactionAnswer(summary);
|
|
194
|
+
if (!answer)
|
|
195
|
+
return undefined;
|
|
196
|
+
return answer.type === "confirm"
|
|
197
|
+
? answer.value
|
|
198
|
+
? "yes"
|
|
199
|
+
: "no"
|
|
200
|
+
: answer.value;
|
|
201
|
+
}
|
|
202
|
+
export function describeInteraction(summary, where) {
|
|
203
|
+
if (summary.state === "answered") {
|
|
204
|
+
const answer = answerText(summary);
|
|
205
|
+
return [
|
|
206
|
+
// An answered question whose answer has aged out of its retention window
|
|
207
|
+
// is not a missing answer; saying "answered" and nothing else would look
|
|
208
|
+
// like one.
|
|
209
|
+
answer === undefined
|
|
210
|
+
? `${summary.id} answered${summary.answered_at ? ` at ${summary.answered_at}` : ""}, and the answer is past its retention window.`
|
|
211
|
+
: `answer: ${answer}`,
|
|
212
|
+
`${summary.id} ${summary.type} answered${summary.answered_at ? ` at ${summary.answered_at}` : ""}`,
|
|
213
|
+
];
|
|
214
|
+
}
|
|
215
|
+
if (summary.state === "open") {
|
|
216
|
+
return [
|
|
217
|
+
`${summary.id} is still open until ${summary.expires_at}.`,
|
|
218
|
+
`Check again with: wb interaction get ${summary.id}${where ? ` ${where}` : ""} --wait 30`,
|
|
219
|
+
];
|
|
220
|
+
}
|
|
221
|
+
return [`${summary.id} ${summary.type} ${summary.state}`];
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Where a message command should address itself.
|
|
225
|
+
*
|
|
226
|
+
* A project credential already names one project and one environment, so it
|
|
227
|
+
* authenticates the flat `/v1/messages` routes and is refused by the
|
|
228
|
+
* environment-scoped ones. An OAuth grant covers the account and must say
|
|
229
|
+
* which environment it means. Asking somebody holding a project credential to
|
|
230
|
+
* repeat what the credential already says — and then failing them for it —
|
|
231
|
+
* was the reason `wb credential create` produced something `wb` could not use.
|
|
232
|
+
*/
|
|
233
|
+
async function messageScope(context) {
|
|
234
|
+
const { client: api, projectScoped } = await authorizedSession({
|
|
235
|
+
...(context.credentialsFile === undefined
|
|
236
|
+
? {}
|
|
237
|
+
: { credentialsFile: context.credentialsFile }),
|
|
238
|
+
origin: context.origin,
|
|
239
|
+
});
|
|
240
|
+
if (projectScoped && !context.parsed.options.has("project")) {
|
|
241
|
+
return {
|
|
242
|
+
api,
|
|
243
|
+
environmentId: "",
|
|
244
|
+
flat: true,
|
|
245
|
+
projectId: "",
|
|
246
|
+
where: "",
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
const { environmentId, projectId } = await resolveEnvironment(api, context.parsed);
|
|
250
|
+
return {
|
|
251
|
+
api,
|
|
252
|
+
environmentId,
|
|
253
|
+
flat: projectScoped,
|
|
254
|
+
projectId,
|
|
255
|
+
where: `--project ${projectId} --environment ${environmentId}`,
|
|
256
|
+
};
|
|
257
|
+
}
|
|
78
258
|
const commands = {
|
|
79
259
|
async login(context) {
|
|
80
260
|
const scopes = context.parsed.repeated.get("scope");
|
|
@@ -238,13 +418,17 @@ const commands = {
|
|
|
238
418
|
},
|
|
239
419
|
async "connection route"(context) {
|
|
240
420
|
const api = await client(context);
|
|
241
|
-
const { environmentId,
|
|
421
|
+
const { environmentId, projectId } = await resolveEnvironment(api, context.parsed);
|
|
422
|
+
const named = context.parsed.options.get("notifier");
|
|
242
423
|
const routes = await api.attachNotifierConnection(projectId, environmentId, {
|
|
243
424
|
connection_id: required(context.parsed, "connection", "the connection to route through"),
|
|
244
425
|
// Defaulted to the environment's own default notifier, which is the only
|
|
245
426
|
// one a new project has. Requiring it meant copying an id out of the
|
|
246
|
-
// output of `project create` for the commonest possible case.
|
|
247
|
-
|
|
427
|
+
// output of `project create` for the commonest possible case. Looked up
|
|
428
|
+
// only when it was not named, so the one command that needs a project
|
|
429
|
+
// read is the only one that makes it.
|
|
430
|
+
notifier_id: named ??
|
|
431
|
+
(await resolveDefaultNotifier(api, projectId, environmentId)),
|
|
248
432
|
});
|
|
249
433
|
emit(context.writer, routes, table([
|
|
250
434
|
["NOTIFIER", "CONNECTION", "DEFAULT"],
|
|
@@ -275,30 +459,100 @@ const commands = {
|
|
|
275
459
|
]);
|
|
276
460
|
},
|
|
277
461
|
async "message send"(context) {
|
|
278
|
-
const api = await
|
|
279
|
-
const
|
|
280
|
-
const
|
|
462
|
+
const { api, environmentId, flat, projectId, where } = await messageScope(context);
|
|
463
|
+
const target = deliveryTarget(context.parsed);
|
|
464
|
+
const request = {
|
|
281
465
|
content: {
|
|
282
466
|
text: required(context.parsed, "text", "the message body"),
|
|
283
467
|
type: "text",
|
|
284
468
|
},
|
|
285
|
-
delivery_target:
|
|
469
|
+
...(target === undefined ? {} : { delivery_target: target }),
|
|
286
470
|
to: {
|
|
287
471
|
subscriber_id: required(context.parsed, "subscriber", "who to send to"),
|
|
288
472
|
},
|
|
289
|
-
}
|
|
473
|
+
};
|
|
474
|
+
const message = flat
|
|
475
|
+
? await api.createMessage(request, idempotency(context.parsed))
|
|
476
|
+
: await api.createMessageInEnvironment(projectId, environmentId, request, idempotency(context.parsed));
|
|
290
477
|
emit(context.writer, message, [
|
|
291
478
|
`Accepted ${message.id} (${message.state}).`,
|
|
292
|
-
`Read it with: wb message get ${message.id}
|
|
479
|
+
`Read it with: wb message get ${message.id}${where ? ` ${where}` : ""}`,
|
|
293
480
|
]);
|
|
294
481
|
},
|
|
482
|
+
/**
|
|
483
|
+
* Sends a message that carries a question.
|
|
484
|
+
*
|
|
485
|
+
* The question is typed once. `--text` is both the message body and the
|
|
486
|
+
* interaction prompt, because a person asking "Deploy build 41?" does not
|
|
487
|
+
* want to write it twice, and a subscriber who saw two different wordings
|
|
488
|
+
* would reasonably wonder which one they were answering.
|
|
489
|
+
*
|
|
490
|
+
* The kind of question follows from what was asked for rather than from a
|
|
491
|
+
* `--type` flag nobody would remember: choices make it a select, `--free-text`
|
|
492
|
+
* makes it an input, and a bare question is a confirm.
|
|
493
|
+
*/
|
|
494
|
+
async "message ask"(context) {
|
|
495
|
+
// Built before the network call so a malformed question fails in under a
|
|
496
|
+
// second, against the arguments in front of the person, rather than after
|
|
497
|
+
// a project lookup and a send.
|
|
498
|
+
const interaction = askedInteraction(context.parsed);
|
|
499
|
+
const wait = waitSeconds(context.parsed);
|
|
500
|
+
const { api, environmentId, flat, projectId, where } = await messageScope(context);
|
|
501
|
+
const target = deliveryTarget(context.parsed);
|
|
502
|
+
const request = {
|
|
503
|
+
content: { text: interaction.prompt, type: "text" },
|
|
504
|
+
...(target === undefined ? {} : { delivery_target: target }),
|
|
505
|
+
interaction,
|
|
506
|
+
to: {
|
|
507
|
+
subscriber_id: required(context.parsed, "subscriber", "who to ask"),
|
|
508
|
+
},
|
|
509
|
+
};
|
|
510
|
+
const message = flat
|
|
511
|
+
? await api.createMessage(request, idempotency(context.parsed))
|
|
512
|
+
: await api.createMessageInEnvironment(projectId, environmentId, request, idempotency(context.parsed));
|
|
513
|
+
const summary = message.interaction;
|
|
514
|
+
if (!summary) {
|
|
515
|
+
// Accepted without one means the send happened and the question did not.
|
|
516
|
+
// Reporting the message id alone would read as success.
|
|
517
|
+
emit(context.writer, message, [
|
|
518
|
+
`Accepted ${message.id} (${message.state}), but it carries no question.`,
|
|
519
|
+
`Read it with: wb message get ${message.id}${where ? ` ${where}` : ""}`,
|
|
520
|
+
]);
|
|
521
|
+
return;
|
|
522
|
+
}
|
|
523
|
+
if (wait === undefined) {
|
|
524
|
+
emit(context.writer, message, [
|
|
525
|
+
`Asked ${summary.id} — ${summary.type === "input" ? "an" : "a"} ${summary.type} question, open until ${summary.expires_at}.`,
|
|
526
|
+
`Sent as ${message.id} (${message.state}).`,
|
|
527
|
+
`Read the answer with: wb interaction get ${summary.id}${where ? ` ${where}` : ""} --wait 30`,
|
|
528
|
+
]);
|
|
529
|
+
return;
|
|
530
|
+
}
|
|
531
|
+
context.writer.err(`Waiting up to ${wait}s for an answer…`);
|
|
532
|
+
const settled = await untilAnswered(api, flat ? null : { environmentId, projectId }, summary.id, wait);
|
|
533
|
+
emit(context.writer, settled, describeInteraction(settled, where));
|
|
534
|
+
},
|
|
535
|
+
async "interaction get"(context) {
|
|
536
|
+
const interactionId = context.parsed.words[2];
|
|
537
|
+
if (!interactionId) {
|
|
538
|
+
throw new UsageError("wb interaction get <interaction-id>");
|
|
539
|
+
}
|
|
540
|
+
const wait = waitSeconds(context.parsed);
|
|
541
|
+
const { api, environmentId, flat, projectId, where } = await messageScope(context);
|
|
542
|
+
const scope = flat ? null : { environmentId, projectId };
|
|
543
|
+
const summary = wait === undefined
|
|
544
|
+
? await readInteraction(api, scope, interactionId)
|
|
545
|
+
: await untilAnswered(api, scope, interactionId, wait);
|
|
546
|
+
emit(context.writer, summary, describeInteraction(summary, where));
|
|
547
|
+
},
|
|
295
548
|
async "message get"(context) {
|
|
296
|
-
const api = await client(context);
|
|
297
|
-
const { environmentId, projectId } = await resolveEnvironment(api, context.parsed);
|
|
298
549
|
const messageId = context.parsed.words[2];
|
|
299
550
|
if (!messageId)
|
|
300
551
|
throw new UsageError("wb message get <message-id>");
|
|
301
|
-
const
|
|
552
|
+
const { api, environmentId, flat, projectId } = await messageScope(context);
|
|
553
|
+
const message = flat
|
|
554
|
+
? await api.getMessage(messageId)
|
|
555
|
+
: await api.getMessageInEnvironment(projectId, environmentId, messageId);
|
|
302
556
|
emit(context.writer, message, [
|
|
303
557
|
`${message.id} ${message.state}`,
|
|
304
558
|
`provider: ${message.delivery.highest_proven_provider_state}`,
|
|
@@ -319,7 +573,9 @@ export function strayWords(words) {
|
|
|
319
573
|
if (consumed === 0)
|
|
320
574
|
return [];
|
|
321
575
|
// `project create <name>` and `message get <id>` each take one positional.
|
|
322
|
-
const takesPositional = two === "project create" ||
|
|
576
|
+
const takesPositional = two === "project create" ||
|
|
577
|
+
two === "message get" ||
|
|
578
|
+
two === "interaction get";
|
|
323
579
|
return words.slice(consumed + (takesPositional ? 1 : 0));
|
|
324
580
|
}
|
|
325
581
|
export function resolveCommand(words) {
|
package/dist/cli/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.js
CHANGED
|
@@ -25,6 +25,14 @@ const USAGE = `wb — the WhooshBang command line
|
|
|
25
25
|
[--target connection|simulator]
|
|
26
26
|
wb message get <id> --project <project> --environment <env>
|
|
27
27
|
|
|
28
|
+
wb message ask --project <project> --environment <env> --subscriber <id> --text <question>
|
|
29
|
+
[--choice 'a=Label,b=Label'] ask them to pick one of 2-6
|
|
30
|
+
[--free-text] ask them to type a reply
|
|
31
|
+
[--confirm-label <t>] [--deny-label <t>]
|
|
32
|
+
[--expires-in <seconds>] default one hour
|
|
33
|
+
[--wait [seconds]] block until they answer
|
|
34
|
+
wb interaction get <id> --project <project> --environment <env> [--wait [seconds]]
|
|
35
|
+
|
|
28
36
|
A project is named by its id or its slug; an environment by its id or by
|
|
29
37
|
test or live — whichever the output in front of you shows.
|
|
30
38
|
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,KAAK,GAAG
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/selectors.d.ts
CHANGED
|
@@ -16,7 +16,12 @@ import { type ParsedArguments } from "./arguments.js";
|
|
|
16
16
|
export interface ResolvedEnvironment {
|
|
17
17
|
readonly projectId: string;
|
|
18
18
|
readonly environmentId: string;
|
|
19
|
-
/** The default notifier of that environment, which several commands need. */
|
|
20
|
-
readonly notifierId: string;
|
|
21
19
|
}
|
|
22
20
|
export declare function resolveEnvironment(client: WhooshBangClient, parsed: ParsedArguments): Promise<ResolvedEnvironment>;
|
|
21
|
+
/**
|
|
22
|
+
* The environment's default notifier, which only `link create` needs.
|
|
23
|
+
*
|
|
24
|
+
* Kept apart from `resolveEnvironment` so that everything which does not need
|
|
25
|
+
* it does not pay for the read that finds it.
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveDefaultNotifier(client: WhooshBangClient, projectId: string, environmentId: string): Promise<string>;
|
package/dist/cli/selectors.js
CHANGED
|
@@ -9,21 +9,18 @@ function looksLikeEnvironmentId(value) {
|
|
|
9
9
|
export async function resolveEnvironment(client, parsed) {
|
|
10
10
|
const projectSelector = required(parsed, "project", "the project id or slug");
|
|
11
11
|
const environmentSelector = required(parsed, "environment", "the environment id, or test or live");
|
|
12
|
-
// The fast path: two ids and nothing to look up.
|
|
13
|
-
//
|
|
12
|
+
// The fast path: two ids and nothing to look up. This used to read the
|
|
13
|
+
// project anyway, purely to check the pair agreed — which cost a request on
|
|
14
|
+
// every command and, worse, put an account-scoped read in front of work that
|
|
15
|
+
// is entirely environment-scoped. A project credential authenticates the
|
|
16
|
+
// environment routes and nothing above them, so that check made the CLI
|
|
17
|
+
// unusable with exactly the credential the CLI issues. A mismatched pair now
|
|
18
|
+
// fails at the operation itself, which is where a wrong id belongs.
|
|
14
19
|
if (looksLikeProjectId(projectSelector) &&
|
|
15
20
|
looksLikeEnvironmentId(environmentSelector)) {
|
|
16
|
-
const project = await client.getProject(projectSelector);
|
|
17
|
-
const environment = project.environments.find((candidate) => candidate.id === environmentSelector);
|
|
18
|
-
if (!environment) {
|
|
19
|
-
throw new UsageError(`${projectSelector} has no environment ${environmentSelector}. Its environments are ${project.environments
|
|
20
|
-
.map((candidate) => `${candidate.kind} (${candidate.id})`)
|
|
21
|
-
.join(" and ")}.`);
|
|
22
|
-
}
|
|
23
21
|
return {
|
|
24
|
-
environmentId:
|
|
25
|
-
|
|
26
|
-
projectId: project.id,
|
|
22
|
+
environmentId: environmentSelector,
|
|
23
|
+
projectId: projectSelector,
|
|
27
24
|
};
|
|
28
25
|
}
|
|
29
26
|
const project = looksLikeProjectId(projectSelector)
|
|
@@ -42,10 +39,25 @@ export async function resolveEnvironment(client, parsed) {
|
|
|
42
39
|
}
|
|
43
40
|
return {
|
|
44
41
|
environmentId: environment.id,
|
|
45
|
-
notifierId: environment.default_notifier.id,
|
|
46
42
|
projectId: project.id,
|
|
47
43
|
};
|
|
48
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* The environment's default notifier, which only `link create` needs.
|
|
47
|
+
*
|
|
48
|
+
* Kept apart from `resolveEnvironment` so that everything which does not need
|
|
49
|
+
* it does not pay for the read that finds it.
|
|
50
|
+
*/
|
|
51
|
+
export async function resolveDefaultNotifier(client, projectId, environmentId) {
|
|
52
|
+
const project = await client.getProject(projectId);
|
|
53
|
+
const environment = project.environments.find((candidate) => candidate.id === environmentId);
|
|
54
|
+
if (!environment) {
|
|
55
|
+
throw new UsageError(`${projectId} has no environment ${environmentId}. Its environments are ${project.environments
|
|
56
|
+
.map((candidate) => `${candidate.kind} (${candidate.id})`)
|
|
57
|
+
.join(" and ")}.`);
|
|
58
|
+
}
|
|
59
|
+
return environment.default_notifier.id;
|
|
60
|
+
}
|
|
49
61
|
async function projectBySlug(client, slug) {
|
|
50
62
|
const projects = await client.listProjects();
|
|
51
63
|
const match = projects.items.find((candidate) => candidate.slug === slug);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/cli/selectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAwB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/cli/selectors.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/session.d.ts
CHANGED
|
@@ -23,6 +23,25 @@ export declare function signOut(origin: string, credentialsFile?: string): Promi
|
|
|
23
23
|
* The client every command uses, with the stored token refreshed if it is
|
|
24
24
|
* close enough to expiry that a slow call could outlive it.
|
|
25
25
|
*/
|
|
26
|
+
/**
|
|
27
|
+
* Whether the stored authority is a project credential rather than an OAuth
|
|
28
|
+
* grant.
|
|
29
|
+
*
|
|
30
|
+
* The two reach different routes. A project credential already names one
|
|
31
|
+
* project and one environment, so it authenticates `/v1/messages` and is
|
|
32
|
+
* refused by the environment-scoped paths; an OAuth grant covers the whole
|
|
33
|
+
* account, so it must say which environment it means. The prefix is the
|
|
34
|
+
* service's own discriminator — `environmentAuthentication` switches on it —
|
|
35
|
+
* rather than something invented here.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isProjectCredential(token: string): boolean;
|
|
38
|
+
export declare function authorizedSession(options: {
|
|
39
|
+
readonly origin: string;
|
|
40
|
+
readonly credentialsFile?: string;
|
|
41
|
+
}): Promise<{
|
|
42
|
+
readonly client: WhooshBangClient;
|
|
43
|
+
readonly projectScoped: boolean;
|
|
44
|
+
}>;
|
|
26
45
|
export declare function authorizedClient(options: {
|
|
27
46
|
readonly origin: string;
|
|
28
47
|
readonly credentialsFile?: string;
|
package/dist/cli/session.js
CHANGED
|
@@ -117,6 +117,28 @@ export async function signOut(origin, credentialsFile) {
|
|
|
117
117
|
* The client every command uses, with the stored token refreshed if it is
|
|
118
118
|
* close enough to expiry that a slow call could outlive it.
|
|
119
119
|
*/
|
|
120
|
+
/**
|
|
121
|
+
* Whether the stored authority is a project credential rather than an OAuth
|
|
122
|
+
* grant.
|
|
123
|
+
*
|
|
124
|
+
* The two reach different routes. A project credential already names one
|
|
125
|
+
* project and one environment, so it authenticates `/v1/messages` and is
|
|
126
|
+
* refused by the environment-scoped paths; an OAuth grant covers the whole
|
|
127
|
+
* account, so it must say which environment it means. The prefix is the
|
|
128
|
+
* service's own discriminator — `environmentAuthentication` switches on it —
|
|
129
|
+
* rather than something invented here.
|
|
130
|
+
*/
|
|
131
|
+
export function isProjectCredential(token) {
|
|
132
|
+
return token.startsWith("wb_pc1.");
|
|
133
|
+
}
|
|
134
|
+
export async function authorizedSession(options) {
|
|
135
|
+
const client = await authorizedClient(options);
|
|
136
|
+
const session = await loadSession(options.origin, options.credentialsFile);
|
|
137
|
+
return {
|
|
138
|
+
client,
|
|
139
|
+
projectScoped: session ? isProjectCredential(session.accessToken) : false,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
120
142
|
export async function authorizedClient(options) {
|
|
121
143
|
const session = await loadSession(options.origin, options.credentialsFile);
|
|
122
144
|
if (!session)
|
package/dist/cli/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/cli/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/cli/session.ts"],"names":[],"mappings":"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"}
|