linkshell-cli 0.10.73 → 0.10.75

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.
Files changed (110) hide show
  1. package/dist/cli/src/commands/desktop-workspace.js +62 -9
  2. package/dist/cli/src/commands/desktop-workspace.js.map +1 -1
  3. package/dist/cli/src/commands/desktop.d.ts +15 -2
  4. package/dist/cli/src/commands/desktop.js +87 -1
  5. package/dist/cli/src/commands/desktop.js.map +1 -1
  6. package/dist/cli/src/commands/login-error.d.ts +9 -0
  7. package/dist/cli/src/commands/login-error.js +14 -0
  8. package/dist/cli/src/commands/login-error.js.map +1 -0
  9. package/dist/cli/src/commands/login.d.ts +2 -7
  10. package/dist/cli/src/commands/login.js +23 -52
  11. package/dist/cli/src/commands/login.js.map +1 -1
  12. package/dist/cli/src/commands/sign-in.d.ts +77 -0
  13. package/dist/cli/src/commands/sign-in.js +390 -0
  14. package/dist/cli/src/commands/sign-in.js.map +1 -0
  15. package/dist/cli/src/index.js +2 -1
  16. package/dist/cli/src/index.js.map +1 -1
  17. package/dist/cli/tsconfig.tsbuildinfo +1 -1
  18. package/dist/client-core/src/account-errors.d.ts +17 -0
  19. package/dist/client-core/src/account-errors.js +82 -0
  20. package/dist/client-core/src/account-errors.js.map +1 -0
  21. package/dist/gateway/src/relay.d.ts +1 -1
  22. package/dist/gateway/src/relay.js +8 -1
  23. package/dist/gateway/src/relay.js.map +1 -1
  24. package/dist/host/src/drivers/acp/antigravity.d.ts +13 -0
  25. package/dist/host/src/drivers/acp/antigravity.js +13 -0
  26. package/dist/host/src/drivers/acp/antigravity.js.map +1 -1
  27. package/dist/host/src/drivers/acp/driver.d.ts +23 -2
  28. package/dist/host/src/drivers/acp/driver.js +89 -5
  29. package/dist/host/src/drivers/acp/driver.js.map +1 -1
  30. package/dist/host/src/drivers/acp/mapper.d.ts +2 -0
  31. package/dist/host/src/drivers/acp/mapper.js +6 -1
  32. package/dist/host/src/drivers/acp/mapper.js.map +1 -1
  33. package/dist/host/src/drivers/claude/app-sessions.d.ts +58 -0
  34. package/dist/host/src/drivers/claude/app-sessions.js +183 -0
  35. package/dist/host/src/drivers/claude/app-sessions.js.map +1 -0
  36. package/dist/host/src/drivers/claude/driver.d.ts +37 -1
  37. package/dist/host/src/drivers/claude/driver.js +199 -9
  38. package/dist/host/src/drivers/claude/driver.js.map +1 -1
  39. package/dist/host/src/drivers/claude/holders.d.ts +3 -1
  40. package/dist/host/src/drivers/claude/holders.js +4 -0
  41. package/dist/host/src/drivers/claude/holders.js.map +1 -1
  42. package/dist/host/src/drivers/claude/routing.d.ts +19 -0
  43. package/dist/host/src/drivers/claude/routing.js +145 -0
  44. package/dist/host/src/drivers/claude/routing.js.map +1 -0
  45. package/dist/host/src/drivers/claude/transcript.d.ts +10 -0
  46. package/dist/host/src/drivers/claude/transcript.js +97 -22
  47. package/dist/host/src/drivers/claude/transcript.js.map +1 -1
  48. package/dist/host/src/drivers/codex/driver.d.ts +45 -2
  49. package/dist/host/src/drivers/codex/driver.js +288 -18
  50. package/dist/host/src/drivers/codex/driver.js.map +1 -1
  51. package/dist/host/src/drivers/codex/mapper.d.ts +41 -7
  52. package/dist/host/src/drivers/codex/mapper.js +167 -26
  53. package/dist/host/src/drivers/codex/mapper.js.map +1 -1
  54. package/dist/host/src/drivers/codex/mcp-apps.d.ts +69 -0
  55. package/dist/host/src/drivers/codex/mcp-apps.js +340 -0
  56. package/dist/host/src/drivers/codex/mcp-apps.js.map +1 -0
  57. package/dist/host/src/drivers/codex/settings.d.ts +13 -0
  58. package/dist/host/src/drivers/codex/settings.js +22 -6
  59. package/dist/host/src/drivers/codex/settings.js.map +1 -1
  60. package/dist/host/src/drivers/types.d.ts +82 -1
  61. package/dist/host/src/host.js +2 -1
  62. package/dist/host/src/host.js.map +1 -1
  63. package/dist/host/src/hub.d.ts +48 -1
  64. package/dist/host/src/hub.js +235 -13
  65. package/dist/host/src/hub.js.map +1 -1
  66. package/dist/host/src/rpc/mcp.d.ts +8 -0
  67. package/dist/host/src/rpc/mcp.js +33 -0
  68. package/dist/host/src/rpc/mcp.js.map +1 -0
  69. package/dist/host/src/rpc/server.js +27 -3
  70. package/dist/host/src/rpc/server.js.map +1 -1
  71. package/dist/host/src/side.d.ts +28 -0
  72. package/dist/host/src/side.js +142 -0
  73. package/dist/host/src/side.js.map +1 -0
  74. package/dist/host/src/store.d.ts +7 -0
  75. package/dist/host/src/store.js +27 -3
  76. package/dist/host/src/store.js.map +1 -1
  77. package/dist/host/src/terminals.d.ts +6 -0
  78. package/dist/host/src/terminals.js +29 -2
  79. package/dist/host/src/terminals.js.map +1 -1
  80. package/dist/host/src/usage.d.ts +5 -0
  81. package/dist/host/src/usage.js +10 -2
  82. package/dist/host/src/usage.js.map +1 -1
  83. package/dist/wire/src/envelopes.d.ts +53 -0
  84. package/dist/wire/src/envelopes.js +251 -0
  85. package/dist/wire/src/envelopes.js.map +1 -0
  86. package/dist/wire/src/index.d.ts +3 -0
  87. package/dist/wire/src/index.js +3 -0
  88. package/dist/wire/src/index.js.map +1 -1
  89. package/dist/wire/src/model.d.ts +54 -0
  90. package/dist/wire/src/model.js +28 -0
  91. package/dist/wire/src/model.js.map +1 -1
  92. package/dist/wire/src/rpc-mcp.d.ts +199 -0
  93. package/dist/wire/src/rpc-mcp.js +78 -0
  94. package/dist/wire/src/rpc-mcp.js.map +1 -0
  95. package/dist/wire/src/rpc.d.ts +823 -6
  96. package/dist/wire/src/rpc.js +64 -1
  97. package/dist/wire/src/rpc.js.map +1 -1
  98. package/dist/wire/src/side.d.ts +83 -0
  99. package/dist/wire/src/side.js +26 -0
  100. package/dist/wire/src/side.js.map +1 -0
  101. package/dist/wire/src/updates.d.ts +211 -0
  102. package/dist/wire/src/updates.js +14 -1
  103. package/dist/wire/src/updates.js.map +1 -1
  104. package/package.json +4 -4
  105. package/src/commands/desktop-workspace.ts +69 -11
  106. package/src/commands/desktop.ts +71 -1
  107. package/src/commands/login-error.ts +12 -0
  108. package/src/commands/login.ts +13 -62
  109. package/src/commands/sign-in.ts +408 -0
  110. package/src/index.ts +2 -1
