@trusty-squire/mcp 0.5.9 → 0.6.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.
Files changed (40) hide show
  1. package/README.md +128 -68
  2. package/dist/api-client.d.ts +1 -0
  3. package/dist/api-client.d.ts.map +1 -1
  4. package/dist/api-client.js +27 -0
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/bot/agent.d.ts +8 -0
  7. package/dist/bot/agent.d.ts.map +1 -1
  8. package/dist/bot/agent.js +492 -57
  9. package/dist/bot/agent.js.map +1 -1
  10. package/dist/bot/browser.d.ts +11 -1
  11. package/dist/bot/browser.d.ts.map +1 -1
  12. package/dist/bot/browser.js +365 -20
  13. package/dist/bot/browser.js.map +1 -1
  14. package/dist/bot/debug.d.ts.map +1 -1
  15. package/dist/bot/debug.js +19 -8
  16. package/dist/bot/debug.js.map +1 -1
  17. package/dist/bot/google-login.d.ts +4 -0
  18. package/dist/bot/google-login.d.ts.map +1 -1
  19. package/dist/bot/google-login.js +86 -7
  20. package/dist/bot/google-login.js.map +1 -1
  21. package/dist/bot/index.d.ts +3 -0
  22. package/dist/bot/index.d.ts.map +1 -1
  23. package/dist/bot/index.js +3 -0
  24. package/dist/bot/index.js.map +1 -1
  25. package/dist/bot/xvfb.d.ts +10 -0
  26. package/dist/bot/xvfb.d.ts.map +1 -0
  27. package/dist/bot/xvfb.js +75 -0
  28. package/dist/bot/xvfb.js.map +1 -0
  29. package/dist/install/agents.d.ts.map +1 -1
  30. package/dist/install/agents.js +37 -4
  31. package/dist/install/agents.js.map +1 -1
  32. package/dist/install/cli.d.ts +1 -0
  33. package/dist/install/cli.d.ts.map +1 -1
  34. package/dist/install/cli.js +148 -33
  35. package/dist/install/cli.js.map +1 -1
  36. package/dist/tools/provision-any.d.ts +23 -0
  37. package/dist/tools/provision-any.d.ts.map +1 -1
  38. package/dist/tools/provision-any.js +135 -9
  39. package/dist/tools/provision-any.js.map +1 -1
  40. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ export interface XvfbRig {
2
+ display: string;
3
+ stop: () => void;
4
+ }
5
+ export declare function xvfbAvailable(): boolean;
6
+ export declare function startXvfb(opts?: {
7
+ width?: number;
8
+ height?: number;
9
+ }): Promise<XvfbRig>;
10
+ //# sourceMappingURL=xvfb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xvfb.d.ts","sourceRoot":"","sources":["../../src/bot/xvfb.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAqBD,wBAAsB,SAAS,CAAC,IAAI,CAAC,EAAE;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,OAAO,CAAC,CA2CnB"}
@@ -0,0 +1,75 @@
1
+ // xvfb.ts — spawn a minimal Xvfb instance so the universal signup bot
2
+ // can run Chrome with `headless: false` on a headless host. Modern
3
+ // SaaS signups (Cloudflare/Stytch, Clerk, Auth0) detect Chromium's
4
+ // true-headless mode via JS fingerprints (missing window.chrome, the
5
+ // `Headless` UA token, the way headless renders fonts/canvas) and gate
6
+ // their forms behind the check. Running against Xvfb gives Chrome a
7
+ // real display surface to draw to, defeating the gate. The user never
8
+ // sees the display — it exists only so Chrome can render.
9
+ //
10
+ // Distinct from runHeadlessChrome in google-login.ts: that one also
11
+ // runs x11vnc + websockify + cloudflared so the user can watch Chrome
12
+ // remotely (needed for login). Signups don't need a viewer — just a
13
+ // display. So this helper is intentionally minimal.
14
+ import { spawn } from "node:child_process";
15
+ import { existsSync } from "node:fs";
16
+ import { join } from "node:path";
17
+ export function xvfbAvailable() {
18
+ return binaryOnPath("Xvfb");
19
+ }
20
+ // First :N (200..220) whose X socket is free. The login flow uses
21
+ // :99..:120 — we sit above that to reduce the chance of collision if
22
+ // a login and a signup happen to overlap on the same box.
23
+ function pickFreeDisplay() {
24
+ for (let n = 200; n <= 220; n++) {
25
+ if (!existsSync(`/tmp/.X11-unix/X${n}`))
26
+ return `:${n}`;
27
+ }
28
+ throw new Error("no free X display number in :200..:220");
29
+ }
30
+ function binaryOnPath(bin) {
31
+ const paths = (process.env.PATH ?? "").split(":");
32
+ return paths.some((p) => p.length > 0 && existsSync(join(p, bin)));
33
+ }
34
+ // Start a minimal Xvfb instance at 1280x720x24. Resolves when the
35
+ // display socket appears (Xvfb prints nothing useful on stdout, so we
36
+ // poll for /tmp/.X11-unix/X<n>). Rejects after 5s if the socket
37
+ // doesn't appear — usually means Xvfb crashed (missing fonts etc.).
38
+ export async function startXvfb(opts) {
39
+ const width = opts?.width ?? 1280;
40
+ const height = opts?.height ?? 720;
41
+ const display = pickFreeDisplay();
42
+ const displayNum = display.slice(1);
43
+ const proc = spawn("Xvfb", [display, "-screen", "0", `${width}x${height}x24`, "-ac"], { stdio: ["ignore", "pipe", "pipe"] });
44
+ proc.unref();
45
+ // Poll for the X socket to appear — Xvfb is "ready" once it's
46
+ // listening on /tmp/.X11-unix/X<n>. Max 5s.
47
+ const socketPath = `/tmp/.X11-unix/X${displayNum}`;
48
+ const deadline = Date.now() + 5000;
49
+ while (Date.now() < deadline) {
50
+ if (existsSync(socketPath)) {
51
+ return {
52
+ display,
53
+ stop: () => {
54
+ try {
55
+ proc.kill("SIGTERM");
56
+ }
57
+ catch {
58
+ // already dead
59
+ }
60
+ },
61
+ };
62
+ }
63
+ await new Promise((r) => setTimeout(r, 100));
64
+ }
65
+ // Did not come up — kill the process and surface what went wrong.
66
+ try {
67
+ proc.kill("SIGTERM");
68
+ }
69
+ catch {
70
+ /* ignore */
71
+ }
72
+ throw new Error(`Xvfb at ${display} did not start within 5s (socket ${socketPath} never appeared) — ` +
73
+ `check that the xvfb package is installed and /tmp/.X11-unix is writable`);
74
+ }
75
+ //# sourceMappingURL=xvfb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xvfb.js","sourceRoot":"","sources":["../../src/bot/xvfb.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/install/agents.ts"],"names":[],"mappings":"AA2CA,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,QAAQ,GACR,OAAO,GACP,OAAO,GACP,OAAO,GACP,UAAU,CAAC;AAEf,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,MAAM,CAAC;IAI1B,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAG/B,WAAW,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAyND,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,eAAe,CAOvD,CAAC;AAEF,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAMxE"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/install/agents.ts"],"names":[],"mappings":"AA2CA,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,QAAQ,GACR,OAAO,GACP,OAAO,GACP,OAAO,GACP,UAAU,CAAC;AAEf,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,MAAM,CAAC;IAI1B,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAG/B,WAAW,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AA6PD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,eAAe,CAOvD,CAAC;AAEF,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAMxE"}
@@ -54,15 +54,38 @@ async function writeJson(filePath, data) {
54
54
  }
