linkshell-cli 0.10.44 → 0.10.46
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/README.md +2 -0
- package/dist/cli/src/auth.js +4 -0
- package/dist/cli/src/auth.js.map +1 -1
- package/dist/cli/src/commands/desktop.d.ts +5 -5
- package/dist/cli/src/commands/desktop.js +67 -5
- package/dist/cli/src/commands/desktop.js.map +1 -1
- package/dist/cli/src/commands/login.js +10 -17
- package/dist/cli/src/commands/login.js.map +1 -1
- package/dist/cli/src/pro-membership.d.ts +16 -0
- package/dist/cli/src/pro-membership.js +91 -0
- package/dist/cli/src/pro-membership.js.map +1 -0
- package/dist/cli/tsconfig.tsbuildinfo +1 -1
- package/dist/client-core/src/pro-membership.d.ts +17 -0
- package/dist/client-core/src/pro-membership.js +107 -0
- package/dist/client-core/src/pro-membership.js.map +1 -0
- package/dist/host/src/drivers/acp/antigravity.js +9 -15
- package/dist/host/src/drivers/acp/antigravity.js.map +1 -1
- package/dist/host/src/drivers/acp/driver.d.ts +2 -0
- package/dist/host/src/drivers/acp/driver.js +18 -6
- package/dist/host/src/drivers/acp/driver.js.map +1 -1
- package/dist/host/src/drivers/claude/transcript.d.ts +6 -0
- package/dist/host/src/host.js +1 -1
- package/dist/host/src/host.js.map +1 -1
- package/dist/host/src/store.d.ts +4 -0
- package/dist/host/src/store.js +10 -0
- package/dist/host/src/store.js.map +1 -1
- package/dist/host/src/usage.d.ts +20 -5
- package/dist/host/src/usage.js +55 -3
- package/dist/host/src/usage.js.map +1 -1
- package/dist/wire/src/rpc.d.ts +190 -3
- package/dist/wire/src/updates.d.ts +68 -0
- package/dist/wire/src/updates.js +2 -0
- package/dist/wire/src/updates.js.map +1 -1
- package/dist/wire/src/usage.d.ts +46 -3
- package/dist/wire/src/usage.js +5 -1
- package/dist/wire/src/usage.js.map +1 -1
- package/package.json +4 -4
- package/src/auth.ts +3 -0
- package/src/commands/desktop.ts +60 -6
- package/src/commands/login.ts +7 -25
- package/src/pro-membership.ts +82 -0
|
@@ -2572,6 +2572,22 @@ export declare const sessionUpdateSchema: z.ZodDiscriminatedUnion<"sessionUpdate
|
|
|
2572
2572
|
updatedAt?: string | null | undefined;
|
|
2573
2573
|
}>, z.ZodObject<{
|
|
2574
2574
|
sessionUpdate: z.ZodLiteral<"usage_update">;
|
|
2575
|
+
accounting: z.ZodOptional<z.ZodObject<{
|
|
2576
|
+
id: z.ZodString;
|
|
2577
|
+
scope: z.ZodEnum<["turn", "session"]>;
|
|
2578
|
+
model: z.ZodOptional<z.ZodString>;
|
|
2579
|
+
timestamp: z.ZodOptional<z.ZodNumber>;
|
|
2580
|
+
}, "strip", z.ZodTypeAny, {
|
|
2581
|
+
id: string;
|
|
2582
|
+
scope: "session" | "turn";
|
|
2583
|
+
model?: string | undefined;
|
|
2584
|
+
timestamp?: number | undefined;
|
|
2585
|
+
}, {
|
|
2586
|
+
id: string;
|
|
2587
|
+
scope: "session" | "turn";
|
|
2588
|
+
model?: string | undefined;
|
|
2589
|
+
timestamp?: number | undefined;
|
|
2590
|
+
}>>;
|
|
2575
2591
|
usedTokens: z.ZodOptional<z.ZodNumber>;
|
|
2576
2592
|
contextWindow: z.ZodOptional<z.ZodNumber>;
|
|
2577
2593
|
cost: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
@@ -2616,6 +2632,12 @@ export declare const sessionUpdateSchema: z.ZodDiscriminatedUnion<"sessionUpdate
|
|
|
2616
2632
|
cachedReadTokens?: number | null | undefined;
|
|
2617
2633
|
cachedWriteTokens?: number | null | undefined;
|
|
2618
2634
|
} | undefined;
|
|
2635
|
+
accounting?: {
|
|
2636
|
+
id: string;
|
|
2637
|
+
scope: "session" | "turn";
|
|
2638
|
+
model?: string | undefined;
|
|
2639
|
+
timestamp?: number | undefined;
|
|
2640
|
+
} | undefined;
|
|
2619
2641
|
usedTokens?: number | undefined;
|
|
2620
2642
|
contextWindow?: number | undefined;
|
|
2621
2643
|
cost?: {
|
|
@@ -2632,6 +2654,12 @@ export declare const sessionUpdateSchema: z.ZodDiscriminatedUnion<"sessionUpdate
|
|
|
2632
2654
|
cachedReadTokens?: number | null | undefined;
|
|
2633
2655
|
cachedWriteTokens?: number | null | undefined;
|
|
2634
2656
|
} | undefined;
|
|
2657
|
+
accounting?: {
|
|
2658
|
+
id: string;
|
|
2659
|
+
scope: "session" | "turn";
|
|
2660
|
+
model?: string | undefined;
|
|
2661
|
+
timestamp?: number | undefined;
|
|
2662
|
+
} | undefined;
|
|
2635
2663
|
usedTokens?: number | undefined;
|
|
2636
2664
|
contextWindow?: number | undefined;
|
|
2637
2665
|
cost?: {
|
|
@@ -5851,6 +5879,22 @@ export declare const sessionEventSchema: z.ZodObject<{
|
|
|
5851
5879
|
updatedAt?: string | null | undefined;
|
|
5852
5880
|
}>, z.ZodObject<{
|
|
5853
5881
|
sessionUpdate: z.ZodLiteral<"usage_update">;
|
|
5882
|
+
accounting: z.ZodOptional<z.ZodObject<{
|
|
5883
|
+
id: z.ZodString;
|
|
5884
|
+
scope: z.ZodEnum<["turn", "session"]>;
|
|
5885
|
+
model: z.ZodOptional<z.ZodString>;
|
|
5886
|
+
timestamp: z.ZodOptional<z.ZodNumber>;
|
|
5887
|
+
}, "strip", z.ZodTypeAny, {
|
|
5888
|
+
id: string;
|
|
5889
|
+
scope: "session" | "turn";
|
|
5890
|
+
model?: string | undefined;
|
|
5891
|
+
timestamp?: number | undefined;
|
|
5892
|
+
}, {
|
|
5893
|
+
id: string;
|
|
5894
|
+
scope: "session" | "turn";
|
|
5895
|
+
model?: string | undefined;
|
|
5896
|
+
timestamp?: number | undefined;
|
|
5897
|
+
}>>;
|
|
5854
5898
|
usedTokens: z.ZodOptional<z.ZodNumber>;
|
|
5855
5899
|
contextWindow: z.ZodOptional<z.ZodNumber>;
|
|
5856
5900
|
cost: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
@@ -5895,6 +5939,12 @@ export declare const sessionEventSchema: z.ZodObject<{
|
|
|
5895
5939
|
cachedReadTokens?: number | null | undefined;
|
|
5896
5940
|
cachedWriteTokens?: number | null | undefined;
|
|
5897
5941
|
} | undefined;
|
|
5942
|
+
accounting?: {
|
|
5943
|
+
id: string;
|
|
5944
|
+
scope: "session" | "turn";
|
|
5945
|
+
model?: string | undefined;
|
|
5946
|
+
timestamp?: number | undefined;
|
|
5947
|
+
} | undefined;
|
|
5898
5948
|
usedTokens?: number | undefined;
|
|
5899
5949
|
contextWindow?: number | undefined;
|
|
5900
5950
|
cost?: {
|
|
@@ -5911,6 +5961,12 @@ export declare const sessionEventSchema: z.ZodObject<{
|
|
|
5911
5961
|
cachedReadTokens?: number | null | undefined;
|
|
5912
5962
|
cachedWriteTokens?: number | null | undefined;
|
|
5913
5963
|
} | undefined;
|
|
5964
|
+
accounting?: {
|
|
5965
|
+
id: string;
|
|
5966
|
+
scope: "session" | "turn";
|
|
5967
|
+
model?: string | undefined;
|
|
5968
|
+
timestamp?: number | undefined;
|
|
5969
|
+
} | undefined;
|
|
5914
5970
|
usedTokens?: number | undefined;
|
|
5915
5971
|
contextWindow?: number | undefined;
|
|
5916
5972
|
cost?: {
|
|
@@ -7547,6 +7603,12 @@ export declare const sessionEventSchema: z.ZodObject<{
|
|
|
7547
7603
|
cachedReadTokens?: number | null | undefined;
|
|
7548
7604
|
cachedWriteTokens?: number | null | undefined;
|
|
7549
7605
|
} | undefined;
|
|
7606
|
+
accounting?: {
|
|
7607
|
+
id: string;
|
|
7608
|
+
scope: "session" | "turn";
|
|
7609
|
+
model?: string | undefined;
|
|
7610
|
+
timestamp?: number | undefined;
|
|
7611
|
+
} | undefined;
|
|
7550
7612
|
usedTokens?: number | undefined;
|
|
7551
7613
|
contextWindow?: number | undefined;
|
|
7552
7614
|
cost?: {
|
|
@@ -8038,6 +8100,12 @@ export declare const sessionEventSchema: z.ZodObject<{
|
|
|
8038
8100
|
cachedReadTokens?: number | null | undefined;
|
|
8039
8101
|
cachedWriteTokens?: number | null | undefined;
|
|
8040
8102
|
} | undefined;
|
|
8103
|
+
accounting?: {
|
|
8104
|
+
id: string;
|
|
8105
|
+
scope: "session" | "turn";
|
|
8106
|
+
model?: string | undefined;
|
|
8107
|
+
timestamp?: number | undefined;
|
|
8108
|
+
} | undefined;
|
|
8041
8109
|
usedTokens?: number | undefined;
|
|
8042
8110
|
contextWindow?: number | undefined;
|
|
8043
8111
|
cost?: {
|
package/dist/wire/src/updates.js
CHANGED
|
@@ -150,6 +150,8 @@ export const sessionUpdateSchema = z.discriminatedUnion("sessionUpdate", [
|
|
|
150
150
|
}),
|
|
151
151
|
z.object({
|
|
152
152
|
sessionUpdate: z.literal("usage_update"),
|
|
153
|
+
// Only accounting-bearing updates are additive; context-window snapshots are not usage.
|
|
154
|
+
accounting: z.object({ id: z.string(), scope: z.enum(["turn", "session"]), model: z.string().optional(), timestamp: z.number().optional() }).optional(),
|
|
153
155
|
usedTokens: z.number().optional(),
|
|
154
156
|
contextWindow: z.number().optional(),
|
|
155
157
|
cost: z.object({ amount: z.number(), currency: z.string() }).nullable().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updates.js","sourceRoot":"","sources":["../../../../wire/src/updates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updates.js","sourceRoot":"","sources":["../../../../wire/src/updates.ts"],"names":[],"mappings":"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"}
|
package/dist/wire/src/usage.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
export declare const usageQuerySchema: z.ZodObject<{
|
|
3
3
|
days: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<7>, z.ZodLiteral<30>]>>;
|
|
4
|
-
agent: z.ZodDefault<z.
|
|
4
|
+
agent: z.ZodDefault<z.ZodString>;
|
|
5
5
|
}, "strip", z.ZodTypeAny, {
|
|
6
|
-
agent:
|
|
6
|
+
agent: string;
|
|
7
7
|
days: 1 | 7 | 30;
|
|
8
8
|
}, {
|
|
9
|
-
agent?:
|
|
9
|
+
agent?: string | undefined;
|
|
10
10
|
days?: 1 | 7 | 30 | undefined;
|
|
11
11
|
}>;
|
|
12
12
|
export declare const usageTotalsSchema: z.ZodObject<{
|
|
@@ -125,6 +125,31 @@ export declare const usageReportSchema: z.ZodObject<{
|
|
|
125
125
|
cacheReadTokens: number;
|
|
126
126
|
cacheWriteTokens: number;
|
|
127
127
|
}>, "many">;
|
|
128
|
+
agents: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
129
|
+
id: z.ZodString;
|
|
130
|
+
label: z.ZodString;
|
|
131
|
+
source: z.ZodEnum<["native", "acp"]>;
|
|
132
|
+
status: z.ZodEnum<["available", "no_data"]>;
|
|
133
|
+
records: z.ZodNumber;
|
|
134
|
+
totalTokens: z.ZodNumber;
|
|
135
|
+
note: z.ZodString;
|
|
136
|
+
}, "strip", z.ZodTypeAny, {
|
|
137
|
+
status: "available" | "no_data";
|
|
138
|
+
id: string;
|
|
139
|
+
totalTokens: number;
|
|
140
|
+
label: string;
|
|
141
|
+
source: "acp" | "native";
|
|
142
|
+
records: number;
|
|
143
|
+
note: string;
|
|
144
|
+
}, {
|
|
145
|
+
status: "available" | "no_data";
|
|
146
|
+
id: string;
|
|
147
|
+
totalTokens: number;
|
|
148
|
+
label: string;
|
|
149
|
+
source: "acp" | "native";
|
|
150
|
+
records: number;
|
|
151
|
+
note: string;
|
|
152
|
+
}>, "many">>;
|
|
128
153
|
warnings: z.ZodArray<z.ZodString, "many">;
|
|
129
154
|
}, "strip", z.ZodTypeAny, {
|
|
130
155
|
agent: string;
|
|
@@ -162,6 +187,15 @@ export declare const usageReportSchema: z.ZodObject<{
|
|
|
162
187
|
cacheWriteTokens: number;
|
|
163
188
|
}[];
|
|
164
189
|
warnings: string[];
|
|
190
|
+
agents?: {
|
|
191
|
+
status: "available" | "no_data";
|
|
192
|
+
id: string;
|
|
193
|
+
totalTokens: number;
|
|
194
|
+
label: string;
|
|
195
|
+
source: "acp" | "native";
|
|
196
|
+
records: number;
|
|
197
|
+
note: string;
|
|
198
|
+
}[] | undefined;
|
|
165
199
|
}, {
|
|
166
200
|
agent: string;
|
|
167
201
|
models: {
|
|
@@ -198,6 +232,15 @@ export declare const usageReportSchema: z.ZodObject<{
|
|
|
198
232
|
cacheWriteTokens: number;
|
|
199
233
|
}[];
|
|
200
234
|
warnings: string[];
|
|
235
|
+
agents?: {
|
|
236
|
+
status: "available" | "no_data";
|
|
237
|
+
id: string;
|
|
238
|
+
totalTokens: number;
|
|
239
|
+
label: string;
|
|
240
|
+
source: "acp" | "native";
|
|
241
|
+
records: number;
|
|
242
|
+
note: string;
|
|
243
|
+
}[] | undefined;
|
|
201
244
|
}>;
|
|
202
245
|
export type UsageQuery = z.infer<typeof usageQuerySchema>;
|
|
203
246
|
export type UsageTotals = z.infer<typeof usageTotalsSchema>;
|
package/dist/wire/src/usage.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
export const usageQuerySchema = z.object({
|
|
3
3
|
days: z.union([z.literal(1), z.literal(7), z.literal(30)]).default(7),
|
|
4
|
-
agent: z.
|
|
4
|
+
agent: z.string().min(1).max(128).default("all"),
|
|
5
5
|
});
|
|
6
6
|
export const usageTotalsSchema = z.object({
|
|
7
7
|
records: z.number(), sessions: z.number(), inputTokens: z.number(), outputTokens: z.number(),
|
|
@@ -12,6 +12,10 @@ export const usageReportSchema = z.object({
|
|
|
12
12
|
totals: usageTotalsSchema,
|
|
13
13
|
daily: z.array(usageTotalsSchema.extend({ date: z.string() })),
|
|
14
14
|
models: z.array(usageTotalsSchema.extend({ agent: z.string(), model: z.string() })),
|
|
15
|
+
agents: z.array(z.object({
|
|
16
|
+
id: z.string(), label: z.string(), source: z.enum(["native", "acp"]),
|
|
17
|
+
status: z.enum(["available", "no_data"]), records: z.number(), totalTokens: z.number(), note: z.string(),
|
|
18
|
+
})).optional(),
|
|
15
19
|
warnings: z.array(z.string()),
|
|
16
20
|
});
|
|
17
21
|
//# sourceMappingURL=usage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../../wire/src/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../../wire/src/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CACjD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5F,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CACnF,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IAClF,MAAM,EAAE,iBAAiB;IACzB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9D,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACvB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACzG,CAAC,CAAC,CAAC,QAAQ,EAAE;IACd,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "linkshell-cli",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.46",
|
|
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,9 +33,9 @@
|
|
|
33
33
|
"commander": "^13.1.0",
|
|
34
34
|
"node-pty": "^1.1.0",
|
|
35
35
|
"qrcode-terminal": "^0.12.0",
|
|
36
|
-
"@linkshell/gateway": "0.6.
|
|
37
|
-
"@linkshell/
|
|
38
|
-
"@linkshell/
|
|
36
|
+
"@linkshell/gateway": "0.6.23",
|
|
37
|
+
"@linkshell/host": "0.4.44",
|
|
38
|
+
"@linkshell/wire": "0.2.16"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"tsx": "^4.19.3",
|
package/src/auth.ts
CHANGED
|
@@ -91,6 +91,9 @@ export async function refreshAccessToken(): Promise<AuthTokens | null> {
|
|
|
91
91
|
userId: body.user.id,
|
|
92
92
|
email: body.user.email ?? auth.email,
|
|
93
93
|
};
|
|
94
|
+
// A login or logout may finish while the refresh is in flight.
|
|
95
|
+
const current = loadAuth();
|
|
96
|
+
if (tokens.userId !== auth.userId || current?.userId !== auth.userId || current.refreshToken !== auth.refreshToken) return null;
|
|
94
97
|
saveAuth(tokens);
|
|
95
98
|
return tokens;
|
|
96
99
|
} catch {
|
package/src/commands/desktop.ts
CHANGED
|
@@ -10,17 +10,22 @@ import { prepareDesktopUpdate, recoverDesktopUpdate } from "./desktop-update.js"
|
|
|
10
10
|
import { sep } from "node:path";
|
|
11
11
|
import { ensureHostRunning, silenceSqliteWarning, withRunningHost } from "./host.js";
|
|
12
12
|
import { linkshellDir, readHostLaunch, readHostOwner, readPid, stopDaemonAndWait } from "../utils/daemon.js";
|
|
13
|
+
import { cachedMembership, redeemDesktopPro, refreshMembership } from "../pro-membership.js";
|
|
13
14
|
|
|
14
15
|
export function installationSource(path: string): "homebrew" | "npm" {
|
|
15
16
|
return path.includes(`${sep}Cellar${sep}linkshell${sep}`) ? "homebrew" : "npm";
|
|
16
17
|
}
|
|
17
18
|
|
|
19
|
+
function desktopAccount() {
|
|
20
|
+
const auth = loadAuth();
|
|
21
|
+
return auth?.userId ? { state: "signed-in", email: auth.email, userId: auth.userId, ...cachedMembership(auth.userId) } : { state: "signed-out" };
|
|
22
|
+
}
|
|
23
|
+
|
|
18
24
|
/** A versioned, read-only snapshot. Missing sections stay unknown, never healthy. */
|
|
19
25
|
export async function desktopSnapshot(version: string) {
|
|
20
26
|
let executable = process.argv[1]!;
|
|
21
27
|
try { executable = realpathSync(executable); } catch { /* Retain the launch path for diagnosis. */ }
|
|
22
|
-
const
|
|
23
|
-
const account = auth?.userId ? { state: "signed-in", email: auth.email, userId: auth.userId } : { state: "signed-out" };
|
|
28
|
+
const account = desktopAccount();
|
|
24
29
|
const base = { account, schema: 1, cliVersion: version, home: linkshellDir(), source: standaloneBundle() ? "standalone" : installationSource(executable), executable, hostOwner: readPid("host") ? readHostOwner(readPid("host")!) ?? "external" : "none", appBundle: standaloneBundle() };
|
|
25
30
|
const result = await withRunningHost(async (client) => {
|
|
26
31
|
const machine = await client.call("machine.info", {}, 5000);
|
|
@@ -33,13 +38,62 @@ export async function desktopSnapshot(version: string) {
|
|
|
33
38
|
return result ? { ...base, status: "running", ...result } : { ...base, status: readPid("host") ? "unreachable" : "stopped" };
|
|
34
39
|
}
|
|
35
40
|
|
|
36
|
-
|
|
41
|
+
async function redemptionInput(input: AsyncIterable<string | Buffer>): Promise<{ code: string; userId: string }> {
|
|
42
|
+
const chunks: Buffer[] = [];
|
|
43
|
+
let length = 0;
|
|
44
|
+
for await (const chunk of input) {
|
|
45
|
+
const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
46
|
+
length += buffer.length;
|
|
47
|
+
if (length > 4096) throw new Error("激活码内容过长,请检查后重试");
|
|
48
|
+
chunks.push(buffer);
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
const value = JSON.parse(Buffer.concat(chunks).toString("utf8"));
|
|
52
|
+
if (typeof value?.code === "string" && typeof value?.userId === "string" && value.userId.trim()) return { code: value.code, userId: value.userId };
|
|
53
|
+
} catch { /* Never echo an input that contains the activation code. */ }
|
|
54
|
+
throw new Error("激活码请求无效,请刷新账号后重试");
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export async function runDesktop(version: string, action: string, input: AsyncIterable<string | Buffer> = process.stdin): Promise<void> {
|
|
37
58
|
silenceSqliteWarning();
|
|
38
59
|
try {
|
|
60
|
+
if (action === "redeem-pro") {
|
|
61
|
+
const { code, userId } = await redemptionInput(input);
|
|
62
|
+
const result = await redeemDesktopPro(code, userId);
|
|
63
|
+
if (loadAuth()?.userId === userId) {
|
|
64
|
+
try {
|
|
65
|
+
const gateway = await refreshGateway(15_000);
|
|
66
|
+
if (gateway && gateway.status !== "online" && gateway.status !== "off") result.accountWarning ??= "兑换已成功,网关尚未连接,请稍后重新连接";
|
|
67
|
+
} catch {
|
|
68
|
+
result.accountWarning ??= "兑换已成功,本机服务暂未刷新,请稍后重新连接网关";
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// A host query failing cannot turn a confirmed redemption into a failed redemption.
|
|
72
|
+
const snapshot = await desktopSnapshot(version).catch(() => {
|
|
73
|
+
result.accountWarning ??= "兑换已成功,本机服务状态暂时无法读取,请稍后刷新";
|
|
74
|
+
return { schema: 1, cliVersion: version, status: "unknown", account: desktopAccount() };
|
|
75
|
+
});
|
|
76
|
+
snapshot.account = desktopAccount();
|
|
77
|
+
if (snapshot.account.state === "signed-in" && "userId" in snapshot.account && snapshot.account.userId === userId) Object.assign(snapshot.account, { plan: "pro", planExpiresAt: result.redemption.planExpiresAt });
|
|
78
|
+
else result.accountWarning = "兑换已成功,登录账号已变更,请切回兑换时的账号查看会员状态";
|
|
79
|
+
process.stdout.write(`${JSON.stringify({ ...snapshot, ...result })}\n`);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (action === "account-refresh") await refreshMembership();
|
|
83
|
+
else if (action === "pair") {
|
|
84
|
+
const result = await withRunningHost(async client => {
|
|
85
|
+
const gateway = await client.call("gateway.status", {});
|
|
86
|
+
if (gateway.status !== "online") throw new Error("请先连接网关。官方网关需要登录 Pro 账号;自建网关可以免登录配对。");
|
|
87
|
+
return client.call("pairing.start", {}, 20_000);
|
|
88
|
+
});
|
|
89
|
+
if (!result) throw new Error("请先启动本机服务");
|
|
90
|
+
process.stdout.write(`${JSON.stringify(result)}\n`);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
39
93
|
if (action.startsWith("usage-")) {
|
|
40
|
-
const match = /^usage-(1|7|30)-(
|
|
94
|
+
const match = /^usage-(1|7|30)-(.{1,128})$/.exec(action);
|
|
41
95
|
if (!match) throw new Error("无效的用量筛选条件");
|
|
42
|
-
const result = await withRunningHost(client => client.call("usage.summary", { days: Number(match[1]) as 1 | 7 | 30, agent: match[2]
|
|
96
|
+
const result = await withRunningHost(client => client.call("usage.summary", { days: Number(match[1]) as 1 | 7 | 30, agent: match[2]! }, 120_000));
|
|
43
97
|
if (!result) throw new Error("请先启动本机服务");
|
|
44
98
|
process.stdout.write(`${JSON.stringify(result)}\n`);
|
|
45
99
|
return;
|
|
@@ -67,7 +121,7 @@ export async function runDesktop(version: string, action: string): Promise<void>
|
|
|
67
121
|
const env = { ...process.env, ...(pid ? readHostLaunch(pid) : {}) };
|
|
68
122
|
await stopDaemonAndWait("host", 30_000, pid ?? undefined);
|
|
69
123
|
if (action === "restart") await ensureHostRunning(env);
|
|
70
|
-
} else if (action !== "snapshot") throw new Error("Unknown desktop action");
|
|
124
|
+
} else if (action !== "snapshot" && action !== "account-refresh") throw new Error("Unknown desktop action");
|
|
71
125
|
process.stdout.write(`${JSON.stringify(await desktopSnapshot(version))}\n`);
|
|
72
126
|
} catch (error) {
|
|
73
127
|
process.stdout.write(`${JSON.stringify({ schema: 1, status: "unknown", error: error instanceof Error ? error.message : String(error) })}\n`);
|
package/src/commands/login.ts
CHANGED
|
@@ -2,6 +2,8 @@ import * as http from "node:http";
|
|
|
2
2
|
import { execSync } from "node:child_process";
|
|
3
3
|
import { saveAuth, SUPABASE_URL, SUPABASE_ANON_KEY } from "../auth.js";
|
|
4
4
|
import type { AuthTokens } from "../auth.js";
|
|
5
|
+
import { cacheMembership, type DesktopMembership } from "../pro-membership.js";
|
|
6
|
+
import { fetchProMembership } from "../../../client-core/src/pro-membership.js";
|
|
5
7
|
|
|
6
8
|
const ITOOL_AUTH_URL = "https://itool.tech/en/auth/linkshell";
|
|
7
9
|
|
|
@@ -76,6 +78,7 @@ export async function runLogin(): Promise<LoginResult | null> {
|
|
|
76
78
|
let userId = "";
|
|
77
79
|
let email = "";
|
|
78
80
|
let plan = "free";
|
|
81
|
+
let membership: DesktopMembership = { plan: "unknown", planExpiresAt: null };
|
|
79
82
|
try {
|
|
80
83
|
const userRes = await fetch(`${SUPABASE_URL}/auth/v1/user`, {
|
|
81
84
|
headers: {
|
|
@@ -92,31 +95,9 @@ export async function runLogin(): Promise<LoginResult | null> {
|
|
|
92
95
|
userId = user.id;
|
|
93
96
|
email = user.email ?? "";
|
|
94
97
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
{
|
|
99
|
-
headers: {
|
|
100
|
-
Authorization: `Bearer ${accessToken}`,
|
|
101
|
-
apikey: SUPABASE_ANON_KEY,
|
|
102
|
-
},
|
|
103
|
-
signal: AbortSignal.timeout(5_000),
|
|
104
|
-
},
|
|
105
|
-
);
|
|
106
|
-
if (profileRes.ok) {
|
|
107
|
-
const profiles = (await profileRes.json()) as {
|
|
108
|
-
plan: string;
|
|
109
|
-
plan_expires_at: string | null;
|
|
110
|
-
}[];
|
|
111
|
-
if (
|
|
112
|
-
profiles.length > 0 &&
|
|
113
|
-
profiles[0]!.plan === "pro" &&
|
|
114
|
-
profiles[0]!.plan_expires_at &&
|
|
115
|
-
new Date(profiles[0]!.plan_expires_at) > new Date()
|
|
116
|
-
) {
|
|
117
|
-
plan = "pro";
|
|
118
|
-
}
|
|
119
|
-
}
|
|
98
|
+
const profile = await fetchProMembership({ userId, accessToken, supabaseUrl: SUPABASE_URL, anonKey: SUPABASE_ANON_KEY });
|
|
99
|
+
plan = profile.plan;
|
|
100
|
+
membership = { plan: profile.plan, planExpiresAt: profile.expiresAt ?? null };
|
|
120
101
|
}
|
|
121
102
|
} catch {}
|
|
122
103
|
|
|
@@ -134,6 +115,7 @@ export async function runLogin(): Promise<LoginResult | null> {
|
|
|
134
115
|
email,
|
|
135
116
|
};
|
|
136
117
|
saveAuth(tokens);
|
|
118
|
+
try { cacheMembership(userId, membership); } catch { /* A cache write cannot invalidate a completed login. */ }
|
|
137
119
|
|
|
138
120
|
res.writeHead(200);
|
|
139
121
|
res.end("ok");
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { fetchProMembership, redeemProCode } from "../../client-core/src/pro-membership.js";
|
|
4
|
+
import { getValidToken, loadAuth, SUPABASE_ANON_KEY, SUPABASE_URL } from "./auth.js";
|
|
5
|
+
import { linkshellDir } from "./utils/daemon.js";
|
|
6
|
+
|
|
7
|
+
export interface DesktopMembership {
|
|
8
|
+
plan: "pro" | "free" | "unknown";
|
|
9
|
+
planExpiresAt: string | null;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const unknownMembership: DesktopMembership = { plan: "unknown", planExpiresAt: null };
|
|
13
|
+
const changedAccount = "登录账号已变更,请刷新账号后重试";
|
|
14
|
+
const cachePath = () => join(linkshellDir(), "account-pro.json");
|
|
15
|
+
|
|
16
|
+
/** Snapshot polling stays offline; the dashboard refreshes this account-scoped cache separately. */
|
|
17
|
+
export function cachedMembership(userId: string): DesktopMembership {
|
|
18
|
+
try {
|
|
19
|
+
const value = JSON.parse(readFileSync(cachePath(), "utf8"));
|
|
20
|
+
if (value.userId !== userId || !["pro", "free", "unknown"].includes(value.plan)) return { ...unknownMembership };
|
|
21
|
+
const expiry = typeof value.planExpiresAt === "string" && Number.isFinite(Date.parse(value.planExpiresAt)) ? value.planExpiresAt : null;
|
|
22
|
+
if (value.plan === "pro" && !expiry) return { ...unknownMembership };
|
|
23
|
+
return { plan: value.plan === "pro" ? expiry && Date.parse(expiry) > Date.now() ? "pro" : "free" : value.plan, planExpiresAt: expiry };
|
|
24
|
+
} catch {
|
|
25
|
+
return { ...unknownMembership };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function cacheMembership(userId: string, membership: DesktopMembership, observedAt = Date.now()): void {
|
|
30
|
+
try {
|
|
31
|
+
const previous = JSON.parse(readFileSync(cachePath(), "utf8"));
|
|
32
|
+
// A profile request begun before redemption cannot replace its confirmed result.
|
|
33
|
+
if (previous.userId === userId && previous.observedAt > observedAt) return;
|
|
34
|
+
} catch { /* There may not be a prior account observation. */ }
|
|
35
|
+
mkdirSync(linkshellDir(), { recursive: true });
|
|
36
|
+
writeFileSync(cachePath(), JSON.stringify({ userId, ...membership, observedAt }) + "\n", { encoding: "utf8", mode: 0o600 });
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async function accountToken(expectedUserId?: string): Promise<{ userId: string; accessToken: string }> {
|
|
40
|
+
const auth = loadAuth();
|
|
41
|
+
if (!auth?.userId) throw new Error("请先登录账号");
|
|
42
|
+
if (expectedUserId !== undefined && auth.userId !== expectedUserId) throw new Error(changedAccount);
|
|
43
|
+
const accessToken = await getValidToken();
|
|
44
|
+
const current = loadAuth();
|
|
45
|
+
if (current?.userId !== auth.userId) throw new Error(changedAccount);
|
|
46
|
+
if (!accessToken || current.accessToken !== accessToken) throw new Error("登录已失效,请重新登录后再试");
|
|
47
|
+
return { userId: auth.userId, accessToken };
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export async function refreshMembership(): Promise<DesktopMembership> {
|
|
51
|
+
const userId = loadAuth()?.userId;
|
|
52
|
+
const observedAt = Date.now();
|
|
53
|
+
try {
|
|
54
|
+
const account = await accountToken(userId);
|
|
55
|
+
const membership = await fetchProMembership({ ...account, supabaseUrl: SUPABASE_URL, anonKey: SUPABASE_ANON_KEY });
|
|
56
|
+
if (loadAuth()?.userId !== account.userId) throw new Error(changedAccount);
|
|
57
|
+
const result: DesktopMembership = { plan: membership.plan, planExpiresAt: membership.expiresAt ?? null };
|
|
58
|
+
cacheMembership(account.userId, result, observedAt);
|
|
59
|
+
return result;
|
|
60
|
+
} catch (error) {
|
|
61
|
+
if (userId && loadAuth()?.userId === userId) {
|
|
62
|
+
try { cacheMembership(userId, unknownMembership, observedAt); } catch { /* Preserve the request's error. */ }
|
|
63
|
+
}
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export async function redeemDesktopPro(code: string, userId: string) {
|
|
69
|
+
if (!code.trim()) throw new Error("请输入激活码");
|
|
70
|
+
if (Buffer.byteLength(code, "utf8") > 512) throw new Error("激活码内容过长,请检查后重试");
|
|
71
|
+
const account = await accountToken(userId);
|
|
72
|
+
const redeemed = await redeemProCode(account.accessToken, code);
|
|
73
|
+
const redemption = { userId, idempotent: redeemed.idempotent, planExpiresAt: redeemed.expiresAt };
|
|
74
|
+
let accountWarning: string | undefined;
|
|
75
|
+
try {
|
|
76
|
+
if (loadAuth()?.userId === userId) cacheMembership(userId, { plan: "pro", planExpiresAt: redeemed.expiresAt });
|
|
77
|
+
} catch {
|
|
78
|
+
accountWarning = "兑换已成功,会员状态暂未保存,请刷新会员状态";
|
|
79
|
+
}
|
|
80
|
+
if (loadAuth()?.userId !== userId) accountWarning = "兑换已成功,登录账号已变更,请切回兑换时的账号查看会员状态";
|
|
81
|
+
return { redemption, accountWarning };
|
|
82
|
+
}
|