linkshell-cli 0.8.1 → 0.9.0
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/src/commands/host.d.ts +2 -0
- package/dist/cli/src/commands/host.js.map +1 -1
- package/dist/cli/src/commands/screen.d.ts +10 -0
- package/dist/cli/src/commands/screen.js +82 -74
- package/dist/cli/src/commands/screen.js.map +1 -1
- package/dist/cli/src/commands/setup.d.ts +11 -1
- package/dist/cli/src/commands/setup.js +100 -38
- package/dist/cli/src/commands/setup.js.map +1 -1
- package/dist/cli/src/index.js +17 -5
- package/dist/cli/src/index.js.map +1 -1
- package/dist/cli/tsconfig.tsbuildinfo +1 -1
- package/dist/host/src/input.d.ts +114 -29
- package/dist/host/src/input.js +214 -144
- package/dist/host/src/input.js.map +1 -1
- package/dist/host/src/rpc/server.js +1 -1
- package/dist/host/src/rpc/server.js.map +1 -1
- package/dist/host/src/screen-pacer.d.ts +76 -0
- package/dist/host/src/screen-pacer.js +165 -0
- package/dist/host/src/screen-pacer.js.map +1 -0
- package/dist/host/src/screen-viewer.d.ts +5 -0
- package/dist/host/src/screen-viewer.js +1263 -57
- package/dist/host/src/screen-viewer.js.map +1 -1
- package/dist/host/src/screen.d.ts +29 -32
- package/dist/host/src/screen.js +418 -138
- package/dist/host/src/screen.js.map +1 -1
- package/dist/host/src/terminals.d.ts +2 -2
- package/dist/host/src/terminals.js +1 -0
- package/dist/host/src/terminals.js.map +1 -1
- package/package.json +3 -3
- package/src/commands/host.ts +2 -0
- package/src/commands/screen.ts +78 -72
- package/src/commands/setup.ts +100 -60
- package/src/index.ts +16 -5
|
@@ -3,6 +3,8 @@ export declare function silenceSqliteWarning(): void;
|
|
|
3
3
|
interface HostConfig {
|
|
4
4
|
/** v2 gateway base URL (ws:// or wss://), or "off". Unset: the official gateway once logged in. */
|
|
5
5
|
gateway?: string;
|
|
6
|
+
/** Set once `linkshell setup` has run here (by itself on the first start, or by hand). */
|
|
7
|
+
setup?: "done";
|
|
6
8
|
}
|
|
7
9
|
/** LinkShell's own gateway: a Pro account's computers are reachable there. */
|
|
8
10
|
export declare const OFFICIAL_GATEWAY = "wss://gateway.itool.tech";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../src/commands/host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../src/commands/host.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export interface ScreenAccess {
|
|
2
2
|
supported: boolean;
|
|
3
|
+
/** Whether what captures the screen is there: LinkShell.app on a Mac (installed with the CLI), ffmpeg on Linux. */
|
|
3
4
|
ffmpeg: boolean;
|
|
4
5
|
recording: boolean | null;
|
|
5
6
|
control: boolean | null;
|
|
@@ -11,6 +12,15 @@ export declare function screenAccess(ask?: boolean): Promise<ScreenAccess | "old
|
|
|
11
12
|
export declare function screenReady(access: ScreenAccess): boolean;
|
|
12
13
|
/** One line for `status`, `doctor` and the host's start: what works, and the command for the rest. */
|
|
13
14
|
export declare function describeScreen(access: ScreenAccess | "old" | undefined): string | undefined;
|
|
15
|
+
type Print = (line?: string) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Gets this computer's screen ready for the phone, as far as it can be, saying
|
|
18
|
+
* what it finds. On a Mac the two permissions are LinkShell.app's: its own
|
|
19
|
+
* window comes up on this computer, takes the user to each switch and ticks
|
|
20
|
+
* them off, and this waits beside it. True when everything is in place.
|
|
21
|
+
*/
|
|
22
|
+
export declare function setUpScreen(out: Print, interactive: boolean): Promise<boolean>;
|
|
14
23
|
export declare function runScreenSetup(options: {
|
|
15
24
|
check?: boolean;
|
|
16
25
|
}): Promise<void>;
|
|
26
|
+
export {};
|
|
@@ -27,9 +27,9 @@ export function describeScreen(access) {
|
|
|
27
27
|
if (access === "old")
|
|
28
28
|
return "restart the host to check (linkshell host stop && linkshell host --daemon)";
|
|
29
29
|
if (!access.supported)
|
|
30
|
-
return "not available on this system";
|
|
30
|
+
return process.platform === "darwin" ? "needs a Mac with Apple silicon" : "not available on this system";
|
|
31
31
|
if (!access.ffmpeg)
|
|
32
|
-
return
|
|
32
|
+
return process.platform === "darwin" ? MISSING_APP : "needs ffmpeg (install it with your package manager)";
|
|
33
33
|
if (process.platform !== "darwin")
|
|
34
34
|
return "can be watched (controlling it needs macOS)";
|
|
35
35
|
if (access.recording === null || access.control === null)
|
|
@@ -39,96 +39,104 @@ export function describeScreen(access) {
|
|
|
39
39
|
const missing = [!access.recording && "watching", !access.control && "controlling"].filter(Boolean).join(" and ");
|
|
40
40
|
return `${missing} isn't allowed yet — set it up with: linkshell screen`;
|
|
41
41
|
}
|
|
42
|
+
/** A Mac without LinkShell.app: the optional package that carries it wasn't installed (npm run with --omit=optional, or a failed download). */
|
|
43
|
+
const MISSING_APP = "LinkShell.app is missing — reinstall with: npm install -g linkshell-cli";
|
|
42
44
|
const PERMISSIONS = {
|
|
43
|
-
recording:
|
|
44
|
-
|
|
45
|
-
where: "Screen & System Audio Recording (录屏与系统录音)",
|
|
46
|
-
},
|
|
47
|
-
control: {
|
|
48
|
-
label: "Controlling it",
|
|
49
|
-
where: "Accessibility (辅助功能)",
|
|
50
|
-
},
|
|
45
|
+
recording: "Watching the screen",
|
|
46
|
+
control: "Controlling it",
|
|
51
47
|
};
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
if (!options.check)
|
|
62
|
-
await ensureHostRunning();
|
|
48
|
+
const row = (out, ok, label, detail) => out(` ${ok ? green("✓") : red("✗")} ${label.padEnd(22)} ${detail}`);
|
|
49
|
+
/**
|
|
50
|
+
* Gets this computer's screen ready for the phone, as far as it can be, saying
|
|
51
|
+
* what it finds. On a Mac the two permissions are LinkShell.app's: its own
|
|
52
|
+
* window comes up on this computer, takes the user to each switch and ticks
|
|
53
|
+
* them off, and this waits beside it. True when everything is in place.
|
|
54
|
+
*/
|
|
55
|
+
export async function setUpScreen(out, interactive) {
|
|
63
56
|
let access = await screenAccess();
|
|
64
57
|
if (!access) {
|
|
65
|
-
row(false, "Host", "not running — start it with: linkshell host --daemon");
|
|
66
|
-
|
|
67
|
-
return;
|
|
58
|
+
row(out, false, "Host", "not running — start it with: linkshell host --daemon");
|
|
59
|
+
return false;
|
|
68
60
|
}
|
|
69
61
|
if (access === "old") {
|
|
70
|
-
row(false, "Host", "is older than this CLI — restart it (stops running agent turns):");
|
|
71
|
-
out(" linkshell host stop && linkshell host --daemon
|
|
72
|
-
|
|
73
|
-
return;
|
|
62
|
+
row(out, false, "Host", "is older than this CLI — restart it (stops running agent turns):");
|
|
63
|
+
out(" linkshell host stop && linkshell host --daemon");
|
|
64
|
+
return false;
|
|
74
65
|
}
|
|
75
66
|
if (!access.supported) {
|
|
76
|
-
row(false, "Screen", "not available on this system");
|
|
77
|
-
|
|
78
|
-
return;
|
|
67
|
+
row(out, false, "Screen", process.platform === "darwin" ? "needs a Mac with Apple silicon" : "not available on this system");
|
|
68
|
+
return false;
|
|
79
69
|
}
|
|
80
|
-
row(access.ffmpeg, "ffmpeg", access.ffmpeg ? "found" : `not installed — ${process.platform === "darwin" ? "brew install ffmpeg" : "install it with your package manager"}, then run this again`);
|
|
81
70
|
if (process.platform !== "darwin") {
|
|
82
|
-
out
|
|
83
|
-
if (
|
|
84
|
-
|
|
85
|
-
return;
|
|
71
|
+
row(out, access.ffmpeg, "ffmpeg", access.ffmpeg ? "found" : "not installed — install it with your package manager, then run this again");
|
|
72
|
+
if (access.ffmpeg)
|
|
73
|
+
out(dim(" The screen can be watched from the phone; controlling it needs macOS."));
|
|
74
|
+
return access.ffmpeg;
|
|
75
|
+
}
|
|
76
|
+
if (!access.ffmpeg) {
|
|
77
|
+
row(out, false, "LinkShell.app", "missing from this installation — reinstall with: npm install -g linkshell-cli");
|
|
78
|
+
return false;
|
|
86
79
|
}
|
|
87
80
|
if (access.recording === null || access.control === null) {
|
|
88
|
-
row(false, "Permissions", access.problem ?? "could not be checked");
|
|
89
|
-
|
|
90
|
-
return;
|
|
81
|
+
row(out, false, "Permissions", access.problem ?? "could not be checked");
|
|
82
|
+
return false;
|
|
91
83
|
}
|
|
92
|
-
const
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
if (!interactive) {
|
|
101
|
-
row(false, permission.label, "not allowed yet");
|
|
102
|
-
continue;
|
|
103
|
-
}
|
|
104
|
-
// The system's own question comes up on this computer, and its settings open at the switch.
|
|
105
|
-
await screenAccess(true);
|
|
106
|
-
out(` ${red("✗")} ${permission.label.padEnd(22)} not allowed yet`);
|
|
107
|
-
out(` System Settings has opened at Privacy & Security › ${permission.where}.`);
|
|
108
|
-
out(` Turn on the switch for "${app}" there.${kind === "recording" ? " If macOS offers to quit and reopen it, later is fine." : ""}`);
|
|
109
|
-
out(dim(" Waiting for the switch… (Ctrl+C to stop; run this again any time)"));
|
|
110
|
-
const deadline = Date.now() + 10 * 60_000;
|
|
111
|
-
let allowed = false;
|
|
112
|
-
while (!allowed && Date.now() < deadline) {
|
|
113
|
-
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
114
|
-
const now = await screenAccess().catch(() => undefined);
|
|
115
|
-
if (now && now !== "old") {
|
|
116
|
-
access = now;
|
|
117
|
-
allowed = now[kind] === true;
|
|
84
|
+
const kinds = ["recording", "control"];
|
|
85
|
+
const said = new Set();
|
|
86
|
+
const tell = (now) => {
|
|
87
|
+
for (const kind of kinds) {
|
|
88
|
+
if (now[kind] && !said.has(kind)) {
|
|
89
|
+
said.add(kind);
|
|
90
|
+
row(out, true, PERMISSIONS[kind], "allowed");
|
|
118
91
|
}
|
|
119
92
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
93
|
+
};
|
|
94
|
+
tell(access);
|
|
95
|
+
if (screenReady(access))
|
|
96
|
+
return true;
|
|
97
|
+
if (!interactive) {
|
|
98
|
+
for (const kind of kinds)
|
|
99
|
+
if (!access[kind])
|
|
100
|
+
row(out, false, PERMISSIONS[kind], "not allowed yet");
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
// The app's own window: it has the system ask, opens the settings at each switch, and shows what is done.
|
|
104
|
+
await screenAccess(true);
|
|
105
|
+
const missing = kinds.filter((kind) => !access[kind]).length;
|
|
106
|
+
out(` A LinkShell window has opened on this Mac: turn on the ${missing === 2 ? "two switches" : "switch"} it shows.`);
|
|
107
|
+
out(dim(" Waiting… (Ctrl+C to stop; `linkshell screen` picks up where this left off)"));
|
|
108
|
+
const deadline = Date.now() + 10 * 60_000;
|
|
109
|
+
while (Date.now() < deadline) {
|
|
110
|
+
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
111
|
+
const now = await screenAccess().catch(() => undefined);
|
|
112
|
+
if (!now || now === "old")
|
|
113
|
+
continue;
|
|
114
|
+
access = now;
|
|
115
|
+
tell(now);
|
|
116
|
+
if (screenReady(now))
|
|
117
|
+
return true;
|
|
126
118
|
}
|
|
127
|
-
|
|
128
|
-
|
|
119
|
+
for (const kind of kinds)
|
|
120
|
+
if (!access[kind])
|
|
121
|
+
row(out, false, PERMISSIONS[kind], "still not allowed");
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
export async function runScreenSetup(options) {
|
|
125
|
+
const out = (line = "") => process.stdout.write(`${line}\n`);
|
|
126
|
+
out("\n LinkShell screen\n");
|
|
127
|
+
if (!hostRuntimeOk()) {
|
|
128
|
+
row(out, false, "Host", `needs Node.js 22.13 or newer (this is ${process.version})`);
|
|
129
|
+
process.exitCode = 1;
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (!options.check)
|
|
133
|
+
await ensureHostRunning();
|
|
134
|
+
const interactive = !options.check && process.stdin.isTTY === true;
|
|
135
|
+
if (await setUpScreen(out, interactive)) {
|
|
136
|
+
out(process.platform === "darwin" ? `\n ${green("Ready.")} In the app: 电脑 › 屏幕. To take the pointer and keyboard, pick 触控板 or 点按 in the viewer's toolbar.\n` : "");
|
|
129
137
|
}
|
|
130
138
|
else {
|
|
131
|
-
out(`\n Not ready yet${
|
|
139
|
+
out(`\n Not ready yet${interactive ? "" : "; run `linkshell screen` in a terminal to set it up"}.\n`);
|
|
132
140
|
process.exitCode = 1;
|
|
133
141
|
}
|
|
134
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../../src/commands/screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../../src/commands/screen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
/** Whether this installation has been through setup (or said no to it). */
|
|
2
|
+
export declare function setupDone(): Promise<boolean>;
|
|
3
|
+
/** The whole of it. `from`: who is running it — said aloud only when it wasn't asked for. */
|
|
4
|
+
export declare function runSetup(version: string, from?: "command" | "first-start"): Promise<void>;
|
|
5
|
+
/**
|
|
6
|
+
* The first start on a computer: the host has just been started by someone at
|
|
7
|
+
* a terminal, and nothing has ever been set up here. Rather than leave the
|
|
8
|
+
* rest for the day it is needed (by then nobody is at the computer), it is
|
|
9
|
+
* done now. Once: a second start says nothing.
|
|
10
|
+
*/
|
|
11
|
+
export declare function offerSetup(version: string): Promise<boolean>;
|
|
@@ -1,44 +1,106 @@
|
|
|
1
1
|
import * as readline from "node:readline";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
import { isLoggedIn, loadAuth } from "../auth.js";
|
|
3
|
+
import { assertHostRuntime, ensureHostRunning, joinGatewayAfterLogin, readHostConfig, withRunningHost, writeHostConfig } from "./host.js";
|
|
4
|
+
import { setUpScreen } from "./screen.js";
|
|
5
|
+
// `linkshell setup`: everything a new installation needs, once, in order —
|
|
6
|
+
// the host running, the screen's permissions, a phone that can reach this
|
|
7
|
+
// computer. Someone who installs and never comes back to the terminal should
|
|
8
|
+
// leave with all of it done: the first `linkshell host --daemon` runs this by
|
|
9
|
+
// itself (see `offerSetup`).
|
|
10
|
+
const green = (text) => `\x1b[32m${text}\x1b[0m`;
|
|
11
|
+
const dim = (text) => `\x1b[2m${text}\x1b[0m`;
|
|
12
|
+
const bold = (text) => `\x1b[1m${text}\x1b[0m`;
|
|
13
|
+
function ask(question) {
|
|
14
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
15
|
+
return new Promise((resolve) => rl.question(question, (answer) => {
|
|
16
|
+
rl.close();
|
|
17
|
+
resolve(answer.trim().toLowerCase());
|
|
18
|
+
}));
|
|
11
19
|
}
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
async function home() {
|
|
21
|
+
const { defaultHome } = await import("@linkshell/host");
|
|
22
|
+
return defaultHome();
|
|
23
|
+
}
|
|
24
|
+
/** Whether this installation has been through setup (or said no to it). */
|
|
25
|
+
export async function setupDone() {
|
|
26
|
+
return readHostConfig(await home()).setup !== undefined;
|
|
27
|
+
}
|
|
28
|
+
async function remember(outcome) {
|
|
29
|
+
const at = await home();
|
|
30
|
+
writeHostConfig(at, { ...readHostConfig(at), setup: outcome });
|
|
31
|
+
}
|
|
32
|
+
/** The phone's way to this computer: an account both are signed in to, or a pairing through a gateway. */
|
|
33
|
+
async function setUpPhone(out, interactive) {
|
|
34
|
+
const gateway = await withRunningHost((client) => client.call("gateway.status", {}));
|
|
35
|
+
if (isLoggedIn()) {
|
|
36
|
+
const email = loadAuth()?.email;
|
|
37
|
+
if (gateway?.status === "online") {
|
|
38
|
+
out(` ${green("✓")} Signed in${email ? ` as ${email}` : ""}: this computer is online.`);
|
|
39
|
+
out(dim(" Open LinkShell on your phone and sign in with the same account — it shows up there, no pairing needed."));
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
// Signed in, not online yet (a host started before the login, or no subscription): say which.
|
|
43
|
+
await joinGatewayAfterLogin("pro");
|
|
44
|
+
return (await withRunningHost((client) => client.call("gateway.status", {})))?.status === "online";
|
|
45
|
+
}
|
|
46
|
+
if (gateway && gateway.status !== "off" && gateway.devices.length > 0) {
|
|
47
|
+
out(` ${green("✓")} Paired with ${gateway.devices.map((device) => device.name).join(", ")}.`);
|
|
48
|
+
return true;
|
|
15
49
|
}
|
|
16
|
-
|
|
50
|
+
if (gateway && gateway.status !== "off") {
|
|
51
|
+
out(" This computer uses your own gateway. Pair your phone with: linkshell pair");
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
if (!interactive) {
|
|
55
|
+
out(" Not connected to a phone yet: linkshell login (LinkShell account), or your own gateway and linkshell pair.");
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
out(" Your phone reaches this computer through your LinkShell account (Pro), from anywhere.");
|
|
59
|
+
const answer = await ask(" Sign in now? It opens your browser. [Y/n] ");
|
|
60
|
+
if (answer === "n" || answer === "no") {
|
|
61
|
+
out(dim(" Later: linkshell login — or with your own gateway: linkshell host --gateway <url>, then linkshell pair"));
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
const { runLogin } = await import("./login.js");
|
|
65
|
+
const result = await runLogin();
|
|
66
|
+
if (!result)
|
|
67
|
+
return false;
|
|
68
|
+
await joinGatewayAfterLogin(result.plan);
|
|
69
|
+
return (await withRunningHost((client) => client.call("gateway.status", {})))?.status === "online";
|
|
70
|
+
}
|
|
71
|
+
/** The whole of it. `from`: who is running it — said aloud only when it wasn't asked for. */
|
|
72
|
+
export async function runSetup(version, from = "command") {
|
|
73
|
+
const out = (line = "") => process.stdout.write(`${line}\n`);
|
|
74
|
+
const interactive = process.stdin.isTTY === true && process.stdout.isTTY === true;
|
|
75
|
+
assertHostRuntime();
|
|
76
|
+
out(`\n ${bold("LinkShell setup")}${from === "first-start" ? dim(" (first start on this computer; again any time with: linkshell setup)") : ""}\n`);
|
|
77
|
+
out(` ${bold("1")} The host`);
|
|
78
|
+
await ensureHostRunning();
|
|
79
|
+
out(` ${green("✓")} Running (${version}); it keeps running in the background.\n`);
|
|
80
|
+
out(` ${bold("2")} The screen ${dim("— watch and control this computer from the phone")}`);
|
|
81
|
+
const screen = await setUpScreen(out, interactive);
|
|
82
|
+
out();
|
|
83
|
+
out(` ${bold("3")} Your phone`);
|
|
84
|
+
const phone = await setUpPhone(out, interactive);
|
|
85
|
+
out();
|
|
86
|
+
// Run where nobody could answer, it has set nothing up: the first start at a terminal still offers it.
|
|
87
|
+
if (interactive)
|
|
88
|
+
await remember("done");
|
|
89
|
+
if (screen && phone)
|
|
90
|
+
out(` ${green("All set.")} Open LinkShell on your phone.\n`);
|
|
91
|
+
else
|
|
92
|
+
out(` Done for now. ${[!screen && "The screen: linkshell screen", !phone && "The phone: linkshell login, or linkshell pair"].filter(Boolean).join(" · ")}\n`);
|
|
17
93
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
process.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const hostnameName = await ask(rl, "Hostname (display name for your machine)", existing.hostname ?? hostname());
|
|
30
|
-
rl.close();
|
|
31
|
-
const config = {
|
|
32
|
-
gateway: gateway || undefined,
|
|
33
|
-
provider: "custom",
|
|
34
|
-
command: command || undefined,
|
|
35
|
-
clientName,
|
|
36
|
-
hostname: hostnameName || undefined,
|
|
37
|
-
};
|
|
38
|
-
saveConfig(config);
|
|
39
|
-
process.stdout.write(`\n \x1b[32mConfig saved to ${getConfigPath()}\x1b[0m\n\n`);
|
|
40
|
-
process.stdout.write(" Next steps:\n");
|
|
41
|
-
process.stdout.write(" linkshell doctor — verify your setup\n");
|
|
42
|
-
process.stdout.write(" linkshell start — start a bridge session\n\n");
|
|
94
|
+
/**
|
|
95
|
+
* The first start on a computer: the host has just been started by someone at
|
|
96
|
+
* a terminal, and nothing has ever been set up here. Rather than leave the
|
|
97
|
+
* rest for the day it is needed (by then nobody is at the computer), it is
|
|
98
|
+
* done now. Once: a second start says nothing.
|
|
99
|
+
*/
|
|
100
|
+
export async function offerSetup(version) {
|
|
101
|
+
if (process.stdin.isTTY !== true || process.stdout.isTTY !== true || (await setupDone()))
|
|
102
|
+
return false;
|
|
103
|
+
await runSetup(version, "first-start");
|
|
104
|
+
return true;
|
|
43
105
|
}
|
|
44
106
|
//# sourceMappingURL=setup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/src/index.js
CHANGED
|
@@ -45,7 +45,7 @@ const config = loadConfig();
|
|
|
45
45
|
const program = new Command();
|
|
46
46
|
program
|
|
47
47
|
.name("linkshell")
|
|
48
|
-
.description("Your coding agents and terminals, on your phone.
|
|
48
|
+
.description("Your coding agents and terminals, on your phone. Start with `linkshell setup`.")
|
|
49
49
|
.version(pkg.version);
|
|
50
50
|
// ── host (v2 session daemon) ────────────────────────────────────────
|
|
51
51
|
const hostCmd = program
|
|
@@ -85,7 +85,10 @@ const hostCmd = program
|
|
|
85
85
|
process.stderr.write(` Log: ${daemon.getLogFile("host")}\n`);
|
|
86
86
|
process.stderr.write(` Status: linkshell host status\n`);
|
|
87
87
|
process.stderr.write(` Stop: linkshell host stop\n`);
|
|
88
|
-
// The
|
|
88
|
+
// The first start here: the rest of the setup happens now, while someone is at the computer.
|
|
89
|
+
const { offerSetup } = await import("./commands/setup.js");
|
|
90
|
+
if (await offerSetup(pkg.version))
|
|
91
|
+
process.exit(process.exitCode ?? 0);
|
|
89
92
|
const { screenAccess, describeScreen, screenReady } = await import("./commands/screen.js");
|
|
90
93
|
const screen = await screenAccess().catch(() => undefined);
|
|
91
94
|
if (screen && (screen === "old" || !screenReady(screen)))
|
|
@@ -467,7 +470,7 @@ gatewayCmd
|
|
|
467
470
|
// ── screen ──────────────────────────────────────────────────────────
|
|
468
471
|
program
|
|
469
472
|
.command("screen")
|
|
470
|
-
.description("Set this computer up for watching and controlling its screen from the phone (permissions, ffmpeg)")
|
|
473
|
+
.description("Set this computer up for watching and controlling its screen from the phone (the two macOS permissions; on Linux, ffmpeg)")
|
|
471
474
|
.option("--check", "Only say what is and isn't ready")
|
|
472
475
|
.action(async (options) => {
|
|
473
476
|
const { runScreenSetup } = await import("./commands/screen.js");
|
|
@@ -524,9 +527,10 @@ program
|
|
|
524
527
|
});
|
|
525
528
|
program
|
|
526
529
|
.command("setup")
|
|
527
|
-
.description("
|
|
530
|
+
.description("Set this computer up, once: the host, the screen's permissions, and your phone")
|
|
528
531
|
.action(async () => {
|
|
529
|
-
await runSetup();
|
|
532
|
+
await runSetup(pkg.version);
|
|
533
|
+
process.exit(process.exitCode ?? 0);
|
|
530
534
|
});
|
|
531
535
|
program
|
|
532
536
|
.command("upgrade")
|
|
@@ -617,6 +621,14 @@ program
|
|
|
617
621
|
}
|
|
618
622
|
process.stderr.write(" Connect: linkshell start --gateway <url>\n\n");
|
|
619
623
|
});
|
|
624
|
+
// `linkshell` by itself, on a computer where nothing has been set up yet: the setup, rather than a page of help.
|
|
625
|
+
program.action(async () => {
|
|
626
|
+
const { setupDone } = await import("./commands/setup.js");
|
|
627
|
+
if (process.stdin.isTTY !== true || process.stdout.isTTY !== true || (await setupDone()))
|
|
628
|
+
return program.help();
|
|
629
|
+
await runSetup(pkg.version);
|
|
630
|
+
process.exit(process.exitCode ?? 0);
|
|
631
|
+
});
|
|
620
632
|
program.parseAsync(process.argv).catch((error) => {
|
|
621
633
|
const message = error instanceof Error ? error.message : String(error);
|
|
622
634
|
process.stderr.write(`${message}\n`);
|