linkshell-cli 0.10.46 → 0.10.47
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/auth.d.ts +6 -2
- package/dist/cli/src/auth.js +9 -5
- package/dist/cli/src/auth.js.map +1 -1
- package/dist/cli/src/commands/desktop-workspace-state.d.ts +19 -0
- package/dist/cli/src/commands/desktop-workspace-state.js +92 -0
- package/dist/cli/src/commands/desktop-workspace-state.js.map +1 -0
- package/dist/cli/src/commands/desktop-workspace.d.ts +12 -0
- package/dist/cli/src/commands/desktop-workspace.js +415 -0
- package/dist/cli/src/commands/desktop-workspace.js.map +1 -0
- package/dist/cli/src/commands/login.d.ts +3 -1
- package/dist/cli/src/commands/login.js +35 -10
- package/dist/cli/src/commands/login.js.map +1 -1
- package/dist/cli/src/index.js +15 -0
- package/dist/cli/src/index.js.map +1 -1
- package/dist/cli/tsconfig.tsbuildinfo +1 -1
- package/dist/client-core/src/pro-membership.d.ts +1 -0
- package/dist/client-core/src/pro-membership.js +3 -1
- package/dist/client-core/src/pro-membership.js.map +1 -1
- package/dist/host/src/input.d.ts +29 -2
- package/dist/host/src/input.js +99 -4
- package/dist/host/src/input.js.map +1 -1
- package/dist/host/src/screen-session.d.ts +35 -0
- package/dist/host/src/screen-session.js +26 -0
- package/dist/host/src/screen-session.js.map +1 -0
- package/dist/host/src/screen-viewer.js +293 -30
- package/dist/host/src/screen-viewer.js.map +1 -1
- package/dist/host/src/screen.d.ts +3 -1
- package/dist/host/src/screen.js +454 -160
- package/dist/host/src/screen.js.map +1 -1
- package/package.json +6 -4
- package/src/auth.ts +7 -5
- package/src/commands/desktop-workspace-state.ts +87 -0
- package/src/commands/desktop-workspace.ts +353 -0
- package/src/commands/login.ts +27 -10
- package/src/index.ts +16 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../../host/src/screen.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../../host/src/screen.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "linkshell-cli",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.47",
|
|
4
4
|
"description": "Follow, steer and approve the coding agents on your computer (Claude Code, Codex, Gemini, Copilot and more) from your phone",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/cli/src/index.js",
|
|
@@ -33,11 +33,13 @@
|
|
|
33
33
|
"commander": "^13.1.0",
|
|
34
34
|
"node-pty": "^1.1.0",
|
|
35
35
|
"qrcode-terminal": "^0.12.0",
|
|
36
|
-
"
|
|
37
|
-
"@linkshell/
|
|
38
|
-
"@linkshell/wire": "0.2.16"
|
|
36
|
+
"ws": "^8.21.0",
|
|
37
|
+
"@linkshell/gateway": "0.6.24",
|
|
38
|
+
"@linkshell/wire": "0.2.16",
|
|
39
|
+
"@linkshell/host": "0.4.45"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
42
|
+
"@types/ws": "^8.5.14",
|
|
41
43
|
"tsx": "^4.19.3",
|
|
42
44
|
"vitest": "^3.2.1"
|
|
43
45
|
},
|
package/src/auth.ts
CHANGED
|
@@ -57,7 +57,8 @@ let inflightRefresh: Promise<AuthTokens | null> | null = null;
|
|
|
57
57
|
* Refresh the access token using the refresh token.
|
|
58
58
|
* Returns updated tokens or null if refresh failed.
|
|
59
59
|
*/
|
|
60
|
-
export async function refreshAccessToken(): Promise<AuthTokens | null> {
|
|
60
|
+
export async function refreshAccessToken(options: { signal?: AbortSignal } = {}): Promise<AuthTokens | null> {
|
|
61
|
+
if (options.signal?.aborted) return null;
|
|
61
62
|
if (inflightRefresh) return inflightRefresh;
|
|
62
63
|
inflightRefresh = (async () => {
|
|
63
64
|
const auth = loadAuth();
|
|
@@ -74,7 +75,7 @@ export async function refreshAccessToken(): Promise<AuthTokens | null> {
|
|
|
74
75
|
apikey: SUPABASE_ANON_KEY,
|
|
75
76
|
},
|
|
76
77
|
body: JSON.stringify({ refresh_token: auth.refreshToken }),
|
|
77
|
-
signal: AbortSignal.timeout(30_000),
|
|
78
|
+
signal: options.signal ? AbortSignal.any([options.signal, AbortSignal.timeout(30_000)]) : AbortSignal.timeout(30_000),
|
|
78
79
|
},
|
|
79
80
|
);
|
|
80
81
|
if (!res.ok) return null;
|
|
@@ -93,7 +94,7 @@ export async function refreshAccessToken(): Promise<AuthTokens | null> {
|
|
|
93
94
|
};
|
|
94
95
|
// A login or logout may finish while the refresh is in flight.
|
|
95
96
|
const current = loadAuth();
|
|
96
|
-
if (tokens.userId !== auth.userId || current?.userId !== auth.userId || current.refreshToken !== auth.refreshToken) return null;
|
|
97
|
+
if (options.signal?.aborted || tokens.userId !== auth.userId || current?.userId !== auth.userId || current.refreshToken !== auth.refreshToken) return null;
|
|
97
98
|
saveAuth(tokens);
|
|
98
99
|
return tokens;
|
|
99
100
|
} catch {
|
|
@@ -108,13 +109,14 @@ export async function refreshAccessToken(): Promise<AuthTokens | null> {
|
|
|
108
109
|
/**
|
|
109
110
|
* Get a valid access token, refreshing if needed.
|
|
110
111
|
*/
|
|
111
|
-
export async function getValidToken(): Promise<string | null> {
|
|
112
|
+
export async function getValidToken(options: { signal?: AbortSignal } = {}): Promise<string | null> {
|
|
113
|
+
if (options.signal?.aborted) return null;
|
|
112
114
|
const auth = loadAuth();
|
|
113
115
|
if (!auth) return null;
|
|
114
116
|
|
|
115
117
|
// If token expires in less than 120s, refresh
|
|
116
118
|
if (auth.expiresAt - Date.now() < 120_000) {
|
|
117
|
-
const refreshed = await refreshAccessToken();
|
|
119
|
+
const refreshed = await refreshAccessToken(options);
|
|
118
120
|
return refreshed?.accessToken ?? null;
|
|
119
121
|
}
|
|
120
122
|
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { chmod, mkdir, readFile, rename, rm, stat, writeFile } from "node:fs/promises";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { randomBytes } from "node:crypto";
|
|
4
|
+
import { createIdentity, idOf, sign, verifySignature, type Identity } from "@linkshell/wire";
|
|
5
|
+
|
|
6
|
+
const MAX_STATE_BYTES = 8 * 1024 * 1024;
|
|
7
|
+
const MAX_KEYS = 2048;
|
|
8
|
+
|
|
9
|
+
interface DesktopState {
|
|
10
|
+
schema: 1;
|
|
11
|
+
identity: Identity;
|
|
12
|
+
storage: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function validStorageKey(key: unknown): key is string {
|
|
16
|
+
return typeof key === "string" && key.length > 0 && key.length <= 1024 &&
|
|
17
|
+
[...key].every((character) => character.charCodeAt(0) >= 32 && character.charCodeAt(0) !== 127) &&
|
|
18
|
+
!["__proto__", "prototype", "constructor"].includes(key);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function validIdentity(value: unknown): value is Identity {
|
|
22
|
+
if (!value || typeof value !== "object") return false;
|
|
23
|
+
const identity = value as Identity;
|
|
24
|
+
if (![identity.id, identity.signKey, identity.boxKey, identity.signSecret, identity.boxSecret]
|
|
25
|
+
.every((part) => typeof part === "string" && /^[A-Za-z0-9_-]{16,128}$/.test(part))) return false;
|
|
26
|
+
try {
|
|
27
|
+
return idOf(identity.signKey) === identity.id &&
|
|
28
|
+
verifySignature(identity.signKey, "linkshell-desktop-identity", sign(identity, "linkshell-desktop-identity"));
|
|
29
|
+
} catch { return false; }
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** The browser origin changes on every launch; paired identity and drafts must not. */
|
|
33
|
+
export class DesktopClientState {
|
|
34
|
+
private writes: Promise<void> = Promise.resolve();
|
|
35
|
+
|
|
36
|
+
private constructor(private readonly file: string, private value: DesktopState) {}
|
|
37
|
+
|
|
38
|
+
static async open(home: string): Promise<DesktopClientState> {
|
|
39
|
+
await mkdir(home, { recursive: true, mode: 0o700 });
|
|
40
|
+
const file = join(home, "desktop-client.json");
|
|
41
|
+
try {
|
|
42
|
+
const initial: DesktopState = { schema: 1, identity: createIdentity(), storage: {} };
|
|
43
|
+
await writeFile(file, JSON.stringify(initial), { flag: "wx", mode: 0o600 });
|
|
44
|
+
} catch (error) {
|
|
45
|
+
if ((error as NodeJS.ErrnoException).code !== "EEXIST") throw error;
|
|
46
|
+
}
|
|
47
|
+
if ((await stat(file)).size > MAX_STATE_BYTES) throw new Error("桌面偏好文件过大,请检查本地存储");
|
|
48
|
+
const value = JSON.parse(await readFile(file, "utf8")) as DesktopState;
|
|
49
|
+
if (value.schema !== 1 || !validIdentity(value.identity) || !value.storage || typeof value.storage !== "object" ||
|
|
50
|
+
Array.isArray(value.storage) || Object.keys(value.storage).some((key) => !validStorageKey(key))) {
|
|
51
|
+
// Replacing a damaged identity would silently lose every existing pairing.
|
|
52
|
+
throw new Error("桌面设备身份文件无法读取,请保留此文件并检查本地存储");
|
|
53
|
+
}
|
|
54
|
+
await chmod(file, 0o600);
|
|
55
|
+
return new DesktopClientState(file, value);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
snapshot(): Pick<DesktopState, "identity" | "storage"> {
|
|
59
|
+
return { identity: this.value.identity, storage: this.value.storage };
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
set(key: string, value: unknown): Promise<void> {
|
|
63
|
+
if (!validStorageKey(key)) return Promise.reject(new Error("无效的偏好名称"));
|
|
64
|
+
const write = this.writes.then(async () => {
|
|
65
|
+
const storage = { ...this.value.storage };
|
|
66
|
+
if (value === null) delete storage[key];
|
|
67
|
+
else storage[key] = value;
|
|
68
|
+
if (Object.keys(storage).length > MAX_KEYS) throw new Error("桌面偏好条目过多");
|
|
69
|
+
const next: DesktopState = { ...this.value, storage };
|
|
70
|
+
const text = JSON.stringify(next);
|
|
71
|
+
if (Buffer.byteLength(text) > MAX_STATE_BYTES) throw new Error("桌面偏好存储空间已满");
|
|
72
|
+
const temporary = `${this.file}.${randomBytes(12).toString("hex")}.tmp`;
|
|
73
|
+
try {
|
|
74
|
+
await writeFile(temporary, text, { flag: "wx", mode: 0o600 });
|
|
75
|
+
await rename(temporary, this.file);
|
|
76
|
+
this.value = next;
|
|
77
|
+
} finally {
|
|
78
|
+
await rm(temporary, { force: true });
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
// A rejected write must not prevent later, smaller preferences from saving.
|
|
82
|
+
this.writes = write.catch(() => {});
|
|
83
|
+
return write;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
async flush(): Promise<void> { await this.writes; }
|
|
87
|
+
}
|