@fnndsc/chell 5.9.1 → 5.9.3

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.
@@ -12,10 +12,33 @@ export type DoorFetch = (url: string, init?: RequestInit) => Promise<Response>;
12
12
  /**
13
13
  * The door's origin with one trailing slash, however it was typed.
14
14
  *
15
- * @param door - The door's URL as given: `https://titan/`, `http://titan:4180`.
15
+ * A door typed without a scheme — `localhost:4180`, `titan` — is reached
16
+ * over plain HTTP, the way porter listens on loopback; a URL parser would
17
+ * otherwise read `localhost:4180` as the scheme `localhost:` and the fetch
18
+ * would die on it. A door is HTTP or HTTPS and nothing else.
19
+ *
20
+ * @param door - The door's URL as given: `https://titan/`, `http://titan:4180`, `localhost:4180`.
16
21
  * @returns The URL ending in `/`.
22
+ * @throws Error naming the door when it is not an HTTP(S) address.
17
23
  */
18
24
  export declare function door_normalise(door: string): string;
25
+ /**
26
+ * Whether a credential still has to be asked for. An empty one has: the
27
+ * login config hands over an empty user when none was given, and asking
28
+ * the password of nobody reads as `Password for at …`.
29
+ *
30
+ * @param value - The credential as given, if at all.
31
+ * @returns True when it is missing or empty.
32
+ */
33
+ export declare function doorCredential_missing(value: string | undefined): value is undefined;
34
+ /**
35
+ * Why a request to the door did not get an answer, in one line: the
36
+ * network's own code (`ECONNREFUSED`, `ENOTFOUND`) when it gave one.
37
+ *
38
+ * @param error - What the fetch threw.
39
+ * @returns The reason.
40
+ */
41
+ export declare function doorUnreached_reason(error: unknown): string;
19
42
  /**
20
43
  * The session's wire, from the door and the key: the mount on the socket
21
44
  * scheme the door's scheme implies.
@@ -17,13 +17,57 @@ import chalk from 'chalk';
17
17
  /**
18
18
  * The door's origin with one trailing slash, however it was typed.
19
19
  *
20
- * @param door - The door's URL as given: `https://titan/`, `http://titan:4180`.
20
+ * A door typed without a scheme — `localhost:4180`, `titan` — is reached
21
+ * over plain HTTP, the way porter listens on loopback; a URL parser would
22
+ * otherwise read `localhost:4180` as the scheme `localhost:` and the fetch
23
+ * would die on it. A door is HTTP or HTTPS and nothing else.
24
+ *
25
+ * @param door - The door's URL as given: `https://titan/`, `http://titan:4180`, `localhost:4180`.
21
26
  * @returns The URL ending in `/`.
27
+ * @throws Error naming the door when it is not an HTTP(S) address.
22
28
  */
23
29
  export function door_normalise(door) {
24
- const parsed = new URL(door);
30
+ const typed = door.trim();
31
+ const withScheme = /^[a-z][a-z0-9+.-]*:\/\//i.test(typed) ? typed : `http://${typed}`;
32
+ let parsed;
33
+ try {
34
+ parsed = new URL(withScheme);
35
+ }
36
+ catch {
37
+ throw new Error(`not a door address: ${door}`);
38
+ }
39
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
40
+ throw new Error(`not a door address: ${door} (a door is http:// or https://)`);
41
+ }
25
42
  return parsed.pathname.endsWith('/') ? parsed.href : `${parsed.href}/`;
26
43
  }
44
+ /**
45
+ * Whether a credential still has to be asked for. An empty one has: the
46
+ * login config hands over an empty user when none was given, and asking
47
+ * the password of nobody reads as `Password for at …`.
48
+ *
49
+ * @param value - The credential as given, if at all.
50
+ * @returns True when it is missing or empty.
51
+ */
52
+ export function doorCredential_missing(value) {
53
+ return value === undefined || value.trim() === '';
54
+ }
55
+ /**
56
+ * Why a request to the door did not get an answer, in one line: the
57
+ * network's own code (`ECONNREFUSED`, `ENOTFOUND`) when it gave one.
58
+ *
59
+ * @param error - What the fetch threw.
60
+ * @returns The reason.
61
+ */
62
+ export function doorUnreached_reason(error) {
63
+ const cause = error instanceof Error ? error.cause : undefined;
64
+ const code = typeof cause === 'object' && cause !== null ? cause.code : undefined;
65
+ if (typeof code === 'string')
66
+ return code;
67
+ if (cause instanceof Error && cause.message !== '')
68
+ return cause.message;
69
+ return error instanceof Error ? error.message : String(error);
70
+ }
27
71
  /**
28
72
  * The session's wire, from the door and the key: the mount on the socket
29
73
  * scheme the door's scheme implies.
@@ -144,9 +188,15 @@ export function terminalLine_ask(label, hidden) {
144
188
  },
145
189
  }), { muted: false });
146
190
  const rl = readline.createInterface({ input: process.stdin, output, terminal: true });
147
- process.stdout.write(label);
148
- output.muted = hidden;
149
- rl.question('', (line) => {
191
+ // The label is readline's own prompt: written beside it, readline's
192
+ // repaint of an empty prompt (column one, clear to the end) erased it,
193
+ // and the username question showed as a blank line. A hidden answer
194
+ // writes the label first and then mutes what follows.
195
+ if (hidden) {
196
+ process.stdout.write(label);
197
+ output.muted = true;
198
+ }
199
+ rl.question(hidden ? '' : label, (line) => {
150
200
  rl.close();
151
201
  if (hidden)
152
202
  console.log('');
@@ -165,17 +215,48 @@ export function terminalLine_ask(label, hidden) {
165
215
  * @returns The reach, or null when the door refused (already said why).
166
216
  */
