@fnndsc/chell 5.9.1 → 5.9.2
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/remote/door.d.ts +24 -1
- package/dist/remote/door.js +91 -10
- package/dist/remote/door.js.map +1 -1
- package/package.json +3 -3
package/dist/remote/door.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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.
|
package/dist/remote/door.js
CHANGED
|
@@ -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
|
-
*
|
|
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
|
|
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
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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
|
-
|
|
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;
|
package/dist/remote/door.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"door.js","sourceRoot":"","sources":["../../src/remote/door.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B
|
|
1
|
+
{"version":3,"file":"door.js","sourceRoot":"","sources":["../../src/remote/door.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,KAAK,GAAW,IAAI,CAAC,IAAI,EAAE,CAAC;IAClC,MAAM,UAAU,GAAW,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC;IAC9F,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,kCAAkC,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC;AACzE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAyB;IAC9D,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,KAAK,GAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAE,KAAqC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,MAAM,IAAI,GAAY,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACnH,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACzE,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,GAAW;IACtD,MAAM,IAAI,GAAQ,IAAI,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,QAAgB,EAAE,QAAgB,EAAE,YAAuB,KAAK;IAC7G,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;QAC/D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE;QAC3E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;KAC7C,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,MAAM,GAAW,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAQ,IAA4B,CAAC,KAAK,KAAK,QAAQ;gBAAE,MAAM,GAAI,IAA0B,CAAC,KAAK,CAAC;QACvJ,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC7B,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuC,CAAC;IAC3E,MAAM,UAAU,GAAa,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAuB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC9K,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACzH,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,KAAgB,EAChB,MAA8B,EAC9B,YAAuB,KAAK;IAE5B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACjJ,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,qCAAqC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;IAC9G,MAAM,IAAI,GAAW,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3C,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,MAA8B;IAC1E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,IAAI,KAAK,GAAW,SAAS,CAAC;QAC9B,IAAI,IAAI,GAAW,EAAE,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC/C,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChC,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAQ,MAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjI,MAAM,CAAE,MAA2B,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAY,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAE,MAA+B,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YACvH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC;QACxG,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;AAChF,CAAC;AAKD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,MAAe;IAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAA+B,EAAQ,EAAE;QAC3D,MAAM,MAAM,GAAoB,MAAM,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC;YACzD,KAAK,CAAC,KAAsB,EAAE,QAAwB,EAAE,QAAoB;gBAC1E,IAAI,CAAE,IAAwB,CAAC,KAAK;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC5E,QAAQ,EAAE,CAAC;YACb,CAAC;SACF,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACtB,MAAM,EAAE,GAAuB,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1G,oEAAoE;QACpE,uEAAuE;QACvE,oEAAoE;QACpE,sDAAsD;QACtD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAY,EAAQ,EAAE;YACtD,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AASD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,QAA4B,EAAE,QAA4B,EAAE,YAAuB,KAAK;IACrI,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAW,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,eAAe,OAAO,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7H,0EAA0E;IAC1E,qCAAqC;IACrC,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+FAA+F,CAAC,CAAC,CAAC;QAC1H,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAW,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,gBAAgB,IAAI,OAAO,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1I,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,SAAS,GAAG,CAAC,KAAc,EAAQ,EAAE;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,OAAO,0BAA0B,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5G,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,IAAI,OAAwC,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,OAAO,4BAA4B,CAAC,CAAC,CAAC;QAC7F,IAAI,KAA+D,CAAC;QACpE,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,IAAY,EAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC7G,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,GAAG,IAAI,wBAAwB,OAAO,EAAE;QAClD,GAAG,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;QACzC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;KACpC,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fnndsc/chell",
|
|
3
|
-
"version": "5.9.
|
|
3
|
+
"version": "5.9.2",
|
|
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.
|
|
42
|
-
"@fnndsc/calypso": "^0.16.
|
|
41
|
+
"@fnndsc/brasa": "^0.26.0",
|
|
42
|
+
"@fnndsc/calypso": "^0.16.3",
|
|
43
43
|
"@fnndsc/chili": "^3.6.7",
|
|
44
44
|
"@fnndsc/cumin": "^3.23.1",
|
|
45
45
|
"@fnndsc/salsa": "^3.18.2",
|