linkshell-cli 0.10.71 → 0.10.72
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.js +76 -33
- package/dist/cli/src/auth.js.map +1 -1
- package/dist/cli/src/commands/desktop.d.ts +6 -6
- package/dist/cli/tsconfig.tsbuildinfo +1 -1
- package/dist/host/src/drivers/claude/tasks.d.ts +1 -1
- package/dist/host/src/drivers/claude/transcript.d.ts +13 -13
- package/dist/host/src/hub.d.ts +9 -9
- package/dist/wire/src/content.d.ts +4 -4
- package/dist/wire/src/editor.d.ts +28 -28
- package/dist/wire/src/live-activity.d.ts +10 -10
- package/dist/wire/src/model.d.ts +59 -59
- package/dist/wire/src/rpc.d.ts +543 -543
- package/dist/wire/src/updates.d.ts +95 -95
- package/dist/wire/src/watch.d.ts +22 -22
- package/package.json +3 -3
- package/src/auth.ts +84 -38
package/dist/cli/src/auth.js
CHANGED
|
@@ -54,40 +54,29 @@ export async function refreshAccessToken(options = {}) {
|
|
|
54
54
|
return null;
|
|
55
55
|
if (auth.expiresAt - Date.now() >= 60_000)
|
|
56
56
|
return auth;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"Content-Type": "application/json",
|
|
62
|
-
apikey: SUPABASE_ANON_KEY,
|
|
63
|
-
},
|
|
64
|
-
body: JSON.stringify({ refresh_token: auth.refreshToken }),
|
|
65
|
-
signal: options.signal ? AbortSignal.any([options.signal, AbortSignal.timeout(8_000)]) : AbortSignal.timeout(8_000),
|
|
66
|
-
});
|
|
67
|
-
if (!res.ok)
|
|
68
|
-
return (await refused(res)) ? signedOutElsewhere(auth) : rotatedElsewhere(auth);
|
|
69
|
-
const body = (await res.json());
|
|
70
|
-
const tokens = {
|
|
71
|
-
accessToken: body.access_token,
|
|
72
|
-
refreshToken: body.refresh_token,
|
|
73
|
-
expiresAt: Date.now() + body.expires_in * 1000,
|
|
74
|
-
userId: body.user.id,
|
|
75
|
-
email: body.user.email ?? auth.email,
|
|
76
|
-
};
|
|
77
|
-
// A login or logout may finish while the refresh is in flight.
|
|
78
|
-
const current = loadAuth();
|
|
79
|
-
if (tokens.userId !== auth.userId || current?.userId !== auth.userId)
|
|
80
|
-
return null;
|
|
81
|
-
if (current.refreshToken !== auth.refreshToken)
|
|
82
|
-
return rotatedElsewhere(auth);
|
|
83
|
-
// Saved even when the caller gave up: the old refresh token is spent now, and presenting it
|
|
84
|
-
// again later would make Supabase revoke the whole session.
|
|
85
|
-
saveAuth(tokens);
|
|
86
|
-
return options.signal?.aborted ? null : tokens;
|
|
87
|
-
}
|
|
88
|
-
catch {
|
|
57
|
+
const outcome = await exchangeRefreshToken(auth.refreshToken, options.signal);
|
|
58
|
+
if (outcome.kind === "dead")
|
|
59
|
+
return signedOutElsewhere(auth);
|
|
60
|
+
if (outcome.kind === "retryable")
|
|
89
61
|
return rotatedElsewhere(auth);
|
|
90
|
-
|
|
62
|
+
const body = outcome.body;
|
|
63
|
+
const tokens = {
|
|
64
|
+
accessToken: body.access_token,
|
|
65
|
+
refreshToken: body.refresh_token,
|
|
66
|
+
expiresAt: Date.now() + body.expires_in * 1000,
|
|
67
|
+
userId: body.user.id,
|
|
68
|
+
email: body.user.email ?? auth.email,
|
|
69
|
+
};
|
|
70
|
+
// A login or logout may finish while the refresh is in flight.
|
|
71
|
+
const current = loadAuth();
|
|
72
|
+
if (tokens.userId !== auth.userId || current?.userId !== auth.userId)
|
|
73
|
+
return null;
|
|
74
|
+
if (current.refreshToken !== auth.refreshToken)
|
|
75
|
+
return rotatedElsewhere(auth);
|
|
76
|
+
// Saved even when the caller gave up: the old refresh token is spent now, and presenting it
|
|
77
|
+
// again later would make Supabase revoke the whole session.
|
|
78
|
+
saveAuth(tokens);
|
|
79
|
+
return options.signal?.aborted ? null : tokens;
|
|
91
80
|
})().finally(() => {
|
|
92
81
|
inflightRefresh = null;
|
|
93
82
|
});
|
|
@@ -119,6 +108,60 @@ async function refused(res) {
|
|
|
119
108
|
return false;
|
|
120
109
|
}
|
|
121
110
|
}
|
|
111
|
+
// itool.tech proxies the Supabase token exchange so clients in regions that can't reach
|
|
112
|
+
// supabase.co directly can still refresh. Set LINKSHELL_TOKEN_PROXY=off to skip it (kill switch).
|
|
113
|
+
const TOKEN_PROXY_URL = "https://itool.tech/api/linkshell/token";
|
|
114
|
+
function exchangeSignal(signal) {
|
|
115
|
+
return signal ? AbortSignal.any([signal, AbortSignal.timeout(8_000)]) : AbortSignal.timeout(8_000);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Tries the itool.tech proxy. Returns an outcome to act on, or null meaning the proxy itself
|
|
119
|
+
* couldn't give a verdict (unreachable, 5xx, unexpected shape) so the caller should fall back to
|
|
120
|
+
* Supabase directly. Only a definite `invalid_grant` from the proxy signs the account out.
|
|
121
|
+
*/
|
|
122
|
+
async function exchangeViaProxy(refreshToken, signal) {
|
|
123
|
+
try {
|
|
124
|
+
const res = await fetch(TOKEN_PROXY_URL, {
|
|
125
|
+
method: "POST",
|
|
126
|
+
headers: { "Content-Type": "application/json" },
|
|
127
|
+
body: JSON.stringify({ refresh_token: refreshToken }),
|
|
128
|
+
signal: exchangeSignal(signal),
|
|
129
|
+
});
|
|
130
|
+
if (res.ok)
|
|
131
|
+
return { kind: "ok", body: (await res.json()) };
|
|
132
|
+
const body = (await res.json().catch(() => ({})));
|
|
133
|
+
if (body.code === "invalid_grant")
|
|
134
|
+
return { kind: "dead" };
|
|
135
|
+
return null; // temporarily_unavailable, invalid_request, anything else → fall back to direct
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
return null; // couldn't reach itool.tech → fall back to direct
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
async function exchangeDirect(refreshToken, signal) {
|
|
142
|
+
try {
|
|
143
|
+
const res = await fetch(`${SUPABASE_URL}/auth/v1/token?grant_type=refresh_token`, {
|
|
144
|
+
method: "POST",
|
|
145
|
+
headers: { "Content-Type": "application/json", apikey: SUPABASE_ANON_KEY },
|
|
146
|
+
body: JSON.stringify({ refresh_token: refreshToken }),
|
|
147
|
+
signal: exchangeSignal(signal),
|
|
148
|
+
});
|
|
149
|
+
if (res.ok)
|
|
150
|
+
return { kind: "ok", body: (await res.json()) };
|
|
151
|
+
return (await refused(res)) ? { kind: "dead" } : { kind: "retryable" };
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
return { kind: "retryable" };
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
async function exchangeRefreshToken(refreshToken, signal) {
|
|
158
|
+
if (process.env.LINKSHELL_TOKEN_PROXY !== "off") {
|
|
159
|
+
const viaProxy = await exchangeViaProxy(refreshToken, signal);
|
|
160
|
+
if (viaProxy)
|
|
161
|
+
return viaProxy;
|
|
162
|
+
}
|
|
163
|
+
return exchangeDirect(refreshToken, signal);
|
|
164
|
+
}
|
|
122
165
|
/**
|
|
123
166
|
* The account was signed out on the server. Keeping its dead tokens would leave every client
|
|
124
167
|
* showing a signed-in account that nothing can use, so this computer signs out too.
|
package/dist/cli/src/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAU9C,MAAM,UAAU,QAAQ;IACtB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAe,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAkB;IACzC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QAC/D,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,YAAY,GAAG,0CAA0C,CAAC;AAChE,MAAM,iBAAiB,GACrB,kNAAkN,CAAC;AAErN,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAE3C,IAAI,eAAe,GAAsC,IAAI,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAoC,EAAE;IAC7E,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,eAAe;QAAE,OAAO,eAAe,CAAC;IAC5C,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,EAAE,YAAY;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC;QAEvD,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export declare function desktopSnapshot(version: string): Promise<{
|
|
|
30
30
|
version?: string | undefined;
|
|
31
31
|
problem?: string | undefined;
|
|
32
32
|
auth?: {
|
|
33
|
-
state: "
|
|
33
|
+
state: "ok" | "unknown" | "missing";
|
|
34
34
|
method?: string | undefined;
|
|
35
35
|
hint?: string | undefined;
|
|
36
36
|
} | undefined;
|
|
@@ -46,7 +46,7 @@ export declare function desktopSnapshot(version: string): Promise<{
|
|
|
46
46
|
locked?: boolean | undefined;
|
|
47
47
|
};
|
|
48
48
|
gateway: {
|
|
49
|
-
status: "
|
|
49
|
+
status: "off" | "offline" | "connecting" | "online";
|
|
50
50
|
devices: {
|
|
51
51
|
name: string;
|
|
52
52
|
id: string;
|
|
@@ -89,16 +89,16 @@ export declare function desktopSnapshot(version: string): Promise<{
|
|
|
89
89
|
} | undefined;
|
|
90
90
|
permission?: {
|
|
91
91
|
options: {
|
|
92
|
-
name: string;
|
|
93
92
|
kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
|
|
93
|
+
name: string;
|
|
94
94
|
optionId: string;
|
|
95
95
|
}[];
|
|
96
96
|
title: string;
|
|
97
97
|
requestId: string;
|
|
98
98
|
toolCallId?: string | undefined;
|
|
99
99
|
tool?: {
|
|
100
|
-
title?: string | undefined;
|
|
101
100
|
kind?: "search" | "delete" | "other" | "read" | "edit" | "move" | "execute" | "think" | "fetch" | "switch_mode" | undefined;
|
|
101
|
+
title?: string | undefined;
|
|
102
102
|
content?: ({
|
|
103
103
|
type: "content";
|
|
104
104
|
content: {
|
|
@@ -152,6 +152,7 @@ export declare function desktopSnapshot(version: string): Promise<{
|
|
|
152
152
|
type: "resource_link";
|
|
153
153
|
uri: string;
|
|
154
154
|
name: string;
|
|
155
|
+
kind?: "file" | "skill" | "agent" | undefined;
|
|
155
156
|
annotations?: import("zod").objectOutputType<{
|
|
156
157
|
audience: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodEnum<["user", "assistant"]>, "many">>>, ("user" | "assistant")[] | undefined, ("user" | "assistant")[] | null | undefined>;
|
|
157
158
|
priority: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>, number | undefined, number | null | undefined>;
|
|
@@ -162,7 +163,6 @@ export declare function desktopSnapshot(version: string): Promise<{
|
|
|
162
163
|
title?: string | undefined;
|
|
163
164
|
description?: string | undefined;
|
|
164
165
|
size?: number | undefined;
|
|
165
|
-
kind?: "file" | "skill" | "agent" | undefined;
|
|
166
166
|
};
|
|
167
167
|
} | {
|
|
168
168
|
path: string;
|
|
@@ -187,8 +187,8 @@ export declare function desktopSnapshot(version: string): Promise<{
|
|
|
187
187
|
} | undefined;
|
|
188
188
|
detail?: string | undefined;
|
|
189
189
|
questions?: {
|
|
190
|
-
text: string;
|
|
191
190
|
kind: "text" | "choice" | "choices";
|
|
191
|
+
text: string;
|
|
192
192
|
id: string;
|
|
193
193
|
options?: {
|
|
194
194
|
value: string;
|