55
55
  // Merge a `squire` entry into the standard mcpServers map without
56
56
  // clobbering other entries the user has added.
57
+ // Read the env block off a previously-written server entry, if any.
58
+ // Used so a re-install that omits a flag (e.g. forgets --proxy-url=)
59
+ // preserves the prior value instead of clobbering it. The install CLI
60
+ // conditionally puts env keys into input.env when their flag is
61
+ // present — so the merge contract is: present-flag wins, absent-flag
62
+ // preserves prior. Env-key field names differ across agents ("env"
63
+ // vs "envs"); caller passes the right one.
64
+ function priorServerEnv(existing, field) {
65
+ if (existing === undefined || existing === null || typeof existing !== "object") {
66
+ return {};
67
+ }
68
+ const prior = existing[field];
69
+ if (prior === undefined || prior === null || typeof prior !== "object") {
70
+ return {};
71
+ }
72
+ const out = {};
73
+ for (const [k, v] of Object.entries(prior)) {
74
+ if (typeof v === "string")
75
+ out[k] = v;
76
+ }
77
+ return out;
78
+ }
57
79
  async function mergeMcpServersJson(filePath, input) {
58
80
  const existing = await readJsonIfExists(filePath);
59
81
  const servers = existing.mcpServers !== undefined && typeof existing.mcpServers === "object"
60
82
  ? existing.mcpServers
61
83
  : {};
84
+ const priorEnv = priorServerEnv(servers[SERVER_KEY], "env");
62
85
  servers[SERVER_KEY] = {
63
86
  command: input.command,
64
87
  args: input.args,
65
- env: input.env,
88
+ env: { ...priorEnv, ...input.env },
66
89
  };
67
90
  existing.mcpServers = servers;
68
91
  await writeJson(filePath, existing);
@@ -114,12 +137,16 @@ const goose = {
114
137
  const extensions = data.extensions !== undefined && typeof data.extensions === "object"
115
138
  ? data.extensions
116
139
  : {};
140
+ // Merge env on top of any previously-set vars rather than replacing
141
+ // wholesale. Same regression class as the JSON-mcp-servers path —
142
+ // see priorServerEnv() comment.
143
+ const priorEnvs = priorServerEnv(extensions[SERVER_KEY], "envs");
117
144
  extensions[SERVER_KEY] = {
118
145
  type: "stdio",
119
146
  name: SERVER_KEY,
120
147
  cmd: input.command,
121
148
  args: input.args,
122
- envs: input.env,
149
+ envs: { ...priorEnvs, ...input.env },
123
150
  // goose treats a missing `enabled` as not-loaded and surfaces the
124
151
  // extension by `name` — both are required for it to appear.
125
152
  enabled: true,
@@ -167,12 +194,16 @@ const continueAgent = {
167
194
  const mcpServers = data.mcpServers !== undefined && Array.isArray(data.mcpServers)
168
195
  ? data.mcpServers
169
196
  : [];
197
+ // Merge env from any prior entry — same env-clobber regression
198
+ // class as the JSON-mcp-servers path; see priorServerEnv().
199
+ const priorEntry = mcpServers.find((s) => s.name === SERVER_KEY);
200
+ const priorEnv = priorServerEnv(priorEntry, "env");
170
201
  const filtered = mcpServers.filter((s) => s.name !== SERVER_KEY);
171
202
  filtered.push({
172
203
  name: SERVER_KEY,
173
204
  command: input.command,
174
205
  args: input.args,
175
- env: input.env,
206
+ env: { ...priorEnv, ...input.env },
176
207
  });
177
208
  data.mcpServers = filtered;
178
209
  await fs.mkdir(path.dirname(filePath), { recursive: true });
@@ -207,10 +238,12 @@ const codex = {
207
238
  const servers = data.mcp_servers !== undefined && typeof data.mcp_servers === "object"
208
239
  ? data.mcp_servers
209
240
  : {};
241
+ // Merge env — see priorServerEnv() comment.
242
+ const priorEnv = priorServerEnv(servers[SERVER_KEY], "env");
210
243
  servers[SERVER_KEY] = {
211
244
  command: input.command,
212
245
  args: input.args,
213
- env: input.env,
246
+ env: { ...priorEnv, ...input.env },
214
247
  };
215
248
  data.mcp_servers = servers;
216
249
  await fs.mkdir(path.dirname(filePath), { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/install/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/install/agents.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ type Argv = {
8
8
  proxyUrl?: string;
9
9
  providerArg?: ProviderArg;
10
10
  skipBrowser: boolean;
11
+ forceRelogin: boolean;
11
12
  };
12
13
  declare function parseArgs(argv: string[]): Argv;
13
14
  declare function resolveServerLaunch(): {
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAW1D,KAAK,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvC,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAIhB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,WAAW,CAAC,EAAE,WAAW,CAAC;IAM1B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAuCvC;AAcD,iBAAS,mBAAmB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAMlE;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB1D;AAED,iBAAe,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FhD;AAqHD,iBAAe,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAIrC;AASD,iBAAe,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB9C;AAsBD,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iBAAe,YAAY,CACzB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,gBAAgB,GAAE,MAAM,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,EAC3E,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAoB7B;AAKD,iBAAS,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA4B3C;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAY1D,KAAK,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvC,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAIhB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,WAAW,CAAC,EAAE,WAAW,CAAC;IAM1B,WAAW,EAAE,OAAO,CAAC;IAKrB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA0CvC;AAgCD,iBAAS,mBAAmB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAuDlE;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB1D;AAED,iBAAe,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA4FhD;AA+KD,iBAAe,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAIrC;AASD,iBAAe,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB9C;AAsBD,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iBAAe,YAAY,CACzB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,gBAAgB,GAAE,MAAM,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,EAC3E,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAoB7B;AAKD,iBAAS,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA4B3C;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC"}
@@ -30,6 +30,9 @@
30
30
  // Pure module — `runCli()` is invoked by bin.ts. No shebang, no
31
31
  // entrypoint guard, no top-level execution.
32
32
  import process from "node:process";
33
+ import { cpSync } from "node:fs";
34
+ import { homedir } from "node:os";
35
+ import { dirname, join } from "node:path";
33
36
  import { createInterface } from "node:readline";
34
37
  import { fileURLToPath } from "node:url";
35
38
  import { installInitiate, installPoll, issueMachineToken } from "../api-client.js";
@@ -38,6 +41,7 @@ import { AGENTS, detectInstalledAgents } from "./agents.js";
38
41
  import { detectAsn } from "../bot/index.js";
39
42
  import { ensureOAuthSession, openInstallConfirmInBotChrome, } from "../bot/google-login.js";
40
43
  import {} from "../bot/oauth-providers.js";
44
+ import { loggedInProviders } from "../bot/login-state.js";
41
45
  import { VERSION } from "../version.js";
42
46
  import * as ui from "./ui.js";
43
47
  const DEFAULT_API_BASE = process.env.TRUSTY_SQUIRE_API_BASE ?? "https://trusty-squire-api.fly.dev";
@@ -49,6 +53,7 @@ function parseArgs(argv) {
49
53
  let proxyUrl;
50
54
  let providerArg;
51
55
  let skipBrowser = false;
56
+ let forceRelogin = false;
52
57
  for (const arg of argv) {
53
58
  if (arg.startsWith("--target=")) {
54
59
  const t = arg.slice("--target=".length);
@@ -77,8 +82,11 @@ function parseArgs(argv) {
77
82
  // scripted callers still work.
78
83
  skipBrowser = true;
79
84
  }
85
+ else if (arg === "--force-relogin") {
86
+ forceRelogin = true;
87
+ }
80
88
  }
81
- const args = { command, apiBase, skipBrowser };
89
+ const args = { command, apiBase, skipBrowser, forceRelogin };
82
90
  if (target !== undefined)
83
91
  args.target = target;
84
92
  if (proxyUrl !== undefined && proxyUrl.length > 0)
@@ -93,17 +101,77 @@ function isAgentTarget(s) {
93
101
  // accept-list out of sync.
94
102
  return s in AGENTS;
95
103
  }
96
- // The MCP-config command that launches the server. An absolute
97
- // `node <bin.js> server` is deterministic and offline — no npx package
98
- // resolution every time the host agent spawns the server. But when this
99
- // CLI is itself running from npx's throwaway cache, that path won't
100
- // survive a cache sweep, so fall back to a version-pinned npx call.
104
+ // The MCP-config command that launches the server. Three cases:
105
+ //
106
+ // 1. Non-ephemeral running from a checkout or a `node` invocation
107
+ // that points at a permanent path. Use the absolute bin.js path
108
+ // directly. Deterministic, offline, fast.
109
+ //
110
+ // 2. Ephemeral + stable version — the CLI was invoked via
111
+ // `npx @trusty-squire/mcp@X.Y.Z`, which copies the package into
112
+ // npx's throwaway cache. The cache CAN get swept, so we don't
113
+ // pin the cache path; instead we write `npx @trusty-squire/mcp@<version>`
114
+ // so the launch re-resolves against npm every time. Works as
115
+ // long as the version is on the public npm registry.
116
+ //
117
+ // 3. Ephemeral + prerelease version — the CLI was invoked via
118
+ // `npx <tarball-url>` (the GitHub-Release test pattern). The
119
+ // version isn't on npm, so case 2 would fail with `ETARGET`.
120
+ // We instead copy the package out of the ephemeral cache into
121
+ // `~/.trusty-squire/lib/mcp` and write a `node <stable>/dist/bin.js`
122
+ // launch. The stable copy survives npx-cache cleanup; if the user
123
+ // re-installs they overwrite it.
124
+ //
125
+ // Prerelease detection: semver prerelease versions carry a `-` (e.g.
126
+ // `0.6.0-rc.1`). Stable versions don't. Cheap, reliable.
101
127
  function resolveServerLaunch() {
102
128
  const binPath = fileURLToPath(new URL("../bin.js", import.meta.url));
103
129
  const ephemeral = /[/\\]_npx[/\\]/.test(binPath);
104
- return ephemeral
105
- ? { command: "npx", args: ["-y", `@trusty-squire/mcp@${VERSION}`, "server"] }
106
- : { command: process.execPath, args: [binPath, "server"] };
130
+ if (!ephemeral) {
131
+ return { command: process.execPath, args: [binPath, "server"] };
132
+ }
133
+ const isPrerelease = VERSION.includes("-");
134
+ if (!isPrerelease) {
135
+ return { command: "npx", args: ["-y", `@trusty-squire/mcp@${VERSION}`, "server"] };
136
+ }
137
+ // Prerelease from GitHub Releases — copy the package PLUS the
138
+ // ephemeral cache's entire `node_modules` to a stable location.
139
+ //
140
+ // We need both because the package imports @modelcontextprotocol/sdk,
141
+ // playwright, etc. at runtime. Node's resolver walks up the directory
142
+ // tree looking for `node_modules/<dep>`; if we copy only the package
143
+ // dir, the resolver finds nothing and fails ERR_MODULE_NOT_FOUND on
144
+ // the first import. Mirroring the cache's `node_modules` structure
145
+ // means the same walk-up resolution works from the stable location.
146
+ //
147
+ // npx cache layout we depend on:
148
+ // <cache>/
149
+ // node_modules/
150
+ // @trusty-squire/mcp/dist/bin.js ← binPath
151
+ // @modelcontextprotocol/sdk/... ← peer at the same level
152
+ // ... ← every other transitive dep
153
+ //
154
+ // We copy the whole `<cache>/node_modules` tree to
155
+ // `~/.trusty-squire/lib/node_modules`, then launch
156
+ // `node .../node_modules/@trusty-squire/mcp/dist/bin.js server`.
157
+ const stableLib = join(homedir(), ".trusty-squire", "lib");
158
+ const stableNodeModules = join(stableLib, "node_modules");
159
+ const pkgRoot = dirname(dirname(binPath)); // dist/bin.js → @trusty-squire/mcp/
160
+ const cacheNodeModules = dirname(dirname(pkgRoot)); // → node_modules/
161
+ const stableBin = join(stableNodeModules, "@trusty-squire", "mcp", "dist", "bin.js");
162
+ try {
163
+ cpSync(cacheNodeModules, stableNodeModules, { recursive: true, force: true });
164
+ }
165
+ catch (err) {
166
+ // If the copy fails (unlikely — write access to $HOME is the
167
+ // bar), fall back to the in-cache absolute path. Works until
168
+ // npx clears it, which is acceptable for a test build.
169
+ console.warn(`[trusty-squire] couldn't copy node_modules to ~/.trusty-squire/lib ` +
170
+ `(${err instanceof Error ? err.message : String(err)}); using cache path. ` +
171
+ `Re-run install if the MCP server stops working.`);
172
+ return { command: process.execPath, args: [binPath, "server"] };
173
+ }
174
+ return { command: process.execPath, args: [stableBin, "server"] };
107
175
  }
108
176
  export async function runCli(argv) {
109
177
  const args = parseArgs(argv);
@@ -130,6 +198,21 @@ async function install(args) {
130
198
  ui.heading("Setting up Trusty Squire on this machine");
131
199
  const target = await resolveTarget(args.target);
132
200
  const agent = AGENTS[target];
201
+ // Preflight: an existing install that's fully provisioned (machine
202
+ // token + agent session token + a bot Google session marker) doesn't
203
+ // need to redo the browser confirm. Just rewrite the MCP config in
204
+ // place so the host agent picks up the latest server entrypoint and
205
+ // env. Pass --force-relogin to bypass (e.g. to switch Google account).
206
+ if (!args.forceRelogin) {
207
+ const preflight = await checkAlreadyProvisioned();
208
+ if (preflight !== null) {
209
+ await writeAgentConfig(target, agent, args);
210
+ ui.success(`Already provisioned (machine + ${preflight.providers.join("/")} session) — ` +
211
+ `refreshed ${agent.display_name} MCP config without re-running the browser flow`);
212
+ ui.hint(`Pass ${ui.code("--force-relogin")} if you want to switch the bound account.`);
213
+ return;
214
+ }
215
+ }
133
216
  // Detect egress class so the asn rides along in the install payload
134
217
  // (API uses it to correlate captcha failures with network class).
135
218
  // Best-effort: a failure returns null and the install continues.
@@ -176,27 +259,7 @@ async function install(args) {
176
259
  const storage = await openSessionStorage();
177
260
  await storage.write(session);
178
261
  ui.success(`Session saved (${storage.backendName()})`);
179
- // Write the MCP config into the host agent. The tokens themselves
180
- // are NOT in the env — the MCP server reads them from session
181
- // storage (keychain / file), which keeps them out of any
182
- // child-process listing or shell history.
183
- const launch = resolveServerLaunch();
184
- const env = {
185
- TRUSTY_SQUIRE_AGENT_IDENTITY: target,
186
- UNIVERSAL_BOT_PREFER_CHEAP: "true",
187
- };
188
- if (args.proxyUrl !== undefined) {
189
- env.UNIVERSAL_BOT_PROXY_URL = args.proxyUrl;
190
- }
191
- await agent.writeConfig({
192
- command: launch.command,
193
- args: launch.args,
194
- env,
195
- });
196
- ui.success(`Wrote ${agent.display_name} MCP config at ${ui.code(agent.config_path())}`);
197
- if (args.proxyUrl !== undefined) {
198
- ui.hint(` Residential proxy baked in: ${args.proxyUrl}`);
199
- }
262
+ await writeAgentConfig(target, agent, args);
200
263
  if (args.skipBrowser) {
201
264
  ui.panel(`--skip-browser was set, so the bot's Chrome didn't observe your sign-in. ` +
202
265
  `Before your first OAuth-based signup, run:\n\n` +
@@ -222,6 +285,54 @@ async function install(args) {
222
285
  // claim. The bot's Chrome never starts, so the bot won't have a
223
286
  // provider session afterwards — the user must run `mcp login` before
224
287
  // their first OAuth signup. This path is for CI / scripted installs.
288
+ // True when the local session + bot profile already carry everything
289
+ // install would establish. Returns the list of provider sessions
290
+ // detected, or null when anything's missing. Best-effort: any read
291
+ // error returns null and the caller proceeds with the normal flow.
292
+ async function checkAlreadyProvisioned() {
293
+ try {
294
+ const storage = await openSessionStorage();
295
+ const session = await storage.read();
296
+ if (session === null ||
297
+ session.machine_token === undefined ||
298
+ session.agent_session_token === undefined ||
299
+ session.account_id === undefined) {
300
+ return null;
301
+ }
302
+ const providers = loggedInProviders();
303
+ if (providers.length === 0)
304
+ return null;
305
+ return { providers };
306
+ }
307
+ catch {
308
+ return null;
309
+ }
310
+ }
311
+ // Writes the host agent's MCP config — extracted so both the normal
312
+ // install path and the preflight-already-provisioned shortcut share
313
+ // one implementation.
314
+ async function writeAgentConfig(target, agent, args) {
315
+ // Tokens themselves are NOT in the env — the MCP server reads them
316
+ // from session storage (keychain / file), which keeps them out of
317
+ // any child-process listing or shell history.
318
+ const launch = resolveServerLaunch();
319
+ const env = {
320
+ TRUSTY_SQUIRE_AGENT_IDENTITY: target,
321
+ UNIVERSAL_BOT_PREFER_CHEAP: "true",
322
+ };
323
+ if (args.proxyUrl !== undefined) {
324
+ env.UNIVERSAL_BOT_PROXY_URL = args.proxyUrl;
325
+ }
326
+ await agent.writeConfig({
327
+ command: launch.command,
328
+ args: launch.args,
329
+ env,
330
+ });
331
+ ui.success(`Wrote ${agent.display_name} MCP config at ${ui.code(agent.config_path())}`);
332
+ if (args.proxyUrl !== undefined) {
333
+ ui.hint(` Residential proxy baked in: ${args.proxyUrl}`);
334
+ }
335
+ }
225
336
  async function runInstallClaim(apiBase, target, baseSession, skipBrowser) {
226
337
  console.warn(`Connecting this machine to your account…`);
227
338
  const initiate = await installInitiate(apiBase, target, baseSession.machine_token ?? null);
@@ -276,10 +387,14 @@ async function runInstallClaim(apiBase, target, baseSession, skipBrowser) {
276
387
  }
277
388
  // Default: run the confirm INSIDE the bot's Chrome. The user signs
278
389
  // in there once; that sign-in does both the trustysquire claim AND
279
- // the bot's provider-session seeding in one event.
390
+ // the bot's provider-session seeding in one event. apiBaseUrl
391
+ // threads through to the headless rig so it can shorten the
392
+ // cloudflared tunnel URL to `trustysquire.ai/g/<slug>` before
393
+ // printing it in the banner (G15).
280
394
  const result = await openInstallConfirmInBotChrome({
281
395
  confirmUrl: initiate.confirm_url,
282
396
  pollUntilClaimed: pollOnce,
397
+ apiBaseUrl: apiBase,
283
398
  });
284
399
  if (result.status !== "claimed" || state.value === null) {
285
400
  return null;
@@ -328,7 +443,7 @@ async function login(args) {
328
443
  const provider = args.providerArg === "github" ? "github" : "google";
329
444
  const label = provider === "github" ? "GitHub" : "Google";
330
445
  console.warn(`Establishing a ${label} session for the bot…`);
331
- const result = await ensureOAuthSession({ provider });
446
+ const result = await ensureOAuthSession({ provider, apiBaseUrl: args.apiBase });
332
447
  switch (result.status) {
333
448
  case "already_valid":
334
449
  console.warn(`✓ Already logged in — the bot's Chrome profile has a valid ${label} session.`);
@@ -348,7 +463,7 @@ function printHelp() {
348
463
  console.warn(`mcp — install Trusty Squire into a coding agent`);
349
464
  console.warn(``);
350
465
  console.warn(`Commands:`);
351
- console.warn(` install [--target=<agent>] [--provider=google|github|both] [--skip-login] [--proxy-url=<url>]`);
466
+ console.warn(` install [--target=<agent>] [--provider=google|github|both] [--skip-login] [--proxy-url=<url>] [--force-relogin]`);
352
467
  console.warn(` login [--provider=google|github] re-run the one-time OAuth sign-in`);
353
468
  console.warn(` logout`);
354
469
  console.warn(``);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"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"}