@whooshbang/sdk 1.0.0-rc.20 → 1.0.0-rc.22
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 +8 -0
- package/dist/cli/commands.js +104 -29
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/main.js +22 -9
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/selectors.d.ts +22 -0
- package/dist/cli/selectors.js +60 -0
- package/dist/cli/selectors.js.map +1 -0
- package/package.json +1 -1
package/dist/cli/commands.d.ts
CHANGED
|
@@ -9,6 +9,14 @@ export interface CommandContext {
|
|
|
9
9
|
readonly readStdin: () => Promise<string>;
|
|
10
10
|
readonly credentialsFile?: string;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Words left over once the command itself is accounted for.
|
|
14
|
+
*
|
|
15
|
+
* `--shared-identity x` typed as `shared-identity x` produces two positional
|
|
16
|
+
* words and no option. Both the value and the intent are lost, and the command
|
|
17
|
+
* then fails for a reason that has nothing to do with what was mistyped.
|
|
18
|
+
*/
|
|
19
|
+
export declare function strayWords(words: readonly string[]): string[];
|
|
12
20
|
export declare function resolveCommand(words: readonly string[]): ((context: CommandContext) => Promise<void>) | null;
|
|
13
21
|
export declare const COMMAND_NAMES: string[];
|
|
14
22
|
export { resolveOrigin };
|
package/dist/cli/commands.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import { required, UsageError } from "./arguments.js";
|
|
3
3
|
import { emit, emitSecret, table } from "./output.js";
|
|
4
|
+
import { resolveEnvironment } from "./selectors.js";
|
|
4
5
|
import { authorizedClient, resolveOrigin, signIn, signOut } from "./session.js";
|
|
5
6
|
/**
|
|
6
7
|
* Every side-effecting call needs an idempotency key, and a person running a
|
|
@@ -25,12 +26,6 @@ function deliveryTarget(parsed) {
|
|
|
25
26
|
}
|
|
26
27
|
return value;
|
|
27
28
|
}
|
|
28
|
-
function environmentArguments(parsed) {
|
|
29
|
-
return {
|
|
30
|
-
environmentId: required(parsed, "environment", "the environment id the operation acts in"),
|
|
31
|
-
projectId: required(parsed, "project", "the project id"),
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
29
|
async function client(context) {
|
|
35
30
|
return authorizedClient({
|
|
36
31
|
...(context.credentialsFile === undefined
|
|
@@ -39,6 +34,47 @@ async function client(context) {
|
|
|
39
34
|
origin: context.origin,
|
|
40
35
|
});
|
|
41
36
|
}
|
|
37
|
+
/** Levenshtein distance, bounded by the short strings it is used on. */
|
|
38
|
+
function editDistance(a, b) {
|
|
39
|
+
const previous = Array.from({ length: b.length + 1 }, (_, index) => index);
|
|
40
|
+
for (let i = 1; i <= a.length; i += 1) {
|
|
41
|
+
let diagonal = previous[0];
|
|
42
|
+
previous[0] = i;
|
|
43
|
+
for (let j = 1; j <= b.length; j += 1) {
|
|
44
|
+
const candidate = Math.min(previous[j] + 1, previous[j - 1] + 1, diagonal + (a[i - 1] === b[j - 1] ? 0 : 1));
|
|
45
|
+
diagonal = previous[j];
|
|
46
|
+
previous[j] = candidate;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return previous[b.length];
|
|
50
|
+
}
|
|
51
|
+
const CONNECTION_MODES = [
|
|
52
|
+
"whooshbang_shared",
|
|
53
|
+
"customer_managed",
|
|
54
|
+
"customer_byok",
|
|
55
|
+
];
|
|
56
|
+
/**
|
|
57
|
+
* A mode the API will accept, refused here rather than there.
|
|
58
|
+
*
|
|
59
|
+
* A typo used to travel all the way to the service and come back as "The
|
|
60
|
+
* request does not match the WhooshBang contract" — true, unactionable, and
|
|
61
|
+
* indistinguishable from a dozen other malformed requests. The three modes are
|
|
62
|
+
* a closed set this program already knows.
|
|
63
|
+
*/
|
|
64
|
+
function connectionMode(parsed) {
|
|
65
|
+
const value = required(parsed, "mode", CONNECTION_MODES.join(", "));
|
|
66
|
+
const match = CONNECTION_MODES.find((mode) => mode === value);
|
|
67
|
+
if (!match) {
|
|
68
|
+
// Near-misses are the common case: one dropped or transposed letter in a
|
|
69
|
+
// long snake_case word. `wooshbang_shared` is exactly that, and a list of
|
|
70
|
+
// three valid values is a worse answer than naming the one they meant.
|
|
71
|
+
const near = CONNECTION_MODES.find((mode) => editDistance(mode, value.toLowerCase()) <= 2);
|
|
72
|
+
throw new UsageError(near
|
|
73
|
+
? `"${value}" is not a connection mode. Did you mean ${near}?`
|
|
74
|
+
: `"${value}" is not a connection mode. Use one of ${CONNECTION_MODES.join(", ")}.`);
|
|
75
|
+
}
|
|
76
|
+
return match;
|
|
77
|
+
}
|
|
42
78
|
const commands = {
|
|
43
79
|
async login(context) {
|
|
44
80
|
const scopes = context.parsed.repeated.get("scope");
|
|
@@ -67,14 +103,16 @@ const commands = {
|
|
|
67
103
|
]);
|
|
68
104
|
},
|
|
69
105
|
async whoami(context) {
|
|
70
|
-
const
|
|
106
|
+
const api = await client(context);
|
|
107
|
+
const account = await api.getAccount();
|
|
71
108
|
emit(context.writer, account, [
|
|
72
109
|
`Account ${account.id}`,
|
|
73
110
|
...(account.name ? [account.name] : []),
|
|
74
111
|
]);
|
|
75
112
|
},
|
|
76
113
|
async "project list"(context) {
|
|
77
|
-
const
|
|
114
|
+
const api = await client(context);
|
|
115
|
+
const projects = await api.listProjects();
|
|
78
116
|
emit(context.writer, projects, table([
|
|
79
117
|
["ID", "SLUG", "NAME"],
|
|
80
118
|
...projects.items.map((project) => [
|
|
@@ -93,7 +131,8 @@ const commands = {
|
|
|
93
131
|
.toLowerCase()
|
|
94
132
|
.replace(/[^a-z0-9]+/gu, "-")
|
|
95
133
|
.replace(/^-+|-+$/gu, "");
|
|
96
|
-
const
|
|
134
|
+
const api = await client(context);
|
|
135
|
+
const project = await api.createProject({ name, slug }, idempotency(context.parsed));
|
|
97
136
|
emit(context.writer, project, [
|
|
98
137
|
`Created project ${project.id} (${project.slug}).`,
|
|
99
138
|
...table([
|
|
@@ -107,7 +146,8 @@ const commands = {
|
|
|
107
146
|
]);
|
|
108
147
|
},
|
|
109
148
|
async "credential create"(context) {
|
|
110
|
-
const
|
|
149
|
+
const api = await client(context);
|
|
150
|
+
const { environmentId, projectId } = await resolveEnvironment(api, context.parsed);
|
|
111
151
|
const label = required(context.parsed, "label", "what this credential is for");
|
|
112
152
|
// The contract types the scope list as a bounded tuple, so a plain
|
|
113
153
|
// string[] cannot be passed. The values are validated by the API either
|
|
@@ -118,7 +158,10 @@ const commands = {
|
|
|
118
158
|
"subscriptions:write",
|
|
119
159
|
"subscriptions:read",
|
|
120
160
|
]);
|
|
121
|
-
const created = await
|
|
161
|
+
const created = await api.createApiCredential(projectId, environmentId, {
|
|
162
|
+
label,
|
|
163
|
+
scopes,
|
|
164
|
+
});
|
|
122
165
|
if (context.writer.json) {
|
|
123
166
|
emit(context.writer, created, []);
|
|
124
167
|
return;
|
|
@@ -126,8 +169,9 @@ const commands = {
|
|
|
126
169
|
emitSecret(context.writer, created.secret, "The complete secret is shown once and is not retrievable later. Store it now.");
|
|
127
170
|
},
|
|
128
171
|
async "connection list"(context) {
|
|
129
|
-
const
|
|
130
|
-
const
|
|
172
|
+
const api = await client(context);
|
|
173
|
+
const { environmentId, projectId } = await resolveEnvironment(api, context.parsed);
|
|
174
|
+
const connections = await api.listChannelConnections(projectId, environmentId);
|
|
131
175
|
emit(context.writer, connections, table([
|
|
132
176
|
["ID", "MODE", "STATUS", "NAME"],
|
|
133
177
|
...connections.items.map((connection) => [
|
|
@@ -139,8 +183,9 @@ const commands = {
|
|
|
139
183
|
]));
|
|
140
184
|
},
|
|
141
185
|
async "connection providers"(context) {
|
|
142
|
-
const
|
|
143
|
-
const
|
|
186
|
+
const api = await client(context);
|
|
187
|
+
const { environmentId, projectId } = await resolveEnvironment(api, context.parsed);
|
|
188
|
+
const providers = await api.listConnectionProviders(projectId, environmentId);
|
|
144
189
|
emit(context.writer, providers, table([
|
|
145
190
|
["PROVIDER", "SHARED IDENTITY", "DISPLAY NAME"],
|
|
146
191
|
...providers.items.flatMap((provider) => provider.shared_identities.map((identity) => [
|
|
@@ -151,15 +196,22 @@ const commands = {
|
|
|
151
196
|
]));
|
|
152
197
|
},
|
|
153
198
|
async "connection create"(context) {
|
|
154
|
-
|
|
155
|
-
|
|
199
|
+
// Everything this program can judge on its own, judged before anything is
|
|
200
|
+
// asked of the network. A mistyped mode should not cost a round trip, and
|
|
201
|
+
// should not be reported as whatever the *next* argument got wrong.
|
|
202
|
+
const mode = connectionMode(context.parsed);
|
|
156
203
|
const displayName = required(context.parsed, "name", "what to call this connection");
|
|
204
|
+
const sharedIdentity = mode === "whooshbang_shared"
|
|
205
|
+
? required(context.parsed, "shared-identity", "which shared identity to select — see wb connection providers")
|
|
206
|
+
: undefined;
|
|
207
|
+
const api = await client(context);
|
|
208
|
+
const { environmentId, projectId } = await resolveEnvironment(api, context.parsed);
|
|
157
209
|
let request = {
|
|
158
210
|
display_name: displayName,
|
|
159
211
|
mode,
|
|
160
212
|
};
|
|
161
|
-
if (
|
|
162
|
-
request["shared_identity_id"] =
|
|
213
|
+
if (sharedIdentity !== undefined) {
|
|
214
|
+
request["shared_identity_id"] = sharedIdentity;
|
|
163
215
|
}
|
|
164
216
|
else if (mode === "customer_byok") {
|
|
165
217
|
if (!context.parsed.switches.has("credential-stdin")) {
|
|
@@ -176,7 +228,7 @@ const commands = {
|
|
|
176
228
|
if (username)
|
|
177
229
|
request["suggested_username"] = username;
|
|
178
230
|
}
|
|
179
|
-
const connection = await
|
|
231
|
+
const connection = await api.createChannelConnection(projectId, environmentId, request, idempotency(context.parsed));
|
|
180
232
|
emit(context.writer, connection, [
|
|
181
233
|
`Created connection ${connection.id} (${connection.status}).`,
|
|
182
234
|
...(connection.setup?.handoff_url
|
|
@@ -185,10 +237,14 @@ const commands = {
|
|
|
185
237
|
]);
|
|
186
238
|
},
|
|
187
239
|
async "connection route"(context) {
|
|
188
|
-
const
|
|
189
|
-
const
|
|
240
|
+
const api = await client(context);
|
|
241
|
+
const { environmentId, notifierId, projectId } = await resolveEnvironment(api, context.parsed);
|
|
242
|
+
const routes = await api.attachNotifierConnection(projectId, environmentId, {
|
|
190
243
|
connection_id: required(context.parsed, "connection", "the connection to route through"),
|
|
191
|
-
|
|
244
|
+
// Defaulted to the environment's own default notifier, which is the only
|
|
245
|
+
// 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
|
+
notifier_id: context.parsed.options.get("notifier") ?? notifierId,
|
|
192
248
|
});
|
|
193
249
|
emit(context.writer, routes, table([
|
|
194
250
|
["NOTIFIER", "CONNECTION", "DEFAULT"],
|
|
@@ -200,9 +256,10 @@ const commands = {
|
|
|
200
256
|
]));
|
|
201
257
|
},
|
|
202
258
|
async "link create"(context) {
|
|
203
|
-
const
|
|
259
|
+
const api = await client(context);
|
|
260
|
+
const { environmentId, projectId } = await resolveEnvironment(api, context.parsed);
|
|
204
261
|
const connectionId = context.parsed.options.get("connection");
|
|
205
|
-
const link = await
|
|
262
|
+
const link = await api.createSubscriptionLinkInEnvironment(projectId, environmentId, {
|
|
206
263
|
channels: ["telegram"],
|
|
207
264
|
...(connectionId === undefined ? {} : { connection_id: connectionId }),
|
|
208
265
|
subscriber_id: required(context.parsed, "subscriber", "your own identifier for this subscriber"),
|
|
@@ -218,8 +275,9 @@ const commands = {
|
|
|
218
275
|
]);
|
|
219
276
|
},
|
|
220
277
|
async "message send"(context) {
|
|
221
|
-
const
|
|
222
|
-
const
|
|
278
|
+
const api = await client(context);
|
|
279
|
+
const { environmentId, projectId } = await resolveEnvironment(api, context.parsed);
|
|
280
|
+
const message = await api.createMessageInEnvironment(projectId, environmentId, {
|
|
223
281
|
content: {
|
|
224
282
|
text: required(context.parsed, "text", "the message body"),
|
|
225
283
|
type: "text",
|
|
@@ -235,11 +293,12 @@ const commands = {
|
|
|
235
293
|
]);
|
|
236
294
|
},
|
|
237
295
|
async "message get"(context) {
|
|
238
|
-
const
|
|
296
|
+
const api = await client(context);
|
|
297
|
+
const { environmentId, projectId } = await resolveEnvironment(api, context.parsed);
|
|
239
298
|
const messageId = context.parsed.words[2];
|
|
240
299
|
if (!messageId)
|
|
241
300
|
throw new UsageError("wb message get <message-id>");
|
|
242
|
-
const message = await
|
|
301
|
+
const message = await api.getMessageInEnvironment(projectId, environmentId, messageId);
|
|
243
302
|
emit(context.writer, message, [
|
|
244
303
|
`${message.id} ${message.state}`,
|
|
245
304
|
`provider: ${message.delivery.highest_proven_provider_state}`,
|
|
@@ -247,6 +306,22 @@ const commands = {
|
|
|
247
306
|
]);
|
|
248
307
|
},
|
|
249
308
|
};
|
|
309
|
+
/**
|
|
310
|
+
* Words left over once the command itself is accounted for.
|
|
311
|
+
*
|
|
312
|
+
* `--shared-identity x` typed as `shared-identity x` produces two positional
|
|
313
|
+
* words and no option. Both the value and the intent are lost, and the command
|
|
314
|
+
* then fails for a reason that has nothing to do with what was mistyped.
|
|
315
|
+
*/
|
|
316
|
+
export function strayWords(words) {
|
|
317
|
+
const two = words.slice(0, 2).join(" ");
|
|
318
|
+
const consumed = commands[two] ? 2 : commands[words[0] ?? ""] ? 1 : 0;
|
|
319
|
+
if (consumed === 0)
|
|
320
|
+
return [];
|
|
321
|
+
// `project create <name>` and `message get <id>` each take one positional.
|
|
322
|
+
const takesPositional = two === "project create" || two === "message get";
|
|
323
|
+
return words.slice(consumed + (takesPositional ? 1 : 0));
|
|
324
|
+
}
|
|
250
325
|
export function resolveCommand(words) {
|
|
251
326
|
const two = words.slice(0, 2).join(" ");
|
|
252
327
|
const one = words[0] ?? "";
|
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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { WhooshBangProblemError } from "../errors.js";
|
|
3
3
|
import { parseArguments, UsageError } from "./arguments.js";
|
|
4
|
-
import { COMMAND_NAMES, resolveCommand } from "./commands.js";
|
|
4
|
+
import { COMMAND_NAMES, resolveCommand, strayWords } from "./commands.js";
|
|
5
5
|
import { consoleWriter } from "./output.js";
|
|
6
6
|
import { NotSignedInError, resolveOrigin } from "./session.js";
|
|
7
7
|
import { OAuthError } from "./oauth.js";
|
|
@@ -14,16 +14,19 @@ const USAGE = `wb — the WhooshBang command line
|
|
|
14
14
|
wb project create <name> [--slug] create a project and its environments
|
|
15
15
|
wb project list
|
|
16
16
|
|
|
17
|
-
wb credential create --project <
|
|
18
|
-
wb connection providers --project <
|
|
19
|
-
wb connection create --project <
|
|
17
|
+
wb credential create --project <project> --environment <env> --label <text> [--scope <scope>]…
|
|
18
|
+
wb connection providers --project <project> --environment <env>
|
|
19
|
+
wb connection create --project <project> --environment <env> --mode <mode> --name <text>
|
|
20
20
|
[--shared-identity <id>] [--credential-stdin] [--username <name>]
|
|
21
|
-
wb connection list --project <
|
|
22
|
-
wb connection route --project <
|
|
23
|
-
wb link create --project <
|
|
24
|
-
wb message send --project <
|
|
21
|
+
wb connection list --project <project> --environment <env>
|
|
22
|
+
wb connection route --project <project> --environment <env> --connection <id> [--notifier <id>]
|
|
23
|
+
wb link create --project <project> --environment <env> --subscriber <id> [--connection <id>]
|
|
24
|
+
wb message send --project <project> --environment <env> --subscriber <id> --text <text>
|
|
25
25
|
[--target connection|simulator]
|
|
26
|
-
wb message get <id> --project <
|
|
26
|
+
wb message get <id> --project <project> --environment <env>
|
|
27
|
+
|
|
28
|
+
A project is named by its id or its slug; an environment by its id or by
|
|
29
|
+
test or live — whichever the output in front of you shows.
|
|
27
30
|
|
|
28
31
|
Global:
|
|
29
32
|
--api-url <origin> which deployment to talk to (default https://api.whooshbang.com,
|
|
@@ -79,6 +82,16 @@ export async function run(argv, overrides = {}) {
|
|
|
79
82
|
writer.out(process.env.npm_package_version ?? "unknown");
|
|
80
83
|
return 0;
|
|
81
84
|
}
|
|
85
|
+
// A flag typed without its dashes lands here as a bare word — `shared-identity
|
|
86
|
+
// prvinst_…` becomes two stray words and the option it was meant to be is
|
|
87
|
+
// simply absent. Saying so beats failing later for a reason that looks
|
|
88
|
+
// unrelated.
|
|
89
|
+
const stray = strayWords(parsed.words);
|
|
90
|
+
if (stray.length > 0) {
|
|
91
|
+
writer.err(`Unexpected ${stray.length === 1 ? "argument" : "arguments"}: ${stray.join(", ")}. ` +
|
|
92
|
+
`If you meant an option, it needs two dashes — --${stray[0]}.`);
|
|
93
|
+
return 2;
|
|
94
|
+
}
|
|
82
95
|
const command = resolveCommand(parsed.words);
|
|
83
96
|
if (!command) {
|
|
84
97
|
writer.err(`Unknown command: ${parsed.words.join(" ")}`);
|
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,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { WhooshBangClient } from "../client.js";
|
|
2
|
+
import { type ParsedArguments } from "./arguments.js";
|
|
3
|
+
/**
|
|
4
|
+
* Turning what a person types into the ids the API wants.
|
|
5
|
+
*
|
|
6
|
+
* `wb project create` prints a table with a KIND column reading `test` and
|
|
7
|
+
* `live`, so `--environment test` is the obvious next thing to type. It used to
|
|
8
|
+
* be refused with "The resource was not found", which names nothing, suggests
|
|
9
|
+
* nothing, and is indistinguishable from a genuinely missing project.
|
|
10
|
+
*
|
|
11
|
+
* So both selectors accept what the output shows. A project is named by its id
|
|
12
|
+
* or its slug; an environment by its id or its kind. Ids still work exactly as
|
|
13
|
+
* before, and nothing here changes what the API is asked for — only what a
|
|
14
|
+
* person is allowed to type.
|
|
15
|
+
*/
|
|
16
|
+
export interface ResolvedEnvironment {
|
|
17
|
+
readonly projectId: string;
|
|
18
|
+
readonly environmentId: string;
|
|
19
|
+
/** The default notifier of that environment, which several commands need. */
|
|
20
|
+
readonly notifierId: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function resolveEnvironment(client: WhooshBangClient, parsed: ParsedArguments): Promise<ResolvedEnvironment>;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { required, UsageError } from "./arguments.js";
|
|
2
|
+
const ENVIRONMENT_KINDS = new Set(["test", "live"]);
|
|
3
|
+
function looksLikeProjectId(value) {
|
|
4
|
+
return value.startsWith("project_");
|
|
5
|
+
}
|
|
6
|
+
function looksLikeEnvironmentId(value) {
|
|
7
|
+
return value.startsWith("environment_");
|
|
8
|
+
}
|
|
9
|
+
export async function resolveEnvironment(client, parsed) {
|
|
10
|
+
const projectSelector = required(parsed, "project", "the project id or slug");
|
|
11
|
+
const environmentSelector = required(parsed, "environment", "the environment id, or test or live");
|
|
12
|
+
// The fast path: two ids and nothing to look up. A person who copied both
|
|
13
|
+
// out of earlier output pays for no extra request.
|
|
14
|
+
if (looksLikeProjectId(projectSelector) &&
|
|
15
|
+
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
|
+
return {
|
|
24
|
+
environmentId: environment.id,
|
|
25
|
+
notifierId: environment.default_notifier.id,
|
|
26
|
+
projectId: project.id,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const project = looksLikeProjectId(projectSelector)
|
|
30
|
+
? await client.getProject(projectSelector)
|
|
31
|
+
: await projectBySlug(client, projectSelector);
|
|
32
|
+
const environment = looksLikeEnvironmentId(environmentSelector)
|
|
33
|
+
? project.environments.find((candidate) => candidate.id === environmentSelector)
|
|
34
|
+
: project.environments.find((candidate) => candidate.kind === environmentSelector);
|
|
35
|
+
if (!environment) {
|
|
36
|
+
if (!ENVIRONMENT_KINDS.has(environmentSelector)) {
|
|
37
|
+
throw new UsageError(`"${environmentSelector}" is not an environment. Name it by kind — test or live — or by id: ${project.environments
|
|
38
|
+
.map((candidate) => `${candidate.kind} is ${candidate.id}`)
|
|
39
|
+
.join(", ")}.`);
|
|
40
|
+
}
|
|
41
|
+
throw new UsageError(`${project.slug} has no ${environmentSelector} environment.`);
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
environmentId: environment.id,
|
|
45
|
+
notifierId: environment.default_notifier.id,
|
|
46
|
+
projectId: project.id,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
async function projectBySlug(client, slug) {
|
|
50
|
+
const projects = await client.listProjects();
|
|
51
|
+
const match = projects.items.find((candidate) => candidate.slug === slug);
|
|
52
|
+
if (!match) {
|
|
53
|
+
const known = projects.items.map((candidate) => candidate.slug);
|
|
54
|
+
throw new UsageError(known.length === 0
|
|
55
|
+
? `No project called "${slug}", and this account has none yet. Create one with: wb project create "${slug}"`
|
|
56
|
+
: `No project called "${slug}". This account has ${known.join(", ")}.`);
|
|
57
|
+
}
|
|
58
|
+
return match;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=selectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/cli/selectors.ts"],"names":[],"mappings":"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"}
|