@craftspace/cli 0.4.2 → 0.4.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.
- package/dist/index.js +23 -2
- package/dist/machine.d.ts +1 -0
- package/dist/machine.js +22 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -19783,7 +19783,7 @@ var SaveWorkstationBodySchema = external_exports.object({
|
|
|
19783
19783
|
var WorkstationResponseSchema = external_exports.object({ workstation: WorkstationSchema });
|
|
19784
19784
|
|
|
19785
19785
|
// ../../shared/dist/machines/machine.js
|
|
19786
|
-
var CLI_VERSION = "0.4.
|
|
19786
|
+
var CLI_VERSION = "0.4.3";
|
|
19787
19787
|
var CLI_PACKAGE = "@craftspace/cli";
|
|
19788
19788
|
var CLI_INSTALL = `npm i -g ${CLI_PACKAGE}`;
|
|
19789
19789
|
var MACHINE_BEAT_INTERVAL_MS = 15e3;
|
|
@@ -23268,7 +23268,10 @@ ${ui.dim("\u2192")} ${ui.name(target.name)} ${ui.dim(`\xB7 ${where}`)}
|
|
|
23268
23268
|
|
|
23269
23269
|
`);
|
|
23270
23270
|
return new Promise((resolve) => {
|
|
23271
|
-
const session = spawn2("ssh", ["-t", where], {
|
|
23271
|
+
const session = spawn2("ssh", ["-t", where], {
|
|
23272
|
+
stdio: "inherit",
|
|
23273
|
+
env: { ...process.env, TERM: portableTerm(process.env.TERM) }
|
|
23274
|
+
});
|
|
23272
23275
|
session.on("error", (error51) => {
|
|
23273
23276
|
ui.say(ui.bad(`could not start ssh`, error51.message));
|
|
23274
23277
|
resolve(1);
|
|
@@ -23276,6 +23279,9 @@ ${ui.dim("\u2192")} ${ui.name(target.name)} ${ui.dim(`\xB7 ${where}`)}
|
|
|
23276
23279
|
session.on("exit", (code) => resolve(code ?? 0));
|
|
23277
23280
|
});
|
|
23278
23281
|
}
|
|
23282
|
+
function portableTerm(local) {
|
|
23283
|
+
return local !== void 0 && PORTABLE_TERMS.has(local) ? local : "xterm-256color";
|
|
23284
|
+
}
|
|
23279
23285
|
function nowhereToGo({ url: url2 }) {
|
|
23280
23286
|
ui.say(`
|
|
23281
23287
|
${ui.attention("No workstations here yet.")}
|
|
@@ -23605,6 +23611,21 @@ var KEYS_BEGIN = "# craftspace begin";
|
|
|
23605
23611
|
var KEYS_END = "# craftspace end";
|
|
23606
23612
|
var UPDATE_EVERY_MS = 6 * 60 * 60 * 1e3;
|
|
23607
23613
|
var BEATING = "beating every 15s, outbound only, and keeps this set up";
|
|
23614
|
+
var PORTABLE_TERMS = /* @__PURE__ */ new Set([
|
|
23615
|
+
"ansi",
|
|
23616
|
+
"dumb",
|
|
23617
|
+
"linux",
|
|
23618
|
+
"rxvt",
|
|
23619
|
+
"rxvt-unicode",
|
|
23620
|
+
"rxvt-unicode-256color",
|
|
23621
|
+
"screen",
|
|
23622
|
+
"screen-256color",
|
|
23623
|
+
"vt100",
|
|
23624
|
+
"vt220",
|
|
23625
|
+
"xterm",
|
|
23626
|
+
"xterm-color",
|
|
23627
|
+
"xterm-256color"
|
|
23628
|
+
]);
|
|
23608
23629
|
var LINGER_LINE = `sudo loginctl enable-linger ${os5.userInfo().username}`;
|
|
23609
23630
|
var DEFAULT_URL = process.env.CRAFTSPACE_URL ?? "https://craftspace.app";
|
|
23610
23631
|
var PROBE_EVERY_MS = 3e5;
|
package/dist/machine.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export declare const machine: {
|
|
|
25
25
|
}>;
|
|
26
26
|
logout(): Promise<void>;
|
|
27
27
|
};
|
|
28
|
+
export declare function portableTerm(local: string | undefined): string;
|
|
28
29
|
export declare function tokenIn(line: string): string | undefined;
|
|
29
30
|
export declare function nextDelayMs(failures: number, busy?: boolean): number;
|
|
30
31
|
interface Auth {
|
package/dist/machine.js
CHANGED
|
@@ -197,7 +197,10 @@ async function openTerminal(target) {
|
|
|
197
197
|
const where = `${target.sshUser ?? 'root'}@${target.sshAddress}`;
|
|
198
198
|
ui.say(`\n${ui.dim('\u2192')} ${ui.name(target.name)} ${ui.dim(`\u00b7 ${where}`)}\n\n`);
|
|
199
199
|
return new Promise((resolve) => {
|
|
200
|
-
const session = spawn('ssh', ['-t', where], {
|
|
200
|
+
const session = spawn('ssh', ['-t', where], {
|
|
201
|
+
stdio: 'inherit',
|
|
202
|
+
env: { ...process.env, TERM: portableTerm(process.env.TERM) },
|
|
203
|
+
});
|
|
201
204
|
session.on('error', (error) => {
|
|
202
205
|
ui.say(ui.bad(`could not start ssh`, error.message));
|
|
203
206
|
resolve(1);
|
|
@@ -205,6 +208,9 @@ async function openTerminal(target) {
|
|
|
205
208
|
session.on('exit', (code) => resolve(code ?? 0));
|
|
206
209
|
});
|
|
207
210
|
}
|
|
211
|
+
export function portableTerm(local) {
|
|
212
|
+
return local !== undefined && PORTABLE_TERMS.has(local) ? local : 'xterm-256color';
|
|
213
|
+
}
|
|
208
214
|
function nowhereToGo({ url }) {
|
|
209
215
|
ui.say(`\n${ui.attention('No workstations here yet.')}\n\n`);
|
|
210
216
|
ui.say(ui.field('Add one', ui.link(`${url}/workstations`)));
|
|
@@ -525,6 +531,21 @@ const KEYS_BEGIN = '# craftspace begin';
|
|
|
525
531
|
const KEYS_END = '# craftspace end';
|
|
526
532
|
const UPDATE_EVERY_MS = 6 * 60 * 60 * 1_000;
|
|
527
533
|
const BEATING = 'beating every 15s, outbound only, and keeps this set up';
|
|
534
|
+
const PORTABLE_TERMS = new Set([
|
|
535
|
+
'ansi',
|
|
536
|
+
'dumb',
|
|
537
|
+
'linux',
|
|
538
|
+
'rxvt',
|
|
539
|
+
'rxvt-unicode',
|
|
540
|
+
'rxvt-unicode-256color',
|
|
541
|
+
'screen',
|
|
542
|
+
'screen-256color',
|
|
543
|
+
'vt100',
|
|
544
|
+
'vt220',
|
|
545
|
+
'xterm',
|
|
546
|
+
'xterm-color',
|
|
547
|
+
'xterm-256color',
|
|
548
|
+
]);
|
|
528
549
|
const LINGER_LINE = `sudo loginctl enable-linger ${os.userInfo().username}`;
|
|
529
550
|
const DEFAULT_URL = process.env.CRAFTSPACE_URL ?? 'https://craftspace.app';
|
|
530
551
|
const PROBE_EVERY_MS = 300_000;
|