167
217
  export async function door_enter(door, username, password, fetchLike = fetch) {
168
- const doorUrl = door_normalise(door);
169
- const user = username ?? (await terminalLine_ask(`Username at ${doorUrl}: `, false));
170
- const secret = password ?? (await terminalLine_ask(`Password for ${user} at ${doorUrl}: `, true));
171
- const entered = await door_login(doorUrl, user, secret, fetchLike);
218
+ let doorUrl;
219
+ try {
220
+ doorUrl = door_normalise(door);
221
+ }
222
+ catch (error) {
223
+ console.error(chalk.red(`[!] ${error instanceof Error ? error.message : String(error)}`));
224
+ return null;
225
+ }
226
+ const user = doorCredential_missing(username) ? await terminalLine_ask(`Username at ${doorUrl}: `, false) : username;
227
+ // An empty answer is refused here, by name: the door would only refuse it
228
+ // after a password asked for nobody.
229
+ if (doorCredential_missing(user)) {
230
+ console.error(chalk.red('[!] A username is required to come through the door (give -u <user>, or answer the question).'));
231
+ return null;
232
+ }
233
+ const secret = doorCredential_missing(password) ? await terminalLine_ask(`Password for ${user} at ${doorUrl}: `, true) : password;
234
+ // A door that cannot be reached — porter down, a wrong port, a name that
235
+ // does not resolve — is one line naming the door, never a stack trace.
236
+ const unreached = (error) => {
237
+ console.error(chalk.red(`[!] The door at ${doorUrl} could not be reached: ${doorUnreached_reason(error)}`));
238
+ return null;
239
+ };
240
+ let entered;
241
+ try {
242
+ entered = await door_login(doorUrl, user, secret, fetchLike);
243
+ }
244
+ catch (error) {
245
+ return unreached(error);
246
+ }
172
247
  if ('refused' in entered) {
173
248
  console.error(chalk.red(`[!] The door refused: ${entered.refused}`));
174
249
  return null;
175
250
  }
176
251
  if (entered.state === 'starting') {
177
252
  console.log(chalk.gray(`[+] Starting your session at ${doorUrl} — the boot as it happens:`));
178
- const ended = await doorBoot_follow(doorUrl, entered, (text) => { console.log(text); }, fetchLike);
253
+ let ended;
254
+ try {
255
+ ended = await doorBoot_follow(doorUrl, entered, (text) => { console.log(text); }, fetchLike);
256
+ }
257
+ catch (error) {
258
+ return unreached(error);
259
+ }
179
260
  if (ended.state === 'failed') {
180
261
  console.error(chalk.red(`[!] The session did not start: ${ended.reason}`));
181
262
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"door.js","sourceRoot":"","sources":["../../src/remote/door.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"door.js","sourceRoot":"","sources":["../../src/remote/door.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fnndsc/chell",
3
- "version": "5.9.1",
3
+ "version": "5.9.3",
4
4
  "description": "ChELL Executes Layered Logic - Interactive ChRIS REPL Shell",
5
5
  "repository": {
6
6
  "type": "git",
@@ -38,8 +38,8 @@
38
38
  "author": "FNNDSC <dev@babyMRI.org>",
39
39
  "license": "MIT",
40
40
  "dependencies": {
41
- "@fnndsc/brasa": "^0.25.0",
42
- "@fnndsc/calypso": "^0.16.1",
41
+ "@fnndsc/brasa": "^0.27.0",
42
+ "@fnndsc/calypso": "^0.16.6",
43
43
  "@fnndsc/chili": "^3.6.7",
44
44
  "@fnndsc/cumin": "^3.23.1",
45
45
  "@fnndsc/salsa": "^3.18.2",