@@ -16,18 +16,49 @@ export type ToolCallLocation = z.infer<typeof toolCallLocationSchema>;
16
16
  * Host drivers fill it from each agent's own tool names; clients render it the
17
17
  * same way for every agent and fall back to `title` + `kind` without it.
18
18
  */
19
+ export declare const mcpAppDisplayModeSchema: z.ZodEnum<["inline", "fullscreen"]>;
19
20
  export declare const toolDetailSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
20
21
  type: z.ZodLiteral<"mcp">;
21
22
  server: z.ZodString;
22
23
  tool: z.ZodString;
24
+ /**
25
+ * The tool has a page of its own (an MCP App), which `mcp.resource` reads.
26
+ * Codex sessions only. It may arrive in a later `tool_call_update` than the
27
+ * call's card, when the host had to look the tool up first. `connector`:
28
+ * the Codex connector (server `codex_apps`) the page belongs to, which
29
+ * `mcp.call` needs for that server.
30
+ */
31
+ app: z.ZodOptional<z.ZodObject<{
32
+ resourceUri: z.ZodString;
33
+ displayMode: z.ZodOptional<z.ZodEnum<["inline", "fullscreen"]>>;
34
+ connector: z.ZodOptional<z.ZodString>;
35
+ }, "strip", z.ZodTypeAny, {
36
+ resourceUri: string;
37
+ displayMode?: "inline" | "fullscreen" | undefined;
38
+ connector?: string | undefined;
39
+ }, {
40
+ resourceUri: string;
41
+ displayMode?: "inline" | "fullscreen" | undefined;
42
+ connector?: string | undefined;
43
+ }>>;
23
44
  }, "strip", z.ZodTypeAny, {
24
45
  type: "mcp";
25
46
  server: string;
26
47
  tool: string;
48
+ app?: {
49
+ resourceUri: string;
50
+ displayMode?: "inline" | "fullscreen" | undefined;
51
+ connector?: string | undefined;
52
+ } | undefined;
27
53
  }, {
28
54
  type: "mcp";
29
55
  server: string;
30
56
  tool: string;
57
+ app?: {
58
+ resourceUri: string;
59
+ displayMode?: "inline" | "fullscreen" | undefined;
60
+ connector?: string | undefined;
61
+ } | undefined;
31
62
  }>, z.ZodObject<{
32
63
  type: z.ZodLiteral<"subagent">;
33
64
  /** spawn starts a sub-agent (its work nests under this call); the rest talk to one. */
@@ -1138,14 +1169,44 @@ export declare const sessionUpdateSchema: z.ZodDiscriminatedUnion<"sessionUpdate
1138
1169
  type: z.ZodLiteral<"mcp">;
1139
1170
  server: z.ZodString;
1140
1171
  tool: z.ZodString;
1172
+ /**
1173
+ * The tool has a page of its own (an MCP App), which `mcp.resource` reads.
1174
+ * Codex sessions only. It may arrive in a later `tool_call_update` than the
1175
+ * call's card, when the host had to look the tool up first. `connector`:
1176
+ * the Codex connector (server `codex_apps`) the page belongs to, which
1177
+ * `mcp.call` needs for that server.
1178
+ */
1179
+ app: z.ZodOptional<z.ZodObject<{
1180
+ resourceUri: z.ZodString;
1181
+ displayMode: z.ZodOptional<z.ZodEnum<["inline", "fullscreen"]>>;
1182
+ connector: z.ZodOptional<z.ZodString>;
1183
+ }, "strip", z.ZodTypeAny, {
1184
+ resourceUri: string;
1185
+ displayMode?: "inline" | "fullscreen" | undefined;
1186
+ connector?: string | undefined;
1187
+ }, {
1188
+ resourceUri: string;
1189
+ displayMode?: "inline" | "fullscreen" | undefined;
1190
+ connector?: string | undefined;
1191
+ }>>;
1141
1192
  }, "strip", z.ZodTypeAny, {
1142
1193
  type: "mcp";
1143
1194
  server: string;
1144
1195
  tool: string;
1196
+ app?: {
1197
+ resourceUri: string;
1198
+ displayMode?: "inline" | "fullscreen" | undefined;
1199
+ connector?: string | undefined;
1200
+ } | undefined;
1145
1201
  }, {
1146
1202
  type: "mcp";
1147
1203
  server: string;
1148
1204
  tool: string;
1205
+ app?: {
1206
+ resourceUri: string;
1207
+ displayMode?: "inline" | "fullscreen" | undefined;
1208
+ connector?: string | undefined;
1209
+ } | undefined;
1149
1210
  }>, z.ZodObject<{
1150
1211
  type: z.ZodLiteral<"subagent">;
1151
1212
  /** spawn starts a sub-agent (its work nests under this call); the rest talk to one. */
@@ -1519,6 +1580,11 @@ export declare const sessionUpdateSchema: z.ZodDiscriminatedUnion<"sessionUpdate
1519
1580
  type: "mcp";
1520
1581
  server: string;
1521
1582
  tool: string;
1583
+ app?: {
1584
+ resourceUri: string;
1585
+ displayMode?: "inline" | "fullscreen" | undefined;
1586
+ connector?: string | undefined;
1587
+ } | undefined;
1522
1588
  } | {
1523
1589
  type: "subagent";
1524
1590
  action: "message" | "resume" | "spawn" | "wait" | "stop" | "list";
@@ -1615,6 +1681,11 @@ export declare const sessionUpdateSchema: z.ZodDiscriminatedUnion<"sessionUpdate
1615
1681
  type: "mcp";
1616
1682
  server: string;
1617
1683
  tool: string;
1684
+ app?: {
1685
+ resourceUri: string;
1686
+ displayMode?: "inline" | "fullscreen" | undefined;
1687
+ connector?: string | undefined;
1688
+ } | undefined;
1618
1689
  } | {
1619
1690
  type: "subagent";
1620
1691
  action?: "message" | "resume" | "spawn" | "wait" | "stop" | "list" | undefined;
@@ -1698,14 +1769,44 @@ export declare const sessionUpdateSchema: z.ZodDiscriminatedUnion<"sessionUpdate
1698
1769
  type: z.ZodLiteral<"mcp">;
1699
1770
  server: z.ZodString;
1700
1771
  tool: z.ZodString;
1772
+ /**
1773
+ * The tool has a page of its own (an MCP App), which `mcp.resource` reads.
1774
+ * Codex sessions only. It may arrive in a later `tool_call_update` than the
1775
+ * call's card, when the host had to look the tool up first. `connector`:
1776
+ * the Codex connector (server `codex_apps`) the page belongs to, which
1777
+ * `mcp.call` needs for that server.
1778
+ */
1779
+ app: z.ZodOptional<z.ZodObject<{
1780
+ resourceUri: z.ZodString;
1781
+ displayMode: z.ZodOptional<z.ZodEnum<["inline", "fullscreen"]>>;
1782
+ connector: z.ZodOptional<z.ZodString>;
1783
+ }, "strip", z.ZodTypeAny, {
1784
+ resourceUri: string;
1785
+ displayMode?: "inline" | "fullscreen" | undefined;
1786
+ connector?: string | undefined;
1787
+ }, {
1788
+ resourceUri: string;
1789
+ displayMode?: "inline" | "fullscreen" | undefined;
1790
+ connector?: string | undefined;
1791
+ }>>;
1701
1792
  }, "strip", z.ZodTypeAny, {
1702
1793
  type: "mcp";
1703
1794
  server: string;
1704
1795
  tool: string;
1796
+ app?: {
1797
+ resourceUri: string;
1798
+ displayMode?: "inline" | "fullscreen" | undefined;
1799
+ connector?: string | undefined;
1800
+ } | undefined;
1705
1801
  }, {
1706
1802
  type: "mcp";
1707
1803
  server: string;
1708
1804
  tool: string;
1805
+ app?: {
1806
+ resourceUri: string;
1807
+ displayMode?: "inline" | "fullscreen" | undefined;
1808
+ connector?: string | undefined;
1809
+ } | undefined;
1709
1810
  }>, z.ZodObject<{
1710
1811
  type: z.ZodLiteral<"subagent">;
1711
1812
  /** spawn starts a sub-agent (its work nests under this call); the rest talk to one. */
@@ -2262,6 +2363,11 @@ export declare const sessionUpdateSchema: z.ZodDiscriminatedUnion<"sessionUpdate
2262
2363
  type: "mcp";
2263
2364
  server: string;
2264
2365
  tool: string;
2366
+ app?: {
2367
+ resourceUri: string;
2368
+ displayMode?: "inline" | "fullscreen" | undefined;
2369
+ connector?: string | undefined;
2370
+ } | undefined;
2265
2371
  } | {
2266
2372
  type: "subagent";
2267
2373
  action: "message" | "resume" | "spawn" | "wait" | "stop" | "list";
@@ -2361,6 +2467,11 @@ export declare const sessionUpdateSchema: z.ZodDiscriminatedUnion<"sessionUpdate
2361
2467
  type: "mcp";
2362
2468
  server: string;
2363
2469
  tool: string;
2470
+ app?: {
2471
+ resourceUri: string;
2472
+ displayMode?: "inline" | "fullscreen" | undefined;
2473
+ connector?: string | undefined;
2474
+ } | undefined;
2364
2475
  } | {
2365
2476
  type: "subagent";
2366
2477
  action?: "message" | "resume" | "spawn" | "wait" | "stop" | "list" | undefined;
@@ -4445,14 +4556,44 @@ export declare const sessionEventSchema: z.ZodObject<{
4445
4556
  type: z.ZodLiteral<"mcp">;
4446
4557
  server: z.ZodString;
4447
4558
  tool: z.ZodString;
4559
+ /**
4560
+ * The tool has a page of its own (an MCP App), which `mcp.resource` reads.
4561
+ * Codex sessions only. It may arrive in a later `tool_call_update` than the
4562
+ * call's card, when the host had to look the tool up first. `connector`:
4563
+ * the Codex connector (server `codex_apps`) the page belongs to, which
4564
+ * `mcp.call` needs for that server.
4565
+ */
4566
+ app: z.ZodOptional<z.ZodObject<{
4567
+ resourceUri: z.ZodString;
4568
+ displayMode: z.ZodOptional<z.ZodEnum<["inline", "fullscreen"]>>;
4569
+ connector: z.ZodOptional<z.ZodString>;
4570
+ }, "strip", z.ZodTypeAny, {
4571
+ resourceUri: string;
4572
+ displayMode?: "inline" | "fullscreen" | undefined;
4573
+ connector?: string | undefined;
4574
+ }, {
4575
+ resourceUri: string;
4576
+ displayMode?: "inline" | "fullscreen" | undefined;
4577
+ connector?: string | undefined;
4578
+ }>>;
4448
4579
  }, "strip", z.ZodTypeAny, {
4449
4580
  type: "mcp";
4450
4581
  server: string;
4451
4582
  tool: string;
4583
+ app?: {
4584
+ resourceUri: string;
4585
+ displayMode?: "inline" | "fullscreen" | undefined;
4586
+ connector?: string | undefined;
4587
+ } | undefined;
4452
4588
  }, {
4453
4589
  type: "mcp";
4454
4590
  server: string;
4455
4591
  tool: string;
4592
+ app?: {
4593
+ resourceUri: string;
4594
+ displayMode?: "inline" | "fullscreen" | undefined;
4595
+ connector?: string | undefined;
4596
+ } | undefined;
4456
4597
  }>, z.ZodObject<{
4457
4598
  type: z.ZodLiteral<"subagent">;
4458
4599
  /** spawn starts a sub-agent (its work nests under this call); the rest talk to one. */
@@ -4826,6 +4967,11 @@ export declare const sessionEventSchema: z.ZodObject<{
4826
4967
  type: "mcp";
4827
4968
  server: string;
4828
4969
  tool: string;
4970
+ app?: {
4971
+ resourceUri: string;
4972
+ displayMode?: "inline" | "fullscreen" | undefined;
4973
+ connector?: string | undefined;
4974
+ } | undefined;
4829
4975
  } | {
4830
4976
  type: "subagent";
4831
4977
  action: "message" | "resume" | "spawn" | "wait" | "stop" | "list";
@@ -4922,6 +5068,11 @@ export declare const sessionEventSchema: z.ZodObject<{
4922
5068
  type: "mcp";
4923
5069
  server: string;
4924
5070
  tool: string;
5071
+ app?: {
5072
+ resourceUri: string;
5073
+ displayMode?: "inline" | "fullscreen" | undefined;
5074
+ connector?: string | undefined;
5075
+ } | undefined;
4925
5076
  } | {
4926
5077
  type: "subagent";
4927
5078
  action?: "message" | "resume" | "spawn" | "wait" | "stop" | "list" | undefined;
@@ -5005,14 +5156,44 @@ export declare const sessionEventSchema: z.ZodObject<{
5005
5156
  type: z.ZodLiteral<"mcp">;
5006
5157
  server: z.ZodString;
5007
5158
  tool: z.ZodString;
5159
+ /**
5160
+ * The tool has a page of its own (an MCP App), which `mcp.resource` reads.
5161
+ * Codex sessions only. It may arrive in a later `tool_call_update` than the
5162
+ * call's card, when the host had to look the tool up first. `connector`:
5163
+ * the Codex connector (server `codex_apps`) the page belongs to, which
5164
+ * `mcp.call` needs for that server.
5165
+ */
5166
+ app: z.ZodOptional<z.ZodObject<{
5167
+ resourceUri: z.ZodString;
5168
+ displayMode: z.ZodOptional<z.ZodEnum<["inline", "fullscreen"]>>;
5169
+ connector: z.ZodOptional<z.ZodString>;
5170
+ }, "strip", z.ZodTypeAny, {
5171
+ resourceUri: string;
5172
+ displayMode?: "inline" | "fullscreen" | undefined;
5173
+ connector?: string | undefined;
5174
+ }, {
5175
+ resourceUri: string;
5176
+ displayMode?: "inline" | "fullscreen" | undefined;
5177
+ connector?: string | undefined;
5178
+ }>>;
5008
5179
  }, "strip", z.ZodTypeAny, {
5009
5180
  type: "mcp";
5010
5181
  server: string;
5011
5182
  tool: string;
5183
+ app?: {
5184
+ resourceUri: string;
5185
+ displayMode?: "inline" | "fullscreen" | undefined;
5186
+ connector?: string | undefined;
5187
+ } | undefined;
5012
5188
  }, {
5013
5189
  type: "mcp";
5014
5190
  server: string;
5015
5191
  tool: string;
5192
+ app?: {
5193
+ resourceUri: string;
5194
+ displayMode?: "inline" | "fullscreen" | undefined;
5195
+ connector?: string | undefined;
5196
+ } | undefined;
5016
5197
  }>, z.ZodObject<{
5017
5198
  type: z.ZodLiteral<"subagent">;
5018
5199
  /** spawn starts a sub-agent (its work nests under this call); the rest talk to one. */
@@ -5569,6 +5750,11 @@ export declare const sessionEventSchema: z.ZodObject<{
5569
5750
  type: "mcp";
5570
5751
  server: string;
5571
5752
  tool: string;
5753
+ app?: {
5754
+ resourceUri: string;
5755
+ displayMode?: "inline" | "fullscreen" | undefined;
5756
+ connector?: string | undefined;
5757
+ } | undefined;
5572
5758
  } | {
5573
5759
  type: "subagent";
5574
5760
  action: "message" | "resume" | "spawn" | "wait" | "stop" | "list";
@@ -5668,6 +5854,11 @@ export declare const sessionEventSchema: z.ZodObject<{
5668
5854
  type: "mcp";
5669
5855
  server: string;
5670
5856
  tool: string;
5857
+ app?: {
5858
+ resourceUri: string;
5859
+ displayMode?: "inline" | "fullscreen" | undefined;
5860
+ connector?: string | undefined;
5861
+ } | undefined;
5671
5862
  } | {
5672
5863
  type: "subagent";
5673
5864
  action?: "message" | "resume" | "spawn" | "wait" | "stop" | "list" | undefined;
@@ -7334,6 +7525,11 @@ export declare const sessionEventSchema: z.ZodObject<{
7334
7525
  type: "mcp";
7335
7526
  server: string;
7336
7527
  tool: string;
7528
+ app?: {
7529
+ resourceUri: string;
7530
+ displayMode?: "inline" | "fullscreen" | undefined;
7531
+ connector?: string | undefined;
7532
+ } | undefined;
7337
7533
  } | {
7338
7534
  type: "subagent";
7339
7535
  action: "message" | "resume" | "spawn" | "wait" | "stop" | "list";
@@ -7492,6 +7688,11 @@ export declare const sessionEventSchema: z.ZodObject<{
7492
7688
  type: "mcp";
7493
7689
  server: string;
7494
7690
  tool: string;
7691
+ app?: {
7692
+ resourceUri: string;
7693
+ displayMode?: "inline" | "fullscreen" | undefined;
7694
+ connector?: string | undefined;
7695
+ } | undefined;
7495
7696
  } | {
7496
7697
  type: "subagent";
7497
7698
  action: "message" | "resume" | "spawn" | "wait" | "stop" | "list";
@@ -7893,6 +8094,11 @@ export declare const sessionEventSchema: z.ZodObject<{
7893
8094
  type: "mcp";
7894
8095
  server: string;
7895
8096
  tool: string;
8097
+ app?: {
8098
+ resourceUri: string;
8099
+ displayMode?: "inline" | "fullscreen" | undefined;
8100
+ connector?: string | undefined;
8101
+ } | undefined;
7896
8102
  } | {
7897
8103
  type: "subagent";
7898
8104
  action?: "message" | "resume" | "spawn" | "wait" | "stop" | "list" | undefined;
@@ -7989,6 +8195,11 @@ export declare const sessionEventSchema: z.ZodObject<{
7989
8195
  type: "mcp";
7990
8196
  server: string;
7991
8197
  tool: string;
8198
+ app?: {
8199
+ resourceUri: string;
8200
+ displayMode?: "inline" | "fullscreen" | undefined;
8201
+ connector?: string | undefined;
8202
+ } | undefined;
7992
8203
  } | {
7993
8204
  type: "subagent";
7994
8205
  action?: "message" | "resume" | "spawn" | "wait" | "stop" | "list" | undefined;
@@ -17,8 +17,21 @@ export const toolCallLocationSchema = z.object({
17
17
  * Host drivers fill it from each agent's own tool names; clients render it the
18
18
  * same way for every agent and fall back to `title` + `kind` without it.
19
19
  */
20
+ export const mcpAppDisplayModeSchema = z.enum(["inline", "fullscreen"]);
20
21
  export const toolDetailSchema = z.discriminatedUnion("type", [
21
- z.object({ type: z.literal("mcp"), server: z.string(), tool: z.string() }),
22
+ z.object({
23
+ type: z.literal("mcp"),
24
+ server: z.string(),
25
+ tool: z.string(),
26
+ /**
27
+ * The tool has a page of its own (an MCP App), which `mcp.resource` reads.
28
+ * Codex sessions only. It may arrive in a later `tool_call_update` than the
29
+ * call's card, when the host had to look the tool up first. `connector`:
30
+ * the Codex connector (server `codex_apps`) the page belongs to, which
31
+ * `mcp.call` needs for that server.
32
+ */
33
+ app: z.object({ resourceUri: z.string(), displayMode: mcpAppDisplayModeSchema.optional(), connector: z.string().optional() }).optional(),
34
+ }),
22
35
  z.object({
23
36
  type: z.literal("subagent"),
24
37
  /** spawn starts a sub-agent (its work nests under this call); the rest talk to one. */
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linkshell-cli",
3
- "version": "0.10.73",
3
+ "version": "0.10.75",
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",
@@ -34,9 +34,9 @@
34
34
  "node-pty": "^1.1.0",
35
35
  "qrcode-terminal": "^0.12.0",
36
36
  "ws": "^8.21.0",
37
- "@linkshell/host": "0.4.68",
38
- "@linkshell/wire": "0.2.20",
39
- "@linkshell/gateway": "0.6.38"
37
+ "@linkshell/gateway": "0.6.40",
38
+ "@linkshell/host": "0.4.70",
39
+ "@linkshell/wire": "0.2.22"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/ws": "^8.5.14",
@@ -9,7 +9,9 @@ import WebSocket, { WebSocketServer } from "ws";
9
9
  import { localWebSocket } from "@linkshell/host/local-transport";
10
10
  import { isMethodName, machineInfoSchema, rpcMessageSchema, type MachineEntry } from "@linkshell/wire";
11
11
  import { getValidToken, loadAuth } from "../auth.js";
12
- import { runLogin } from "./login.js";
12
+ import { runLogin, type LoginResult } from "./login.js";
13
+ import { loginWithOAuth, loginWithPassword, openInBrowser } from "./sign-in.js";
14
+ import { LoginError } from "./login-error.js";
13
15
  import { runLogout } from "./logout.js";
14
16
  import { followAccountGateway, refreshGateway, silenceSqliteWarning } from "./host.js";
15
17
  import { DesktopClientState, validStorageKey } from "./desktop-workspace-state.js";
@@ -68,6 +70,38 @@ async function body(request: IncomingMessage): Promise<Record<string, unknown>>
68
70
  throw new HttpError(400, "无效的 JSON 请求");
69
71
  }
70
72
 
73
+ /** POST bodies that may be empty: an empty body is `{}` (what older pages send). */
74
+ async function optionalBody(request: IncomingMessage): Promise<Record<string, unknown>> {
75
+ if (request.headers["content-type"] === undefined && !Number(request.headers["content-length"] ?? 0) && !request.headers["transfer-encoding"]) {
76
+ request.resume();
77
+ return {};
78
+ }
79
+ return body(request);
80
+ }
81
+
82
+ type LoginMethod = "web" | "password" | "github" | "google";
83
+ const LOGIN_METHODS: readonly LoginMethod[] = ["web", "password", "github", "google"];
84
+
85
+ interface LoginRequest { method: LoginMethod; email?: string; password?: string }
86
+
87
+ function loginRequest(input: Record<string, unknown>): LoginRequest {
88
+ const method = input.method ?? "web";
89
+ if (typeof method !== "string" || !LOGIN_METHODS.includes(method as LoginMethod)) throw new HttpError(400, "不支持的登录方式");
90
+ if (method !== "password") return { method: method as LoginMethod };
91
+ const { email, password } = input;
92
+ if (typeof email !== "string" || typeof password !== "string" || !email.trim() || !password) throw new HttpError(400, "请输入邮箱和密码。");
93
+ if (email.length > 320 || password.length > 1024) throw new HttpError(400, "登录信息过长,请检查邮箱和密码");
94
+ return { method: "password", email, password };
95
+ }
96
+
97
+ interface PendingLogin {
98
+ method: LoginMethod;
99
+ abort: AbortController;
100
+ result: Promise<LoginResult | null>;
101
+ /** The provider's authorize URL, once the loopback is listening (GitHub / Google only). */
102
+ url?: string;
103
+ }
104
+
71
105
  async function loadAssets(directory: string): Promise<Map<string, Buffer>> {
72
106
  if (!isAbsolute(directory)) throw new Error("桌面工作台资源目录必须使用绝对路径");
73
107
  const assets = new Map<string, Buffer>();
@@ -219,8 +253,20 @@ export async function startDesktopWorkspace(options: { assets: string; home?: st
219
253
  let workspaceHost = "";
220
254
  let previewOrigin = "";
221
255
  let previewHost = "";
222
- let login: Promise<Awaited<ReturnType<typeof runLogin>>> | undefined;
223
- let loginAbort: AbortController | undefined;
256
+ let login: PendingLogin | undefined;
257
+ const startLogin = (request: LoginRequest): PendingLogin => {
258
+ // One sign-in at a time: choosing another way ends the one still waiting on the browser.
259
+ login?.abort.abort();
260
+ const abort = new AbortController();
261
+ const pending: PendingLogin = { method: request.method, abort, result: Promise.resolve(null) };
262
+ const signal = abort.signal;
263
+ pending.result = (request.method === "web" ? runLogin({ signal })
264
+ : request.method === "password" ? loginWithPassword({ email: request.email!, password: request.password!, signal })
265
+ : loginWithOAuth({ provider: request.method, signal, open: (url) => { pending.url = url; openInBrowser(url); } }))
266
+ .finally(() => { if (login === pending) login = undefined; });
267
+ login = pending;
268
+ return pending;
269
+ };
224
270
  let stopping: Promise<void> | undefined;
225
271
  const peers = new WebSocketServer({ noServer: true, perMessageDeflate: false, maxPayload: MAX_PROXY_BYTES });
226
272
  const upstreams = new Set<WebSocket>();
@@ -261,18 +307,30 @@ export async function startDesktopWorkspace(options: { assets: string; home?: st
261
307
  json(response, 200, { ok: true }); return;
262
308
  }
263
309
  if (request.method === "POST" && path === "/desktop/login") {
264
- if (!login) {
265
- loginAbort = new AbortController();
266
- login = runLogin({ signal: loginAbort.signal }).finally(() => { login = undefined; loginAbort = undefined; });
310
+ const wanted = loginRequest(await optionalBody(request));
311
+ // A page that reloaded while the browser was open rejoins the same sign-in.
312
+ const pending = login && login.method === wanted.method && wanted.method !== "password" ? login : startLogin(wanted);
313
+ let result: LoginResult | null;
314
+ try { result = await pending.result; }
315
+ catch (error) {
316
+ // Only our own messages reach the page; anything else may name paths or tokens.
317
+ throw new HttpError(409, error instanceof LoginError ? error.message : "登录未完成,请重试");
267
318
  }
268
- const result = await login;
269
- if (!result?.success) throw new HttpError(409, "登录未完成,请重试");
319
+ if (!result?.success) throw new HttpError(409, pending.abort.signal.aborted ? "已取消登录。" : "登录未完成,请重试");
270
320
  await accountChanged(result.plan);
271
321
  json(response, 200, await account(accountAbort.signal)); return;
272
322
  }
323
+ if (request.method === "GET" && path === "/desktop/login") {
324
+ json(response, 200, { pending: login ? { method: login.method, ...(login.url ? { url: login.url } : {}) } : null }); return;
325
+ }
326
+ if (request.method === "DELETE" && path === "/desktop/login") {
327
+ login?.abort.abort();
328
+ json(response, 200, {}); return;
329
+ }
273
330
  if (request.method === "POST" && path === "/desktop/logout") {
274
- loginAbort?.abort();
275
- await login;
331
+ const pending = login;
332
+ pending?.abort.abort();
333
+ await pending?.result.catch(() => undefined);
276
334
  await runLogout();
277
335
  await accountChanged();
278
336
  json(response, 200, {}); return;
@@ -328,7 +386,7 @@ export async function startDesktopWorkspace(options: { assets: string; home?: st
328
386
  stop() {
329
387
  return stopping ??= (async () => {
330
388
  accountAbort.abort();
331
- loginAbort?.abort();
389
+ login?.abort.abort();
332
390
  for (const client of peers.clients) client.terminate();
333
391
  for (const upstream of upstreams) upstream.terminate();
334
392
  for (const socket of sockets) socket.destroy();